aboutsummaryrefslogtreecommitdiff
path: root/mkclick.pl
blob: d52056c99f66d364733f1f8af18a503d70b4e020 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
#!/usr/bin/perl

# mkclick.pl, click track generator.
# No external modules, binaries, or data files, we just need perl 5.x.

use bytes;
use warnings;

# These 3 are hard-coded constants (could be changed if you really want to)
$samprate = 48000;
$defaultduration = 600;
$defaultfile = "klik.wav";

$defaultmin = $defaultduration / 60;

$self = $0;
$self =~ s,.*/,,;

# this script contains the click sound as a hexdump of a 16-bit mono 48k wav,
# so we don't depend on any external files.
while(<DATA>) {
	chomp;
	$click .= pack("H*", $_);
}

# number of samples (NOT bytes!) in the click sound. If the tempo is above ~305,
# this gets reassigned to whatever size we trim the click sound to.
$clicksamp = length($click) / 2;

sub usage {
	warn $self . ": " . $_[0] . "\n\n" if $_[0];
	warn <<EOF;
$self, 20131119 B. Watson <urchlay\@slackware.uk>

Generates a click track of a given tempo and duration.
Licensed under the WTFPL.

Usage: $self [tempo] <[duration]>

tempo is in beats per minute (floating point).

duration is seconds, default $defaultduration (aka $defaultmin minutes).

Output is written to $defaultfile if standard output is a tty, or
to standard output if it's not a tty (e.g. if it's redirected or piped).

Output is a mono 48k signed 16-bit .wav file, ready to be imported into
ardour (for example). Note to ardour 2.x users: don't name a track "click"
or you won't be able to load your session next time you start ardour!

There is no time signature because there are no accents. The output is just
a series of identical clicks, which you can think of as 3/4, 4/4, or
whatever your song is in.

The click sound came from the "GMKit" drum sample set distributed with
the Hydrogen drum machine. If you've never used Hydrogen, check it out at
http://www.hydrogen-music.org
EOF
	exit 1;
}

my ($bpm, $duration, $timesig) = @ARGV;
usage() unless $bpm && ($bpm =~ /^[.\d]+$/);
$duration = $defaultduration unless $duration;

# $period is in samples, not bytes
$period = $samprate * 60 / $bpm;

# if the tempo is so fast that each beat is shorter than the length of the
# click sound, we cut off the end of the click sound. This works OK for any
# sane tempo someone might actually be able to play at.
if($period < $clicksamp) {
	$click = substr($click, 0, $period);
	$clicksamp = $period / 2;
}

if(-t STDOUT) {
	$outfile = $defaultfile;
	warn "$self: writing click track to $defaultfile\n";
} else {
	warn "$self: writing click track to standard output\n";
}

$limit = $duration * $samprate;

$next = $period;
$pos = 0;
$outsamp = 0;

# An earlier version of this script used to open a pipe to sox and write
# raw samples to it. Now the output gets built up in a string in memory,
# which means we don't depend on sox being present, plus it turns out to
# be faster (unless you run out of memory, but 10 minutes of audio is less
# than 60 megabytes, shouldn't be a problem for anyone able to run perl 5.x).
$output = "";

# The loop below could probably be more elegant, but it works as is.
# No interpolation is done, the clicks start on an even sample boundary,
# so we keep track of where we are and where we should be in the output
# stream, to minimize jitter. Result is that every click is either on time
# or less than 1/48000 sec early (a robot drummer might notice that
# amount of jitter but no human will).
# The results were tested by importing into ardour and listening to the
# imported audio mixed with ardour's built-in click (well, beep) track.
while($next <= $limit) {
	my $silence = (int($next) - int($pos)) - $clicksamp;
	$output .= $click;
	$outsamp += $clicksamp;
	$output .= +(chr(0).chr(0)) x $silence;
	$outsamp += $silence;
	$pos = $next;
	$next += $period;
}

if($outfile) {
	open OUT, ">$outfile" or die "$self: can't create $outfile: $@\n";
	select(OUT);
}

# print RIFF header with correct length, followed by the output samples.
# If you really want to know how the fmt chunk is defined, go look up
# the wav file spec on wikipedia or something.
print "RIFF" .
	pack("V*", length($output) + 0x24) .   # riff data length
	"WAVE" .                               # yes, it's a wav file
	"fmt " .                               # format chunk follows:
	pack("H*", "100000000100010080bb00000077010002001000") . # means '48k mono signed 16-bit', honest
	"data" .                               # data chunk contains the samples...
	pack("V*", length($output)) .          # ...and is this long.
	$output;                               # rest of the file is the actual samples

exit 0;

# The data after __END__ came from:
# flac --decode /usr/share/hydrogen/data/drumkits/GMkit/stick_Woody.flac -c > click.wav
# sox click.wav -r 48000 click.raw tempo 1.5
# perl -Mbytes -e 'undef $/; $a=<>; $b=unpack("H*", $a); $b=~s,(.{72}),\1\n,g; print $b' < click.raw

# Without the 'tempo 1.5', max bpm would be limited to 205. With it, max bpm
# is around 300, and the sped-up click samples still sound good to me (and if
# the max is exceeded, chopping off the end of the click *still* sounds OK).

__END__
2700f6ffc4ffe40060ff0ef989f3b2f9180d7b1b5314ebfa53db53c106bf9addd6032017
4418e312e31337213a37c44243302dffbdc33a9ebaac03f1812bb5311e1d5307ebf184d9
49d95ff5bf0741ed15b7f3a04eb88fda3edec9db70f371f344d251cdcededaeca5fbf0f1
d9e720e85cf071f13accfcc705dccfeb071d0541723e852b80034fe0d3d6ebf3282c3128
e7ff9dded4e0f9fac5f11af53cbf97c348242cde66bc8d09741bb2394526110a5d16ba23
f33f6e161fe7208e389ec630e20435f83619840e6e119b0963228c207b360518ac3ca83b
2ee1dc137ee9091c7b5e17287d3c67212d1db10f28087b194126314f635086481e34e135
c23af62e5a1eb3fbcbe1cace78e37e092c36a2590f5e944d2d26a50538f628ffb10aa00b
9efaccded3e4e709d83bd45c555e83523b430b33a230ea3f23475f41c33710328f377042
8f47dc3bad238d0afbee46d4f2c7e2cbabcac4be25bd91c3f1cd74e0f2f0c3f507eeebe9
98f52e075b108d0b9cfdcbeb56dd7dde8beda0f82ef81cf681f971fa47f4e1f14bfacf0a
541e8e298a21410720e17bb8ffa145ab3dc431da5ce948ef4fef27ee83f3d106ab1bd225
7521e90ff3fd51f3c6f06cf91e0deb1fb424bf1a7a090df906ebf0e25de68af1df000a12
cc1dd81dd80efef387dc96d87aeae20402199f204e1b9810700643fe3bfafcf85efb0dfe
76f869ebafe0d1deabe1c1e51de94ce898e8cbed71f54500e60d601b1425372c543ade4d
94577e4f2237eb19bb017becd5de02dc5edcf5d729cd49c827cfa1dc30ebebf161f02eea
dde043d626cb3ac455c5bccef4db4fe514e9fbe6c3dee7d4c8ce6dcfaed6ffdf75e506e9
8deff1f7a3fc41fcb5fdcb03ed0ee91b5027db32ac383d379b2fb32291179d0db8057c02
84fd05f0e1d7d4bf81b919c700daebe198de08d3debfa8b4c5bab2cf32e6a1ebc0e4a4e0
dde021e064e4b3f183fe0607310e3c17cd1fc2207d1bea156b10ed0a0805c9ff08004406
300d61118415ef1b1f270130fd2d721fd10087e025cbcdc091bdf5bb1ac2a7ca5cd288dc
f8e782f38af4dced4fe9cde8e7ec88f473ff800be6149c16011443147017f419ed152b0b
ebfffcf933fcde029b0bc41ca52f783688359733e8338b377b382b327027661c2d122c0d
010fb50f230a500076f4bfe9cedfbcd4fecb40c6efc18ac4eece80d58cd619d6a7d634dc
17e40ff23e090224bd3c5852795f6c5d7754f2424f29a8139b0000f100ebe1ee81f624fd
5d023f072a0c0a0ee309e8fcefebc7e0c4e137ef85ffb80dbe1b0123461cf30937f585e7
2ee04fd945d087c627bf07ba92b971c18dcfe8ddcfe89eef1df356f79c015a128720f626
dd25461c9010c00833074d0cdb12eb156e13c40eac0d4e112c18b31e591f6417d508def9
c0f048eb77e6c9e73cef61f68ffac2fad4f843f8c2fca7068011ef17d812270324ee83d9
fdcfd7d24ed9efdd83e25ae8f4f13c036a19732de336793bd343234a874a234303356e23
42102701fefb06005e074c0d8610ea13c313620c0507cc0952124e1af81ace13bd0862fd
93f67ff7e9fa9bfa56f685f14df242fb57072e12d4179012020501f96ef270ed7ee842e7
92ebf5f2f5fa5202ec07de0aa50dc512d816de188d1af01c4c1fc31e9a1bfe17d5168315
3611ff0879f981e566d295c72fc6f0c556c63acc35d9e4e7f0f3aafc3afee2f942f6b0f5
47f774fb9302240af80c5009ab018df8fef2f6f2faf3cff35bf1ddeb9aea85f158fab503
8e0ea4195d241d2b7629a61c620a63fd98faad026c0d010f11040ff23fe102d665d6e2e3
b6f3ebfa3bf9a4f953fddffa51f635f80601720bb90eff0b770dbd138215a00f3b094009
eb0bbb0a770a340b6805befbb4f2bfea7ae6a9e731ea3be9ebe7bdecebf553fff20a2c17
901e3b20a422b4259520a516560f880c2b0c360b950deb10860dd807cd04d30402098d07
dbf8cae6a9de34e12be860f40b02bc077505f5037007940da214a2198e1c2b1cb315f908
43fbacf535f7e8f949f7e9ee00e4acda6ddb6ce578f56b0243088713a41fe020a21b9d17
87140f0dc20151f958f82cfea104df08630a24003ee97cd30fcaffc9fccbbcd061da72ec
6c035d1869267b2adb2b5828601bfa0c5007400b1e0e7f0fcd0fbc0960024efdf5f50aec
c2e1ebd51dd262dccdea37fb140c2e14bd1037063bfc0ef9fbfcc804b90c470f330b1c0a
2111791a95206f21c121e01d1510950328fca1f59fee4be7bfe5c2ebccf85c0e91247b2f
0c2fb228b01e6613ba0c660dbf0f971399132608e2f9f1f0d1ed43ed3cee68ecd6e5d6df
90d9a0d8f8ddefe00ee163e317ec29fa4208e40f7714de188f21833184382f3701398339
5933112aa122ab17050b3a049dff0ff981f56df7e1f304e3dbce22c8c6cf1adde7e77ce8
19e85aef10f7b8faf3fb4000ab07470c211172190b1d911278fd8bea25e353e944f311fa
e400a607d10de60c0703f9fa44f820f983fd6106970ebf114f10b5028cefcae759e9e9ed
49f23df232ed3fe8ebe93beedfeec3e956df9ad71bd44bd4cbd97ddcefddece9eeffb212
cf19591bb71b4816680bf102d6fdb2f75bf236f05af001f5e30131103d137b0b7605c506
ea0404f96aee0becb3ec57ee9bef95eed9ec3df1b5fcbb0368038cfcbbf21ff091f2d0f9
5403bc0080f01edff5d786d87adc0de64cf276002710d51aea1de41d381e0f1f031a0d0d
c6079607b7fab8eb06eb5ff249f80eff8f07690dab10f9126f109c098c0682051d0289ff
6e018d053e034cf813ebeee4f6ea0bf556fbadff00038906b207a4fc6bedeeeab5f2e1fb
a7010e06cd11001ff81c5f0e980064f652f196f1fef402fd4f074a11601ca62b8737cd30
b51f85126a08a4fdbdf064e7c3e342e410eacdf409014709e00e3513ab12fb09c8fd22fa
04fe15018902310849109a0cfafd3bf5ebfabd05eb0721041003670527075903f6fdb6fc
dbf9b8f417f4a8fad70273058006df0ada1545238129952867208a133a036cf35bee19f0
f5f24ff8a4fe2002ad010500f8ff0701bbfde6f13fe47fdf17e442edb8f6f801560f6017
5c1883156014d4109e07a1ffc3f8def401f0c5e82ae65ae414e245e580f28203ab0be50b
6a10d61618122b073102a307a40d960500f380e755edeefa8b0275fc06f14ce9e1e195e2
b2eec1fd0605a6fd60efa3eb1afa280ef71d7b23801d3111c5040205db109c1cd61e2417
170bc0fea7f95df7a4ef2ee5a3e1c0eadaf79100a50325ff66f4afef0af577fbf800f501
acfa90f18eee1af45bfdcb030508bc11861e02244023881d2315bd1143131a15b112ee12
ba184b16740a1dfef0f9e2ff020344fda3f781f52cf0f8e8bbead8f7ff03240473f8fce9
07e4d5e5aeeb74f71405cc0a150510fe3f00ef08d80d5e0bac07b006d6072808d9045700
dbfce7fb04017c0ad6109a0eb006c6027703c8fd00f2f8ea5dea3eecd4edfded3eebd6ea
a6f632045b07dd05aa058707560a221080121e0768f8a8f58afcfa03ae08530c04114111
e5096d0334087b17df1f0918290bf3ffe5f18be7f3e8b1ef73f8b0ffd201e9057c0e8211
810c770a6e0b100aa90804063202b1fd30f318eaddebfdef69ee8ce88aeb6dfcb80b530e
fc045ffcfafac1fb1d01a009b00e3011e113de15ef158f13dd107611c81094089bf886e6
c5e1beed25fbd9ff98f660e6bbdebcdf3fe4cfea0af1d3f732002f06e605720038fecb05
f613a523502a4c1f550d5b03ba033d095d0b6c0a700beb07a200c8fee0ff61f9feefe6f2
b2f96ff522e967e4b2f18f042c0d030bf204adfe65fce9feba00aa03400322f513e61fe9
8ff98f065a08d0094c1116114a088d038702bbfc46f44ef4fafe0a0a9a0c7e05bbf7afec
afe740ea26f82907de0f960ea5048efcadf85af6c6f281f5c2004b067c0534087c0ec510
1a0cf60091f531f457fb1904310a820d150d4404f2f8c0f6bffe3207c306310046fc4afb
9ffa52fdc9055e0f5b14e6161714b40701ffdc00a3034d04e401f9fae5f646f870f921f6
2cee32e99eed96f78e010a0bd41297110906fffe6e07ba13a9134e0b4a085d0ac1114c1e
2a22b81ce5132b0ad004ca0069fc52f636ee8ee635e163e3e4e5eae48fed95ff6c0ffb18
0f171309eafe8cfdf1faa3f50cee69eab1f4e60160fef6ec03e43ce952f3ff004e0cb511
1f136e0efd079c050f051503b805e70daa122012ff0e1d087cff2bfb74f42dea66e95bf1
fbf787faabf9f5f42df2eef1e7eeaeeaa1e7f3e73dee4cfbd80975188923ec2345207820
0b27ad2bfa21d10617e739d878dcb3e852f218f881f72aeeebe94df13300c10fc318fc1a
7419f9150e0c0ef9c8ea0bef9401ef15491d3f168e0fd21044140f12e30c7d0610fb62ef
efee16f852fad7f2adedfbefd8f974083e11af10040e4d0e190f330e220d6a0696fa41f1
0aeed7f1b2f8a0fd63fc9df979f939fadafcab01ff076e0b460d2411fd1305102e04d9fc
ad00c7082f0ced07bf0031fd34007204c8017cf789f126f6c7fb94fb4af72ff2c2ef47f5
a2fc06fd57fb04fc05fd8cfc50fba2f7abf469fc450d721a9c19940c66ff26f958f69bf2
8ced99ec54f2e0fba909bf0fbd062cff8802e00d2b167d10d60580fe12f415ea3eeb4bf2
67f5d7f5f7f777fa2efc6503a00e6310b8048ef6cbef36f061f69cff51097f100e0b2dfc
14f147f154fc6604ed04aa051b079e04c8fec2fdbc02a4067e065704730107fed6fa04f7
d5f6defdcc058b080b05dbff60fe14ff90fe36fdaefedd03cb06f302d3fc98fe3207660a
26081e0465010d05d00424feecfbd701c40e721c1325e521ca15680e970c2a0b7009c406
4a0105fcb3f8d5f5d4f86d007c0298fddcf8e2f9c3ff3d037202090144002202ec03c706
0f0c450ca0077e0365036f0434037803b404c9026efd44f9a5f8c1fbbd026909420e7511
1d11ef0c4107db018afa75f22cef56f3fcfa70012b070e079cfd51f27be9ece67aeba4f0
98f2edef32ed49f037f82fff34ffc4fa4bf5f8efcded4af189fbdb059b0af80b820b380a
0c0804029bf67aed10f0fbfba9066e0c7112b113260bdd02c7fe7efa18f893f81df5bbee
9fed6af2cef8dcfd43ff45fad2f278ee8bf011f99ffe72fe2e007c07650bc806e6023002
9c02a7016000e5000efd24f7baf5e5f95400d204c307ef0c1d141914ec0e460e76135215
010b2a039807660ffd141d13f506a2f682ebe7e4bee1cbe2d1e2c0e3e1e601eb0df222fb
5706d512a9187f114a0641017a00f7fefffd3e007704810d4f171c1d6720ce1a150fb207
120978112114ab0831f983f293f1e7ed27ec23f44efd6afdb4f66bef1eef4ff34af3dff0
85f12bf401f8dffc00fcd6f553f22ff520fc98fdf1f757f6e0fc5f07a311ca13a10e5608
9402ce020807490af70b7609c8049101f4ff88008e058d0a0808e90093f806ef90e91ce9
3ae901ea6dee32f73aff0002ac02270693083d01b7f450f241fee50c3716731949100bfd
50f1a3f346fb2803be0823070d0299029b052d040d04f40aeb12b6103603cbf840f83dfa
13fb74ffa9083a0c7d04c2f59be790e1e8e08ce460ef00fcc3022602dc008c06e0114b17
eb141d17311c7b160607cdfb77fe9a07e30551faa8f38ff650fb8ffcddfe0d0413096f07
4901ae00f5012901d7feb1fc3d016409350c960af10b050ba5ffa9f585f304f45af96503
ef0bd10bb0031cf987f133f3b3f90ffefefd97fd6c021608a80d2815b31cbd1fba1a1f10
5301a2f4aaf34afc410412051100abf566e9fbe377e530ed72f723faa4f72ff77af87ef7
abf3f6f285f8c1fd0fff2803a609a10cf8078cfecdfa7afb68fc29fdd1f9c5f57bf667f8
27f9c3f7a4f456f797feb603c205d0073e0e04144210580503002102a6045c04c100b4fe
d9fcb6f8dcf6c9f82efc5b015f08e3093e03cefa01f97eff3c08830bb20350f822f329f4
9ef6d1f9f5feaafff9fbdafa88fc6afb92f7b2f7f9fb6a04d90f1c14250e400482fc08fa
73fca8010304b00334036d02ea04f8065f07d9049cfb75f8d8fd77febffa2ffa86fd8103
490a5d0c6c053cfb00f6eef3bcf6ce00bd09d709ec01b1fafbf90f012f0c6211450f6b0d
dc0c1e0a9306ee04a905ac04b503e404ef017dfd71f9fff405f3fff4b0faf4fef4026507
bf05a5fc4bf28fea62e53bebe7f97404e007ed028cfb52fa6cfa27f463eb93e91dedcdec
81eceff31dfc8b019006ec0b9212e2166b186316fe10ab0bbd07a009730dec0d250e850b
5205cffef9f647f1faf244f9c7fb22fba0fee500f1fdf1f81ff544f382ecb0e5bee592e9
02f112f849f491e8dbeb81ff3f0fae12c50c6e0a290f49123e11330d7305a0fc33f999fc
1c079315831cc8122c0275fba2fd6a03a30bc5131816b110aa0bf608aa032ffc18f833f8
94f713f5cef492f852fc15ff0efef5f869f512f035ece7f016f6b9f610fb68044b07ff04
13070608c1052f097c0f15134e1559123509d3fe09f977fb8000b802710242ffb2f941f7
3afa0efdeffbf6f933fc86ff21ffb7fc3afc650066056005f6fec4f678f3aaf628f8d2f2
49efb9f05df514fab7faecf932fae6fe460459038101ff02dd0283fe98fb5dffd506db0a
d80b190b660460fb0ff77ff9a7fff6040b083909fd0bd30d3c05bbf5abee19f58afcd0f9
e0f12aee4df243ff980d240e9902a4fa4ffa40ffbf060e0b740aff063a03ad031d098c0b
8c0646fff7fbe8fe01059a09ee084502a0fbf9f786f40cf3c5f41ef91601fc08f60b7f07
cbfc57f480f402f8abf91efc59ff4d00acff3bfe9bf92ef71cfb9bfe0103030a8d0f1613
f81307149d15751784176f126e05a3f8eaf40ff85afa8bf54af0edf025f401f7b8f906fe
ee01fe039f026dfdabf546eef9ed74f390f7eaf688f647fc30040e09480d2f10730a3c02
aaffcffdeef8c4f3daf4fafa87fc35fa30fdf5045f0afb0c4c1161134e0e75070f03d004
80092409990455fc4bf270ee4ef5e7ff8f06030479f9adf69ffc8cfffffdf3fa74f962fb
dcffc201fffd1df97cf9f6fda602f505b40595073b0f2b13180d1401a1f67df318f774f9
b6f523f3b9f771fdddff150322099b0be608c40723076a04480431064604cd0292056304
e9fd6df817f814fcbcfff7035a08aa07a203180078fbb5f7d0f9a5013d087c053dfd84f7
2af677f96efe3205f70d5110e40808feecf6f9f673fc79013a01d5fc5bf7fbf13aef92f3
60fd4f064a0c7c0e260e060c87075b04f7ffe3f843f7a2fc28034606510665045e00d3fc
7df9fdf57ef255ed12ea29ec7ff45500eb075d0aa60bb10923038afd3efc50fdeefe6100
f601a4039602b5fd6bfb65feb1feddfa10fb08ffb4ffd5fe24013f066e0a540677fd1ffb
27fd08007304c005db01a4fbaaf5f5f2e7f611feae0156028a048308e6095f0710029ffc
4cfbcefb81fc4400a6047107c508f0047b00ab03e307aa0440fe03fe7b036706b4035bff
31fef7fddafaa5f788fba003a5052a038eff3afbfff858fab7fdd90034057d0634fe22f2
78ee2ef708069612b313d1096200dcfe1604b107150477fbc9f7b0ff0c09c70a4707c804
ad035902f803dc02a1fcf5f78ef602f60ef5a3fa4b04cd05a2017cff04fe2ffbc9f880f7
78faffff57016dffacfd09fe96fe26fd03fcd9fc35ffe100fa011304ab051805bd036d02
2c0013fdd3fa3ffcbb00ad046604f3fec6fa81fd2b06be0b3505fcfa59f813fa8ffc8701
d705f0032ffe12fb29fa02f8bdf719febb07fb0ae505e7ff6effe30409092a0714020cfe
8efce6fb2afcf1fde600a9036c04310247fe02fe9d012803b1ffb3faddf836f752f4adf7
b002d50cfb0d7e083c07ca09a707440009fa62f847f739f893fe190688096f0632ff4ef9
0df80dfa78fd0401530355021effe8fed7fde8fae4feb6060e095e06000233fe7bfe6e03
e106f80190fbfdfde406df0ee10ff509050276fd3cfe80ff70fd81fbc3fd6002d106f206
380056f741f245f48cfcfe065b0c6408b6fee6f669f6cffbc402a20669057702f0016e03
0704720156fcf6f999fc6400060020fd8bfc98fcbafb63fa82f868f776fa440095028102
3c050a0ac20bb9074c01360035051909cb084605a6012401f4030c05d30163fd82f877f5
93f77fffc505880283fb47f730f783f849f709f84afed402ee01d9fd6bf86ef919ff65fd
8ef803fb9703090a0a09a503dbff66feedfb33f98bf97afd72037b09d70d850d3208a203
4e026501e800d602ee053b0498fd4cfa32fb35fd430077018afe8ef82df509f99201010c
82133311ae063bfb7df4b1f5a6fa00fda1ff5d03a1042205a00411016afa54f41df49cf7
78fd0a05340742022efddafc1dfffa00dcff97fc0cfd85ff9dff33fe4afb46f7a0f6bffd
c208200ebd08f8fd2cf904fd8300b9fe30fdf9fd3bfcbdf8f8f8bcfa71fbc6ffb206460c
600e7a0ada02dcfc18ffc30690077301c8fcb9fa96f9b1f8f1f6d9f6d5f946fcdafc72fc
defc32ff6200e2ff6803380b530ddb0580fdbffb2ffeedfe63fd3cfc10fea603eb082908
4101defd3b028f055606af067f03a9fe7afc56fe6b029206c5088508a408bf082206f301
220040fe4bf85af4c0f590f689f786fee90548065003160174ffc8fdfcfb86fc9d003005
9908d60a2609030326ff13026905e80222fe1dfbb5f9defad9fbedf805f69ff82afe26fe
48fa5bfae5fc81fd48fcadfc15fe9afd4efd4ffe4901ac05d505de031f040c0384011f01
d601c0033704fe03070248fe0cfe5001cb02770042fd55fc79fe3e001101e40108fe35f6
59f08bf38400fe0b890ca80375fdb6fd7afdc6fb32f94ef6d2f245f01cf500fe4301c600
6d0191034f08dc0b640afa064c06a408c70a760ce20b52072d0139fcc1fa74fccbfe1d00
a001d700c8fb12f886f8defbeffe0aff7afd91fcdbfbf2fabcfd0903f706cc08e807d006
1606db043602b4fdc2fb53fc49fcf8fc3cfdfafa4cfa1efea9036f0737078e05bf051d07
88080f09990835081707610379ffc9fcbef9adf8a7fad2fd86010b05f005e9019cfbc6f6
def51ffbac02f00668075104a0002f0119044f04a601e8fde8f899f45ef540fa83fd72fe
ccffa7001a01ce023604ed0379035b0381011000b2007fffe5ff0807540d490943ffb0f9
84f9bcfb0eff92029805c50421ffd2f920f99ffbd4fc1cfcbdfb29fa89f8a3fb0a00d8fe
8cfa5cfa24ff8707400e870b8b0378fd66f9b4f85afd1402960034fa3ff73afc6b01f102
da022e018dff7cfd7bfb0dfc8bff5c03b5045004c60464075d087206a6043304bd04a302
80fec4fd0a02aa06e30410fe2efbedfe19020d029101beff0efcf3f90afdc1015c0091fb
88fb46fec4002b02f5fe65fa06f9cdfadbfe6e0333060c04a1fe2cfb6dfbfafbf6f8bdf7
b6fce602d206aa07ba0699035bfd0afa3cfbf6fdea0043020901c9fd96fc60fed4004701
0dfe3cfc26fe0102f2061b0baa0bff06d701900146043f05ff0381011ffd97f829f5faf3
b0f7defd4b0033fea2fa5df708f83cfd6a01560010fd1afdebfd2afc21f968f7c1f9ccfd
73012903cfff59fb4cf923f9c0fda0050f09dc061904f0022c036003b002760353043802
61ff63fedbfefbffc2019a010fff35fea5ffb2ffdcfac8f698f853fb00fdeffd42fda1fa
05f8b7f7e8f80ffb7afc4bfcf4fab3fa49fc67fe1a038f063c059d035403ee0264038e04
0c03cf0079004301c604a808d8094d09d2075d07b50706069501fcfb8ff8faf89dfb38fd
26fdcffd0dff75005a027a03b0012cfd37fa63fa9dfca4ff78ffa9fb46f912fa6afb38fd
4401ef05e507e706e3042502bcfe27fc6afb2afc3efd79feb8ff86fe91fb70fb22fe7300
3d0212040a069b08cd086b05c70371059006f905f005130726063d007ff92af8c5f998fa
bdfa43fabff935fa28fcf9fb63f87bf6fff839fef9027805ab06fc08eb0a210a3a08b805
1b0242fe7cfc8bfdd2fef2fdb6fb45f9f9f7d0fab5ff560203029d0136039703a3018cff
70feccfd50fdc6fdb7fd90fc50fd54016305e6063d06f803a701e3ff5ffdaefb6efcb8fd
8ffe5ffe35fddefc74fe9201700372034c040406290639049e003efb4ef84bfba9ff9cff
4ffc79fad6fa0cfde30064037102620060019703970359043906720596039602a8ffa3fb
56fa94fa5dfb15fe1101af02170471054705c60264ff5bfd76fc15fce9fb4ffbb4fb6ffd
e9fd11fda0fd48ff84001f01fb002e001bfe71fc39fd03ff7f00f601f303e1055f062404
2e018c00c5006000f4ff98ff0bff40ff90004d01f601bf0287026601bfffcbfefffe8cff
fafe4afdcefc1afd30fdbffd10ffb8005a00befdc4fb8afc3d002203b702f3005bfe52fb
4dfbe3fed701b1020b03af0270013d00070097007f01ef02f6034e049f0326020b01aeff
ccfe22ff66ff0dff13fecdfc5afc9ffc4dfcf8fbfcfb43fb62fadcfa85fc22fe92ffd400
65015b01eb01e4022703310299ff1afddffb43fc28fed4fff900aa00f5fe86feb6ffbc00
eb0060002e00c601f9020702e60012017d0106011d016201970028ff27fda4fb25fbb0fb
68fd47ff92003201070185fff7fd07ff210279044d047b02bc001dff5dfeb9ffdc01a802
e701880079ff18ff68ff3b00c30067014e02ab02ce024b024101e300ab00beffa8fe38fe
05ff0e01fc026403fd01b6ff10feacfd26fe37ff55009900b1fff7fd7afc1bfcb0fc1efd
cafcfcfc43ff38023a03d502e9016a0042ff75ffe600d1012701baff19ff2bffe9fe94fe
6bfeccfe97ff8c004a01e50021004b00be00ee00a601f9014d016900e4fe4dfd50fc38fc
b5fc58fc91fb1afb1ffb7bfbc3fb5cfcddfc0dfd90fd66fe50ff170007019e016b010301
4500a1ff77ffacff1d018f03de04a003100151ff73ffa2007c013b0282026a01acff91fe
06ff6d006101a4016d011a01d3002900ddfe7afdd3fc1efd30fe1bfff3fee9fd93fcc3fb
cbfb1afcb4fc6bfe63006901420204035003d402a4011d018801390254025901fbff70ff
a200f202c60486056b054c048302e200a8ff03fffafe51ffa3ffcbffb4ff94ff20007300
a4ff74fec7fd4ffeb1fec2fd43fd67fd1cfd66fc67fba4fa48faa5faf0fb5bfd3afebdfe
f1fe41fe2ffd60fcd5fbeafbbffcd9fe9a0124036503ae036604b6045f04bd032003af02
1e02a60178014a01a70060ff10fe08fd52fc1ffcc0fcfbfd9afe3bfeabfd79fd95fdc0fd
f9fd34fe7efedefe01ffccfe89fe75fe01ff9c006b02d502d501cbff7afd05fc8cfbf6fb
0afdbcfe4c003e0102029202cd02e20239038103a3031e034c021a020302ab0212039802
12022d016d00ffffe5ffcbffffff8f01ad033505660515045502f7000500f2ffaeff7ffe
0afe67fe9ffe85fe72fec9fecffef2fd10fdb4fcd2fc23fd48fdb0fd51fe09ff9aff9fff
9bff04008f00c8001a015001ad01a3025b03380499041b047a034002220176004a009800
08010d025f0219024e021b025b011c00fffe3bfe5ffd79fc92fbbbfbc8fcc6fd62fe45fe
aefd91fcacfb1ffb5cfabffa57fc0ffe84ffecff6effc4fe53fedefe5400050274030604
0104bb03d402f301a1013a0180004400ba00eb00c300e9001e018f00b4ff30ffcbfe89fe
62fe04fe8cfd5afdf8fcd7fc79fda9fd81fda4fd08fef5fef0ff4d006b006d00e7ffb8fe
a8fd65fdc9fdf3fe47005601b901a20006ffe6fd4cfe3200fd01c0027802e80110016700
40005900210105026c02b701070018ff16ff61ff6e00ba01b401480015ffacfe8efe00ff
c4ff6700170181017101f600cdff43fe3cfd5efd85fe8aff97ff2fffdbfe1afebffd33ff
fa009b010f01ccff31ffddff43019802f402510216026d02dd0258030f0317029b0065ff
31ff01ffd3fe46ff64008c018401d4ff47fe42fea4fefbfedefe1cfebcfd82fdc9fdb6fe
08ffb7fe17fec4fd58fe25ffe2fed2fd95fd3dfeacff5b0114021d02fa01eb01ad016b01
9201bc01ad01f800080059ff39ffc4ffcbff4bff40ff65ff8cff9fff17ffc4fe09ffc2fe
0cfed8fda9fe1100090191019e01da00acffa3fe01fea4fd4cfdbafc41fc92fc22fd05fe
92ffec00b90174019f0037003500c9003801300140014401d5003100b3ff82ffe7ffbd00
c4011a027f011b011201ae008dff21fefffc6ffc5bfc6efcbffc5ffdd9fe4d01ed020b03
7a023501eaff34ff31ff1900c400e6001a014c0194017901680012ff83fef8fe32006301
88015c010302980233020b01b0ff11ff54ffd8fffeff72ff99fee8fd4afd05fd46fdd2fd
9bfec2fedcfdb2fc3ffcd0fccefdb8fe35ff53ff42ffbaff1c0178026603a1036603f402
110254014c01d201bd01460041fe1cfd8dfdd0fe3d0073019d0127011901130110014d01
2a01ab0099ff4cfe85fdcafc89fcf6fcf9fd28ff8fff04006600070002ff75fd79fc7afc
0efdc3fd80fe61ff90006d0280048705dc0460030a020a012b008affe8ffaf00eb00bc00
68002e00deff52ff08ff6aff06009b006c013c028002c70176005cff76feddfd22fe96fe
7efe47fe00fe7dfdc5fc7ffcd4fceefcc2fc60fc63fc7cfd15ff570097008e00ed002a01
67010e026b0209023e01c6ff6bfe2cfeeafe010059006500ca00410193015401c6003400
e2ffb1ff55ff8bff3100a90002013d01070149004dffe6feeaff1d01580109017d00eaff
36ff8afe3dfe8cfe79ff8100f600c200e50033010101430053ffd0fe90fedcfe29ff2dff
81ff97ffe2ffbf0056010201c6ff4afe83fd09fe46ff6700be00f1007501a601be015001
ab008900d600c4014602f1011501dfff50ff78ffc9ff0c002a00feff9fffaaff96ff96fe
7efdf5fcfcfca1fd1dfe09fec4fdc3fd75fe16ff37ff0dff4bfe4ffd00fd7ffd40fe17ff
bcffe9ff2a00ca00730101029702900228011fffdffd02fe03ff5800b901a102f802e302
34022a0175003e001a00dcffb3ffcaff22009d00db00c400a70031005affebfe04ff44ff
69ff8bffb4ffb7fff5fffcfffafef2fdd8fd42fe9cfe97fe89fec8fe6bff6e003601f600
f4ff71ff8aff0b001001c001c901000257027a02e10294034c0458044d03d901190002fe
effb5ffa0efafffa79fc89fdbbfd64fd44fd0dfe50ff7d0056018d012e012c0059ffb2ff
92003a012c01830089ff25fed7fc93fcb1fd2bff2e00690099ffadfe5ffeccfef8ff5001
2e0225029d017101b8017c0246035903de0239023802f402b903be037702e000aaff0bff
b4febcfda5fc24fc45fcb6fce9fca7fc5bfc8efc6cfdd6fe3a003d01ba01540193003c00
f2ff68ffd8febcfe6fff6e003a0176013701ea00e7003101fe002b0043ffe7fe87ffb500
da010a025e01c70069009d001f01ee00f9ffa6fee5fd51fe16fff7ff0701020176ffbdfd
cdfcbcfc91fd5ffe7efe3ffecbfda3fde8fd55fe00ffc2fff1ff03ffaafd20fdd3fd29ff
720082012b0234029a019800d5ffb7ff8bff11ff75fefafde8fd32fe46ff8c004601a201
f001830209038003c603b9031303a601450055ff10ff22ff1affaafe11fe24fe08fe46fd
30fc8ffb58fc92fd74fecbfec5fe59ff5200ce00ab005e0088003601be01ba012601efff
cbfe9cfe0dff9dffd4ffcfff0b001c00040024006200d700880110026202bf0217033c03
e802de0168004effabfe70fe76fe8cfe88ff1801900248038602c4008afeddfc46fc78fc
30fd40feb4ff16014402c4025d02d2014b012901b2012f023102ae01870074ff1aff71ff
6b007701e201ce01f60148028a029302c401ff00a4007f00c8009c0032001b00f8fff7ff
f5ff97ffdefe63fea0fefbfef8fe5afe9bfd43fd79fd72fe66ff16008c00db0029012a01
71011402a902da029f022d02a2017d0174016c01e40054ff15fec7fd12fed3fed0ff5800
34000a0017005200ab00f500f000a400650094001c01b2012f02220263012200cbfecafd
8bfd1ffeb7febcfe2bfe8efd79fdf9fda4fe16ff69ff0100160111028d026a021802b001
0001c800a4006d004800b4ff37ffedfe7efe02fee8fd75fe87ff8d000c0106016f00a2ff
bdfe32fe75fefcfe88fff7ff490058007c0032010902b802b702ca019f008fffa3fee1fd
2afda8fcf6fce6fdc4fe41ff56ff2efff3fee9fe3aff0d001801a901bd01ca01ce018901
eb00e8ffdefe41fe10fe4afec5fe59ffe6ff35000f008affeefed9fed0ff1c012402f102
3b030103bf02a4026d02240269011300dcfee4fd4dfdf2fc58fc00fc35fcd4fcf4fd20ff
ebff8a00ee001e017f0107025d023802e6017b01a3000d0021004f00260099ffd3fe0ffe
c6fd05fe79fe04ff66ffa0fff5ff3d007e00c000cd00e40012010801ee00dd009f001f00
41ff6cfe03feeafd2ffe8cfe11ffdcffa90039014e015601740186015901d900350053ff
dffe36ff2000f400fa0090006b00fa0072017601ea00f4ffc2ff56005d015302d102e902
6d02b401b900c7ff4dff15ffc9fe36fe74fdc6fc9cfc07fdcffdbcfebbff9f007a016a02
fd023e039c02000153ff04febbfd04fe62fed5fe29ff70ffacff4300ec0064019d013401
7e00ecfff5ff870008012c01d80071001e00e3ffa9ff59ff3bfff6fe7bfe63febdfe40ff
7eff35ff8ffed8fda8fd4ffe68ff6a00e1009a00fcff8fff99ff1400730053005c00f200
b7011e02b101d90072009b00e900f300a50064006e00d8006f01ca01b40166011d01ac00
6a0069002d0065ff0efee3fc7ffc18fd2ffe16ff9cff4cff88fe0cfee4fdeafd1afe85fe
d2feeefe1aff60fffdfff4000a02e80212039302a5017a0099ff2cff28ff8aff4c004101
ea012102dc015e0115010e014f0135019900feff5cffebfef3fe40ffb2ff0a0000001100
47004c00180057ff3afe6afd47fd8efdedfdeffd98fdb3fd4efe79ffd800d6017902db02
1d030403ad02e501180102014501af01b6015e010501be00de005301da0130022e02c401
5401e8005500a7ffbafe09feb3fdc5fd35fe7efeecfe6fffaaffb9ff96ff6dff3fff14ff
3cffbaff900049016e013801c9008900ea009c012a024602f7018c012501c1009200a200
d90036014c01f4006400d1ff89ff9bffe3ff1a00e1ff62fffefe98fe4dfe52fe75fef1fe
85ffc9ffacff61ff64ff92ffacff8bff55ff43ff52ffa2ffffff6900e4002001df005d00
ecffccff3600bc0043019801b701bb014301ee0020017e015e019e00a6ffe3feecfe4dff
9fffeefff8ffb4ff32ffb0fe86feddfe43ff63ff4affebfed8fe47ffebff760079004300
19000e0043006e0089009a00b200f4006701fa0101024301310074ff87ff08006b006e00
3c0041005a004900130084fff4feb6febffe3affcfff46005300d9ff2bff87fe4dfe61fe
a7fe00ff48ff77ff52ff44ff7effeeff620036006effc7fe94fe78fe96fe0cff71ffd9ff
44006a0054001e00e2ffe6ff2f006d0076006e00b80021015a015701d1002a00e1ffc8ff
9dff56ff55ffcbff6100aa004d006eff86fe08fe15fe73fecffee7feeffe7dff4a009d00
560095ff49ffcaff8800300146011b010001e700d500cf0031018c01b901bd0171012e01
8700b1ff1fffdffe4fff19000f01ec013b020202ae018e019f01e901c601f900eeff1cff
f6fe27ff35ff04ffa8fe5efe5bfe97fef3fe52ff64ff4fff33ff47ffceffa8006b017401
2c011a015301b201d201ad01f600fdff77ff6fffefffbc002c011301e600b20096007e00
57007f00bb00e900e300b5008b006100580061008d0090002f007dffbffe63fe5ffe84fe
befe03ff59ffa9ffa9ff59ff02ffe8fe3bff94ffb6ffb8ffcfff4700f5006e0147019500
c5ff4eff90ff4800f100030144000bffd1fd13fd30fdfffd18ff3d002301ae01e101d101
b90188011e01720097ffcbfe5dfe89fed7fee8fe00ff21ff78fff1ff25001400e1ff0700
8600d400ab00d2ffb8fef3fdd7fd74fe5cff5200e800fb00da009c008a0089006900f6ff
25ff89fe48fe4dfe7ffe9efecafe43ff010097008400d2ff3cff58ff0e00fc00a701e201
ff0126026e0297025502ff01b9016001ef009600d800ae019e020e03b102f20103013a00
94ffc7fe11fe80fd78fdf1fda2feb2ff8e00fb000901d900bd009f0077002900ceffa0ff
a4ff3c004001e701e7016301dd00f1004f0187017401f8008a005a00460047000600c6ff
d6ff03005800a100c300c800a9008a004d00e8ff84ff53ff67ff68ff33ffc1fe5bfe63fe
c0fe4bffbbffd9ffd7ffd4ffb5ff77ff20ffc4fe75fe54fe96fe27ffcbff5600c5001901
3d014f015b017401b501a9015b01d400e9ff26ffa7fe9dfe12ff66ffcfff5800a500a100
4000beff61ff60ff75ff45ffcffe2bfe0dfeb4fed1ffff007201050113003cff22ffb9ff
9d0049019c01a3015f01e0000e001eff39fe7afd45fd7afd11fef8fe7affb0ffd8ffe0ff
01000a0005000900e7fffaff4b00bf002d01400106018400c4ff09ffb5feebfe7dff2c00
87006e002700150052009c00c4007e00dcff25ffa8febdfe3affecffa700fe00ee00c400
9f008f007b004d0036006100b600f300e70096002f00f7ff16008a00180154013301f100
bb00ae00d100ed00bb006600f2ff6bffeafe4cfeb4fd28fdd4fcf7fc89fd77fe77ff6700
01011601cc003000a2ff8cffe5ffb000960107021702d60169013b015101680130019a00
0200bbffd6ff4d00bf00eb00e2006f00a6ffdffe64fe58feb9fe5effc9ffe9ffadff37ff
f6fed9feaafe2bfe6efdecfc08fdaffdbafeefffd1004d013601c6009d00a800ee001701
d300990068006300b70012016801ac01a9015501ce00570039007e00d600040122012a01
dd003e006affdefeddfe34ffc7ff2b0055004d00f3ff77ffd1fe72febdfe5aff08007300
6400370047007a00a000ab00ac00c80006011d010901d700900070006300580057005f00
b1000d010101c700a700cb0036019a017a01910058ff85fe57fee3fec7ff97005701ce01
e401d00181013a0106019100050083ff35ff27ff3aff71ffc7ff4100b00010012401bc00
4b00f3ffd7ffe7ffddffb9ff75ff78ffecff490055002b00060031009900db00b7008200
6c007700a100ab00ac00a6006400abffacfe34fe77fe6eff920038013f01c60058003200
430056002700b9ff42fffcfec7fe8ffe7efec6fe5aff2300e6005f018d01600105019200
31002e004e005e0051004a006500a900c90079000e00c0ff9bff83ff60ff4aff49ff63ff
99ffb9ffb8ffb5ffa9ffbefffdff36007400a300ab00ae00a0006e0041000300d7fff3ff
210047002c00c0ff76ff5fff76ffbbfff4ff5700cb000a010501bf0082008700ff00af01
24022b02ad011d01c900ba00d700ea00e600ba00a500b500e70031013601eb005f00c9ff
7cff44ffe4fe7cfe5bfee5fef5ffe4004401f4005c00f9fff2ff5700b200af0063000b00
fbff3900ae00f400fc00d8006000dcff44ffe7fe03ff64fff1ff89003501b301e301a501
f4003a00b7ff9effbbffe3ff07002d0050006400a500e100fa00d50069001900dcff95ff
18ff79fe15fe04fe5afee0fe37ff73ff95ff8cff67ff2bff01ff1cff88fff4ff36005c00
6c0079007b007b00700066007800a000a2005e00feffafffa9ffc7ffbcff5dffddfe91fe
83feecfe8fff1700680063001f0092ffd0fe18feaefdc6fd49fef5fe56ff6dff95ffd8ff
1f003a001900fcffdeffb7ff80ff41ff44ffb5ffa6008601bf016101af001300beffc7ff
00004e00a600ee002c012501ef00b800ba00f900350146011201ce0077002100bcff46ff
0dff06ff38ff65ff81ffa3ffb3ffbcffaaffafffb1ff87ff5aff32ff5bffc5ff4700fa00
9201d6019601e5002c00baffc9ff4300c600fc00e000a4007000680064003b00c6ff33ff
05ff4bffdbff7f00f8001001c700340071ffcbfe6cfe71febffe36ffcbff5200a800d800
f800f400d5006f00eaffc0fff5ff6900c700b2005c0044008a00fa0060016e013d01fd00
a70056001f001c0049008800a800ac00ab00a30087004500fbffabff6fff79ff99ffd4ff
05001e006100b100e800da0079000000a3ff71ff79ffb7ff0f006b00b000c5008c000f00
91ff3dff26ff54ffb1fff9ff260052008900cb00ee001a01590176017b013601ba004400
dbff9cff6fff4eff25ffc9fe8cfe84fec5fe5fff0300b9003c0141010b01aa003c00deff
8dff4aff35ff4eff6fffaeffe9ff230063007a0068003800250032005f00950080005500
38006500dd00260134010101a20058002200e2ffa9ff55ff00ffe3fed3fef5fe41ff89ff
d9ff0f0015000100f7fffaff1c0049008400d00002011701d4004400beff92ffb7ff0f00
720079005b002300e0ffcaffc4ffd0ffdefff4ff0f0019000400faff0800070015001a00
19000500c1ff76ff4fff7affeeff4e0059002d00feff06005a00ad00eb00fc00e200dd00
f000fd00fd00ed00c5007b0041003d0060009600ac0092008a009f00ba009e002800a0ff
39ff08ff11ff40ff8cffe3ff2a005f007d009900c900d0009e004e00d9ff82ff78ff95ff
c6ffeefff8ff1a006300a400d200ea00f30008010601ce006400d6ff5aff24ff25ff40ff
61ff7cffa3ffd5fff4fff5ffe3fff0ff0a0008000900edffc9ffdcff0800350058004e00
080096ff39ff39ff77ffc2fff4ff0a006100d3002a0129019500e6ff79ffa5ff4000c700
d6004f00bbff59ff3fff48ff44ff42ff34ff4bff67ff66ff66ff71ff8dffafff07009c00
2101530110017e000000e8ff23007b00c200d800e300f700f700e400b7006b0046004b00
56005100ffff95ff4aff5fffe2ff7000d900e300b900a800ad00ad006f00070098ff59ff
57ff80ffd5ff150028000500e7ff050033003800daff49ffecfefdfe87ff5300ef002901
2601160122014c016b014601f1006b00c3ff40ffd4feacfec1fe28fff1ff8f00d300b000
6600290014001500d8ff99ff91ffdbff4a0079003c00b3ff53ff58ffbbff14001600d3ff
89ff80ffb6fffdff0800eeffbbff88ff76ff69ff85ff9fffc9ff20007200b600e000fd00
fc00da007c00020097ff46ff45ff68ff93ffdbff2d005400530051005d008a00a6008200
44003f009f002b017b014801af000f009dff61ff58ff45ff1bfffefefdfe2fff7bffd6ff
28004d004c0037002b003e007d00b100a600650024001d00470077009700ae00d8000a01
ff009c00020086ff7cffc3ff32007b00730060005a009000d70004011501f200a4001700
8fff42ff4cffb7ff23006a0059001d00ecffacff82ff69ff5eff5aff52ff3fff18ff10ff
2aff75ffdeff3a008b00ac00a4008e008400af00eb000c01dd007b004500390043003a00
16000f002a00540052001b00f1fff2ff2c0076009b00930082005b0026000100c3ff95ff
80ff6dff72ff87ffb5fffeff39003d00f8ff91ff44ff2fff50ff89ffbefff1ff1a004e00
8000bb00fb0011010201b5004200e2ffb6ffc8ff09004f006a006d004f002a001b002300
20000e00fefff0ff0c0035004d004100f9ff98ff3fff1bff21ff35ff47ff45ff5bff8cff
ddff370068004e00f9ffaaff81ff9ffff2ff40008000950096009b009c00a800b500c000
dc001501540173015301ec0081004d0052007e00a800a8008a006d0045001900fefff2ff
e8ffd0ffafff9fffa8ffbbffc8ffd3ffdffffdff16001500fdffdfffd1ffcfffd6ffe3ff
f5ff170046005a0053004d004d00540067009000c100fd002a012401e50081002200d4ff
a6ff9effbcfff3ff23005100690076008a008a0075004300feffa1ff35ffdcfeb9fee6fe
38ff7fffabffcfffd8ffccffc2ffa8ffaeffc6ffd3ffc8ffa5ffb0fffeff6700b200b900
83004c0031001900f8ffcdffb5ffbeffedff32005700600046001600f5ffd9ffc6ffc5ff
c8ffc9ffd9ffeefffdff0100ecffcfffbdffafffa1ff94ff7fff75ff79ff84ffb6fff9ff
310052004a0035001200f2fff0fffbff13002a00330041004f005d0072006e005b003500
0b00e9ffbfffbaffc7ffdbfffeff10001800feffdfffcbffbdffd6ffffff2a004c005d00
5900480035001a000300f5fff0ffeffff4ffefffeafff0fff9ff0c001a0026003a004000
3d003c0037002a001d000b00fdff07001c002d003d00450045004a004a0043002c000000
d7ffb1ff92ff90ff99ffa6ffbdffe4ff120049008000aa00d700ea00eb00d9009d005f00
2300fafff3fffcff10002a003d0043004b004b0043005400720068003b000200cfffbfff
c6ffd3ffd1ffccffd2ffc6ffb6ffa7ff98ff9dffb1ffb1ffa2ff97ff96ffadffc9ffddff
e6ffe1ffe1ffeeff0e002900310033002b001700090008000700f5ffd8ffcbffc4ffcdff
e1ffe9fff4ffffff0a001c0025001900fbffc8ffa1ff93ff92ffb1ffc9ffd7ffe6ffd7ff
c8ffc1ffc3ffd2ffd8ffd9ffc6ffa2ff8aff88ff9bffc1fffeff1700180019000c000000
dcffa9ff8cff8dffa3ffc3ffdcfffeff2b00480074008b008a0083006e0066004c003200
24000100e8fff7ff1500320054005b0058005b005400420037003b0038002a000b00f9ff
f7ff01000f00f6ffe5ffecffffff0400e4ffc5ffaaffa3ffc0ffe0ffebffe7ffebff0b00
500085009b009a0089007d006c005f004e004600500060006f0063004500250008000600
1700240037002d00f5ffc1ff98ff84ff87ff99ffa6ffa7ffb4ffb8ffbfffdcfffaff1300
1700fcffe5ffe8ffe8fff7fffaffeaffdeffc8ffcfffdefff5ff0f001d003f005b007900
7c006b005f00420028000400f7fff7fffeff1e002a0029000b00ebffd1ffa2ff88ff89ff
aefff6ff3b0045002400f6ffc8ffc6ffc6ffddfff7fffcff150012000300f3ffe7fffaff
0700fbffd1ff97ff69ff6dff84ffa9ffd6ffedff120029002a001900fcffebffd7ffe9ff
020015002d00280028002a0027001b000800fcffecffddffd6ffd7ffd8ffd8fff1ff0a00
08000900f9fff5ff1000270022000700f0ffe7ff040017000800e6ffacff88ff85ff9aff
bcffdaffecffe3ffd1ffc8ffdafffaff160029001e00f7ffcfffc5ffc7ffcbffddffeaff
fcff2d0058006a0060002c00edffb6ffa9ffc4ffe2fffdff0900060009000700fafffaff
e4ffcaffc2ffaeffa3ff90ff87ff97ffb9ffe6fff8fff9ffefffddffcdffc7ffc2ffb5ff
b7ffcdfff9ff2a0053007600880081007900750064004c001e00efffd8ffe6ff07001600
0f00ebffaeff88ff85ff89ff9dffbfffecff190038003c002100f8ffd0ffc0ffafffa9ff
bfffdfff0f0028002a001b00feffecffe4fffaff110021002600160019002c0048005800
73008a0088008c0083007200650055005d006a006a006a005c0043000e00d6ffbdffb8ff
d8ff05001b0017001900180009000900f5ffd1ffbdffb5ffbbffd1ffeeff0f003c005800
680079008400980093008100730068006c006700580048003b002b0028002a0027003200
3b0034002300160006000a00180018001a000b000900f9ffddffd3ffc4ffc9ffb0ff72ff
47ff42ff6cffa3ffe6ff060008000300f3fffdff09001900280029002900280033004300
50005d0051002e0014000700080017001900170019001400280044004900470032001400
0900070016001b000300daffa7ff8cff82ff91ffaaffa7ffa6ffa9ffb3ffe0ff03000900
0a0004001500320057007e008b0077003e001a000d000500100025001f00fdfff8fff8ff
0c002a0028002b001a0020003800360042004700310026001300f6fff8ff060015001b00
0d000000eeffe7ffe8ffebfffafff7ffe7ffd9ffc8ffd1ffe7ffe7fff1fff9fffbff0e00
190017000800070017001800180019001300f9ffdfffd6ffdaffeafff8ff07000a00fbff
edffddffd3ffe1ffe9ffe9ffe6ffebfff8fff9fff8ffebffe5ffeaffe5ffeaffe0ffd4ff
d9ffd6ffdaffe7ffe9ffe6fff5ff0400110023002a0025000e00f4ffe7ffeafff7ff0700
0a00fbfff9fff0ffe5ffeaffe6ffe9ffe7ffe8ffe8ffe8fff6fff9fff8fff1ffdcffdbff
f3ff10002e003800280019000a00050015001a00190014000100f4ffe4ffd4ffd8ffe7ff
060016002300380030002900230014000000e5ffd4ffc9ffd3fff4ff11001d000d000500
0f001c003000370028001700fbffe7ffe8fff1ff0400100021002b0027002a0027002a00
28001a000c00f2ffdaffd5ffdaffd3ffe2fffafff9fff7ffeaffd8ffc9ffc5ffc9ffc6ff
cdffe4ff020022003c0037001600fbffe9ffe5fffcff1f002e002000170018001a002b00
28000a00ecffceffb9ffb6ffbdffd5fff6ff0e001b0015000800f8ffe9ffe9ffd3ffb8ff
b7ffb7ffb7ffb9ffb5ffbaffc7ffd9ffe6ffe8fff3ff02001c002e002100120007000800
090007001900180024003800360044004400330022000100e4ffd7ffd7ffd6ffe5ffe0ff
c9ffc9ffc4ffd0ffd5ffc4ffc9ffc6ffd8fff7ff0600210036003a0038003a0035002400
14000700070009001300330046004c0043002c000700daffc6ffc7ffd9fff7ff16002600
34003e002c002c001d000100f4ffe8ffe9ffe8ff050019001500250022000e000200f2ff
e6ffeaffe7ffe9fff6ff050023002c0029001d00f6ffe1ffd5ffd8ffecfff7fff9fff7ff
f7ff0200120023002c00240012000800080009001800280036003c0036003e0028001100
feffe3ffebfff9ff070018000c00fafff9ffefffe5ffe9ffe8ffe8ffe8ffe8fff9ff1600
350054005e004700240010000100f9ff0d001800170019000900fbfff6fffafff7ffffff
0c000200f6ffe2ffc6ffb7ffb7ffd0fff1ff0d002c0046004300350020000300f7ffe8ff
e7ffeaffd9ffd7ffd8ffd5ffd9ffd2ffc4ffcaffd9ffe8fff7ff06001600180021003400
40004d0041001f000500e4ffd9ffd6ffd5fff0ff03001b002e00270027001000f1ffd5ff
b4ffaaff97ff95ff98ff8fffafffdaff130041004d005800490037001e00fafff8fff7ff
01000c000100f3ffe4ffedff0900190027002b00280021000600e7ffc9ffaeffa7ffa6ff
bcffd7ffe7fff6fff7ff04000700160034003b0032001000f4ffe9ffd6ffe6ff03000800
120019001d002d00240013000700e4ffd9ffe5ffe9fff3fffafffeff13001a0016001c00
140009000600fbffe9ffe7fff4fff8ff00000a0009000500f4ffd1ffb8ffb6ffb7ffc1ff
ddffffff0d000000f2ffe4ffedfff7fffaff0800fafff6fff8ff08003000400050005c00
5600460025000800eaffcaffc4ffd2ffdaffd3ffdfffeaffe7ffe9ffe7ffe9fff8fffaff
f6ff0400090006000b000100f7fff9ff0d001700180028001e00090008000a000000f7ff
f8fff9ff0c001a0018000a00f9ffecffe5fff1ff00000f001b0014000500f7fff8fff9ff
f8fff9fff8fff6ffffff0c0004000d001b002c0027000900fbffdcffd6ffd1ffc0ffd3ff
d5ffddffe9ffe9ffe7ffd7ffe6fff7fff9ffefffdcffd5ffdcffeefffafff6ffe5ffd7ff
c8ffc7ffd2ffecff0d00240028000900f7fff7fffbff07000900faffe7ffffff14002300
2000f6ffe4ffd4ffdaffe8ffe8ffe9ffd9ffd6ffd5ffe1ffeaffecfffbfff5fff9fff7ff
f7ff09000800080008000700090006000c001d002b0028002a0019000800090003001d00
330041004b004800480034001600f8ffeaffdaffd4ffe3ffefff03000b00230022000600
f5ffd8ffd6ffd7ffefff05001800390036003c00340029002800180029001d0008000900
0400180035003500260029002800290039003a002e001100f9fffaffefffe8ffe5ffd2ff
c6ffdbff07002800380030001300f3ffe5ffe9ffe8ffe8ffeafffaff0900080016001900
170018001e003500350024001200f2ffd6ffc7ffc8ffc6ffcfffedff03000c000100f8ff
f7fffbff0700fafff6fffbffeaffe7ffe9ffe5fff2ff130030003700280017000a00f8ff
f8fff9fff6ff020007000d0019001a002a00290018000b00f8fff8fff1ffdbffd9ffd0ff
caffdbffecfff7fff9ff05000b00fbffefffdcffdafff6ff120034004c005a0058003b00
2a001b0020003600390036001c000200f5fffaff080009000900fcffeeffdbffddfff0ff
02001e0012000800f6ffd7ffe6fff5ff10002500320037001d001a00140007000800f7ff
e9ffe8ffe7fff2ff040009000700090007000b001a0029002a001a001700170021002e00
20001400feffe3ffd5ffc7ffc7ffd5ffe5fff4ff03000f00220027000d00f2ffe7ffe9ff
f8ff09000800060013001b0011000000f4ffe0ffd9ffe9fff9ff060009000800ffffecff
e6ffeaffe6ffecffe3ffd7ffd6ffc8ffc6ffc7ffd3ffd8ffdeffedffe3ffeffff8fffaff
080008000700140028001f000e00fffff9fff2ffe8ffe6ffebff06001900330033000d00
0000edffebff020006000b000400fafff6ffebffe6ffeaffe9ffdfffd4ffddffeefffbff
0b00070009000900f8ff040007001100150003000b0005000c0018001800180016002600
290030003d00310027002a0027002b003900390039002e0026002d001e00180014000400
0a000600f8ff0800090006000b00fbfffafff0ffe8ffe4ffd4ffd7ffd8ffe7ff06001500
25002d001e001200f9ffe4ffe9ffe9fffbff080008000a00fafff9ffedffecff03000800
070009000500f8ff0700190016001a001000fcfff8fff3ffe4ffecfffafff7fff9fff8ff
eaffe6ffeaffe6ffeaffe1ffd4ffd9ffd5ffd9ffd6ffd7ffd7ffd6ffe4fff0ff0a002000
310039003d00480039001700fcffe9ffe6fff3fff8fffeff0a000b001e002a0029002800
2900280029002a0027002f001b0006000500f7fff7fffafff6fffafff8ffedffe6ffe9ff
e8ffe7ffeaffe5ffecfff7fff9ff0600090010002500290023000f0008000500f6fff9ff
f8fff7ff0700080010001e000d000a000200faff0900080018001a0015001c000b000800
07000a000300f5fffafff7fff8fff8fff8fff8fff7fff9fff7fffafff2ffe6ffe9ffe8ff
e8ffe8fff6ff0700060013001b0015001e002c00250016000700f8ffe9ffe6fff5fff8ff
00000e0002001200130007000700f9fff7ffebffe5ffeaffe5fff2fff9fff8fff8fff8ff
f8fff9fff8fff7fff9ffecffe7ffeaffe7ffe9ffe7ffe9ffe8ffe7ffe8fff6ff08000700
13001b0015001c00110008000600f7fff8fff9fff8fff8fff6fffafff0ffe3ffeffffaff
f8fff9fff9fff8fff8fff7ff030013001a0012000000f7fff8fff8fff8fff8fff7fff9ff
f7fff9fff7fff9fff7fffcff0b0006000a000700f9fff9ffeafff1ff0000190030002100
14000300f7fff8fff8fff7fff8fff7fff7fffbfff0ffe6ffe7ffebfff9ff0a000700f9ff
03000b00070008000b000100f9fff4ffe8ffe6ffeafff5ff0800080007000c00fefff8ff
f2ffe7ffe9ffe9fff8ff08000700080007000a00fffff6fff9fffafff6ffe7ffe9ffe9ff
e7ffeaffe6fff1ff02000800080006000c001800190016000b00f8fffaffedffe6ffebff
e6ffecffe5ffecfff7fffaff07000a0007000800090007000a000100f8fff7fff9fff6ff
f9ff0600080012001b0016001500fefff9fff4ffe7ffe8ffe9fff5fffafff6fff9fff8ff
f6ffffff0a000700080009000600190018000a000a00fdfff8fff6ffffff06000c001800
0800060009000900fefff4fffcfff4ff000008000a000500f8ff080008000800fdfff5ff
fbfff6fff8fffbff0c0005000a00180018001a000a0011001c0015001b0016001b001400
07000800090008000800090006000a0007000e001a00160019001700180018000a000800
fefff5fff9fff7fffafff5ffe6ffe9ffe7ffe8fff4ff0300160016002200250014001a00
170018001700180019000a0008000900070008000900070009000600f7ffe7ffe7fff6ff
f8ff02000c000600090008000800070007000900f9fff6fffaffecffe7ffe9ffe8ffe7ff
e8ffe8ffe9fff9fff8fff6ff0700070012001b0017001a00170019001800190018000b00
fbfff6ff040007000f001b0018001500060009000900f8fff8fff8fff8fffaffefffe6ff
e8ffe8ffe7ffe9fff8fff9fff6ff060008000f0025002b00260012000600f6fff9ff0900
0700160018001900100004000c0005000d0018001900170009000800fcfff6fff9fff9ff
f3ffe6ffe8ffe8ffe8ffe8fff6fffafff5ff0500080008000300f0ffe7ffe8ffe9fff8ff
0900070014001a0015001c000c00