summaryrefslogtreecommitdiffstats
path: root/libglusterfs/src/syncop.c
blob: 6b46a14d3205c6e7665a74ea90c7e62c4d32f3dd (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
/*
   Copyright (c) 2010 Gluster, Inc. <http://www.gluster.com>
   This file is part of GlusterFS.

   GlusterFS is free software; you can redistribute it and/or modify
   it under the terms of the GNU Affero General Public License as published
   by the Free Software Foundation; either version 3 of the License,
   or (at your option) any later version.

   GlusterFS is distributed in the hope that it will be useful, but
   WITHOUT ANY WARRANTY; without even the implied warranty of
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
   Affero General Public License for more details.

   You should have received a copy of the GNU Affero General Public License
   along with this program.  If not, see
   <http://www.gnu.org/licenses/>.
*/

#ifndef _CONFIG_H
#define _CONFIG_H
#include "config.h"
#endif

#include "syncop.h"

call_frame_t *
syncop_create_frame ()
{
        struct synctask *task = NULL;
        struct call_frame_t *frame = NULL;

        task = synctask_get ();

        if (task) {
                frame = task->opaque;
        }

        return (call_frame_t *)frame;
}

void
synctask_yield (struct synctask *task)
{
        struct syncenv   *env = NULL;

        env = task->env;

        if (swapcontext (&task->ctx, &env->sched) < 0) {
                gf_log ("syncop", GF_LOG_ERROR,
                        "swapcontext failed (%s)", strerror (errno));
        }
}


void
synctask_yawn (struct synctask *task)
{
        struct syncenv  *env = NULL;

        env  = task->env;

        pthread_mutex_lock (&env->mutex);
        {
                list_del_init (&task->all_tasks);
                list_add (&task->all_tasks, &env->waitq);
        }
        pthread_mutex_unlock (&env->mutex);
}


void
synctask_zzzz (struct synctask *task)
{
        synctask_yawn (task);

        synctask_yield (task);
}


void
synctask_wake (struct synctask *task)
{
        struct syncenv *env = NULL;

        env = task->env;

        pthread_mutex_lock (&env->mutex);
        {
                list_del_init (&task->all_tasks);
                list_add_tail (&task->all_tasks, &env->runq);
        }
        pthread_mutex_unlock (&env->mutex);

        pthread_cond_broadcast (&env->cond);
}


void
synctask_wrap (struct synctask *task)
{
        int              ret;

        ret = task->syncfn (task->opaque);
        task->synccbk (ret, task->opaque);

        /* cannot destroy @task right here as we are
           in the execution stack of @task itself
        */
        task->complete = 1;
        synctask_wake (task);

        synctask_yield (task);
}


void
synctask_destroy (struct synctask *task)
{
        if (!task)
                return;

        if (task->stack)
                FREE (task->stack);
        FREE (task);
}


int
synctask_new (struct syncenv *env, synctask_fn_t fn, synctask_cbk_t cbk,
              void *opaque)
{
        struct synctask *newtask = NULL;

        newtask = CALLOC (1, sizeof (*newtask));
        if (!newtask)
                return -ENOMEM;

        newtask->env        = env;
        newtask->xl         = THIS;
        newtask->syncfn     = fn;
        newtask->synccbk    = cbk;
        newtask->opaque     = opaque;

        INIT_LIST_HEAD (&newtask->all_tasks);

        if (getcontext (&newtask->ctx) < 0) {
                gf_log ("syncop", GF_LOG_ERROR,
                        "getcontext failed (%s)",
                        strerror (errno));
                goto err;
        }

        newtask->stack = CALLOC (1, env->stacksize);
        if (!newtask->stack) {
                gf_log ("syncop", GF_LOG_ERROR,
                        "out of memory for stack");
                goto err;
        }

        newtask->ctx.uc_stack.ss_sp   = newtask->stack;
        newtask->ctx.uc_stack.ss_size = env->stacksize;

        makecontext (&newtask->ctx, (void *) synctask_wrap, 2, newtask);

        synctask_wake (newtask);

        return 0;
err:
        if (newtask) {
                if (newtask->stack)
                        FREE (newtask->stack);
                FREE (newtask);
        }
        return -1;
}


struct synctask *
syncenv_task (struct syncenv *env)
{
        struct synctask  *task = NULL;

        pthread_mutex_lock (&env->mutex);
        {
                while (list_empty (&env->runq))
                        pthread_cond_wait (&env->cond, &env->mutex);

                task = list_entry (env->runq.next, struct synctask, all_tasks);

                list_del_init (&task->all_tasks);
        }
        pthread_mutex_unlock (&env->mutex);

        return task;
}


void
synctask_switchto (struct synctask *task)
{
        struct syncenv *env = NULL;

        env = task->env;

        synctask_set (task);
        THIS = task->xl;

        if (swapcontext (&env->sched, &task->ctx) < 0) {
                gf_log ("syncop", GF_LOG_ERROR,
                        "swapcontext failed (%s)", strerror (errno));
        }
}


void *
syncenv_processor (void *thdata)
{
        struct syncenv  *env = NULL;
        struct synctask *task = NULL;

        env = thdata;

        for (;;) {
                task = syncenv_task (env);

                if (task->complete) {
                        synctask_destroy (task);
                        continue;
                }

                synctask_switchto (task);
        }

        return NULL;
}


void
syncenv_destroy (struct syncenv *env)
{

}


struct syncenv *
syncenv_new (size_t stacksize)
{
        struct syncenv *newenv = NULL;
        int             ret = 0;

        newenv = CALLOC (1, sizeof (*newenv));

        if (!newenv)
                return NULL;

        pthread_mutex_init (&newenv->mutex, NULL);
        pthread_cond_init (&newenv->cond, NULL);

        INIT_LIST_HEAD (&newenv->runq);
        INIT_LIST_HEAD (&newenv->waitq);

        newenv->stacksize    = SYNCENV_DEFAULT_STACKSIZE;
        if (stacksize)
                newenv->stacksize = stacksize;

        ret = pthread_create (&newenv->processor, NULL,
                              syncenv_processor, newenv);

        if (ret != 0)
                syncenv_destroy (newenv);

        return newenv;
}


/* FOPS */


int
syncop_lookup_cbk (call_frame_t *frame, void *cookie, xlator_t *this,
                   int op_ret, int op_errno, inode_t *inode,
                   struct iatt *iatt, dict_t *xattr, struct iatt *parent)
{
        struct syncargs *args = NULL;

        args = cookie;

        args->op_ret   = op_ret;
        args->op_errno = op_errno;

        if (op_ret == 0) {
                args->iatt1  = *iatt;
                args->xattr  = xattr;
                args->iatt2  = *parent;
        }

        __wake (args);

        return 0;
}


int
syncop_lookup (xlator_t *subvol, loc_t *loc, dict_t *xattr_req,
               struct iatt *iatt, dict_t **xattr_rsp, struct iatt *parent)
{
        struct syncargs args = {0, };

        SYNCOP (subvol, (&args), syncop_lookup_cbk, subvol->fops->lookup,
                loc, xattr_req);

        if (iatt)
                *iatt = args.iatt1;
        if (xattr_rsp)
                *xattr_rsp = args.xattr;
        if (parent)
                *parent = args.iatt2;

        errno = args.op_errno;
        return args.op_ret;
}

static gf_dirent_t *
entry_copy (gf_dirent_t *source)
{
        gf_dirent_t *sink = NULL;

        sink = gf_dirent_for_name (source->d_name);

        sink->d_off = source->d_off;
        sink->d_ino = source->d_ino;
        sink->d_type = source->d_type;

        return sink;
}

int32_t
syncop_readdirp_cbk (call_frame_t *frame,
		      void *cookie,
		      xlator_t *this,
		      int32_t op_ret,
		      int32_t op_errno,
		      gf_dirent_t *entries)
{
        struct syncargs *args = NULL;
        gf_dirent_t *entry = NULL;
        gf_dirent_t  *tmp = NULL;

        int count = 0;

        args = cookie;

        INIT_LIST_HEAD (&args->entries.list);

        args->op_ret   = op_ret;
        args->op_errno = op_errno;

        if (op_ret >= 0) {
                list_for_each_entry (entry, &entries->list, list) {
                        tmp = entry_copy (entry);
                        gf_log (this->name, GF_LOG_TRACE,
                                "adding entry=%s, count=%d",
                                tmp->d_name, count);
                        list_add_tail (&tmp->list, &(args->entries.list));
                        count++;
                }
        }

        __wake (args);

        return 0;

}

int
syncop_readdirp (xlator_t *subvol,
		 fd_t *fd,
		 size_t size,
		 off_t off,
                 gf_dirent_t *entries)
{
        struct syncargs args = {0, };

        SYNCOP (subvol, (&args), syncop_readdirp_cbk, subvol->fops->readdirp,
                fd, size, off);

        if (entries)
                list_splice_init (&args.entries.list, &entries->list);

        errno = args.op_errno;
        return args.op_ret;

}

int32_t
syncop_opendir_cbk (call_frame_t *frame,
                    void *cookie,
                    xlator_t *this,
                    int32_t op_ret,
                    int32_t op_errno,
                    fd_t *fd)
{
        struct syncargs *args = NULL;

        args = cookie;

        args->op_ret   = op_ret;
        args->op_errno = op_errno;

        __wake (args);

        return 0;
}

int
syncop_opendir (xlator_t *subvol,
                loc_t *loc,
                fd_t *fd)
{
        struct syncargs args = {0, };

        SYNCOP (subvol, (&args), syncop_opendir_cbk, subvol->fops->opendir,
                loc, fd);

        errno = args.op_errno;
        return args.op_ret;

}


int
syncop_setxattr_cbk (call_frame_t *frame, void *cookie, xlator_t *this,
                     int op_ret, int op_errno)
{
        struct syncargs *args = NULL;

        args = cookie;

        args->op_ret   = op_ret;
        args->op_errno = op_errno;

        __wake (args);

        return 0;
}


int
syncop_setxattr (xlator_t *subvol, loc_t *loc, dict_t *dict, int32_t flags)
{
        struct syncargs args = {0, };

        SYNCOP (subvol, (&args), syncop_setxattr_cbk, subvol->fops->setxattr,
                loc, dict, flags);

        errno = args.op_errno;
        return args.op_ret;
}

int
syncop_statfs_cbk (call_frame_t *frame, void *cookie, xlator_t *this,
		    int32_t op_ret, int32_t op_errno,
		    struct statvfs *buf)

{
        struct syncargs *args = NULL;

        args = cookie;

        args->op_ret   = op_ret;
        args->op_errno = op_errno;

        if (op_ret == 0) {
                args->statvfs_buf  = *buf;
        }

        __wake (args);

        return 0;
}


int
syncop_statfs (xlator_t *subvol, loc_t *loc, struct statvfs *buf)

{
        struct syncargs args = {0, };

        SYNCOP (subvol, (&args), syncop_statfs_cbk, subvol->fops->statfs,
                loc);

        if (buf)
                *buf = args.statvfs_buf;

        errno = args.op_errno;
        return args.op_ret;
}

int
syncop_setattr_cbk (call_frame_t *frame, void *cookie, xlator_t *this,
                    int op_ret, int op_errno,
                    struct iatt *preop, struct iatt *postop)
{
        struct syncargs *args = NULL;

        args = cookie;

        args->op_ret   = op_ret;
        args->op_errno = op_errno;

        if (op_ret == 0) {
                args->iatt1  = *preop;
                args->iatt2  = *postop;
        }

        __wake (args);

        return 0;
}


int
syncop_setattr (xlator_t *subvol, loc_t *loc, struct iatt *iatt, int valid,
                struct iatt *preop, struct iatt *postop)
{
        struct syncargs args = {0, };

        SYNCOP (subvol, (&args), syncop_setattr_cbk, subvol->fops->setattr,
                loc, iatt, valid);

        if (preop)
                *preop = args.iatt1;
        if (postop)
                *postop = args.iatt2;

        errno = args.op_errno;
        return args.op_ret;
}

f6 41 9a cc ef be 4f 23 9e 06 3c e3 d0 7b b3 3c d9 1e &....+%..D;$*..A....O#..<..{.<.. 1220 d1 9b c3 a1 85 23 24 ac 52 88 ca e8 19 aa 2d 23 21 c5 d9 6d 1a 3c e3 ce 07 e4 df ca 7f b9 fe c5 .....#$.R.....-#!..m.<.......... 1240 c5 ee 97 ba 9e 79 71 e0 c1 3d 07 36 df f7 c0 d6 c6 67 42 e1 5f ce 7f 97 31 de 8e f3 b3 0f dd f1 .....yq..=.6.....gB._...1....... 1260 c7 bf e7 e7 3f 7f 69 69 df c6 ef 6d 7e a8 27 18 5e 39 76 dc 7e 51 7c 79 df 8d bb 49 94 43 57 c5 ....?.ii...m~.'.^9v.~Q|y...I.CW. 1280 cd 06 3d 33 d1 36 c7 f8 f4 d1 19 78 54 a6 15 62 cb 0a 91 57 61 f9 b1 75 93 69 bb ed 4e 0e ba 6b ..=3.6.....xT..b...Wa..u.i..N..k 12a0 64 11 58 46 c8 4c b3 60 cd 18 a2 a0 dd 4d 94 bc 2e aa 25 a6 5a 1e 1b 7c f6 59 9a d1 d4 ea a7 06 d.XF.L.`.....M....%.Z..|.Y...... 12c0 63 81 c7 2b 45 8a 71 94 36 71 cd 7c b3 76 05 b7 82 5f 96 b1 2e 5d 0b 7d 77 3a 37 1a 1a b0 cc 08 c..+E.q.6q.|.v..._...].}w:7..... 12e0 5a a6 e9 1e 1d ce 88 64 de 8c d6 a6 df 3c fa e6 8c 9b 33 77 a2 9d 19 56 08 8b 7c 70 54 d9 14 34 Z......d.....<....3w...V..|pT..4 1300 f5 6a 66 b8 09 b4 1a 04 cd fe 73 67 6a c2 cc f7 27 7b e6 3e bc f6 db af dc b0 e2 d8 b5 7f 61 6c .jf.......sgj...'{.>..........al 1320 ce eb d2 e5 53 bb 76 ed ea 61 ee 9c de b5 c5 d5 d3 57 51 79 e4 d2 d2 bf fc fc 5b 0f 06 c7 c8 7f ....S.v..a.......WQy......[..... 1340 53 6b d6 02 e8 06 2c a0 fb e5 8e f4 d1 03 c8 6c 1b e0 75 1b cc fd cc 16 9c c6 21 1d 3b d3 9a 6c Sk....,........l..u.......!.;..l 1360 70 8e a1 85 aa 94 24 fa 20 69 6c 2c 87 de 2f 39 d0 92 b5 3a 6b 7b 16 26 9d 0d f4 1a 65 50 77 72 p.....$..il,../9...:k{.&....ePwr 1380 59 5a 77 52 19 a5 c5 a2 62 e2 fb fb fb a7 3f 76 e3 e1 b3 e8 ec e1 1b 1f fb e4 c5 87 7f f0 83 9d YZwR....b.....?v................ 13a0 3b 7f f0 83 87 f1 01 f6 fa 7f 0e ee f4 7a 98 2a 46 07 ef 2a 8f 6c 3f 7c e2 c4 61 f8 80 47 9a 21 ;............z.*F..*.l?|..a..G.! 13c0 d1 cb a0 12 18 99 bf 39 5c 7c 93 86 d7 0b 7a ae 49 d0 e3 26 38 fc d9 26 86 85 e3 5f 63 d5 ea b4 .......9\|....z.I..&8..&..._c... 13e0 3c 54 09 9d 4e 4b 0a 84 11 b0 a1 40 18 2b 04 9e c5 d0 07 fc cc a0 33 1a 04 bd 4e 69 97 a1 76 99 <T..NK.....@.+........3...Ni..v. 1400 a2 3d 81 95 f8 2c 99 7c a5 90 2f 83 52 2e 48 be 30 73 f6 1a 01 c1 44 96 2d f1 2a 72 84 56 11 e8 .=...,.|../.R.H.0s....D.-.*r.V.. 1420 b5 4a d3 ce df 27 28 3e 26 20 71 f2 59 9e 4d 65 53 f9 5c a1 4c 70 b1 2e be 5a 70 08 d7 b1 d7 f1 .J...'(>&.q.Y.MeS.\.Lp...Zp..... 1440 4d 42 bd e0 67 fd 7c 9b b0 1c 6a ce 72 be 97 5f c7 de cd 6e e5 37 09 07 d9 83 fc af d9 17 f1 6f MB..g.|...j.r.._...n.7.........o 1460 f8 31 3c ab c7 1a ce c0 0b 3a 83 1e 7e 8c 76 36 1d a7 72 a3 f9 0c 5d 86 de 66 b0 1b f3 51 3e 93 .1<......:..~.v6..r...]..f...Q>. 1480 c7 8e c7 39 5c 3e 9f ab c9 d5 e6 eb c6 eb c7 0a 39 86 3c e3 34 3c 85 9b a2 9b 66 2c 31 57 b3 b3 ...9\>..........9.<.4<....f,1W.. 14a0 70 35 e7 e0 2a d4 9e a1 4a 5f 25 54 19 1c 66 87 99 54 ab 66 b6 9e bb 86 6f d0 34 68 eb 75 8d 7a p5..*...J_%T..f..T.f....o.4h.u.z 14c0 37 f4 0b ad c8 cb 48 ec 62 2c 71 8b f9 c5 9a c5 5a bf de 63 68 37 06 cc dd a8 9b 59 ce ae c2 37 7.....H.b,q.....Z..ch7.....Y...7 14e0 70 ab a0 8a f5 6a 56 68 7b b5 37 e8 96 eb 7b f5 2b 85 65 86 55 c6 75 ec 2d fc 46 f3 16 b4 85 d9 p....jVh{.7...{.+.e.U.u.-.F..... 1500 c4 de 85 ef e1 7e c8 6f d5 6c d5 de ad 73 14 f7 19 7f 64 7e 08 9e ba 76 b0 3b f0 6e 6e 37 ff 88 .....~.o.l...s....d~...v.;.nn7.. 1520 e6 11 ed 6e dd 0e e3 4f cc 3f 65 1f c3 4f 73 4f f1 fd fa 9f 99 0f b1 cf e3 23 dc af f8 e5 b4 f2 ...n...O.?e..OsO.........#...... 1540 65 30 e4 0f 93 67 60 f2 9a fb df 7d e7 f5 77 df e9 97 df 78 fd bf fe fe 3a d4 c0 3e bc 98 7c 3e e0...g`....}..w....x....:..>..|> 1560 de 8e fb ce 2c 86 18 09 9c 7d 1b bf 08 67 d3 78 74 42 ed 33 1a d5 36 a3 31 2b d6 66 a0 b5 cc 7a ....,....}...g.xtB.3..6.1+.f...z 1580 ce b6 d6 be 7e d4 80 95 1b c8 ef 8f f7 19 0d 19 3a b3 56 67 cb 75 4e 20 67 d8 b1 21 7d c6 a0 45 ....~...........:.Vg.uN.g..!}..E 15a0 fe f0 7d cb 87 ef 27 0f ed 33 a2 6d 06 1a 0f 6d 86 a3 2b 53 c8 34 64 1a 8b e0 30 2e 34 14 1a af ..}...'..3.m...m..+S.4d...0.4... 15c0 d0 5f 21 5c 61 b8 c2 68 10 91 08 3d de 04 61 82 e1 92 94 62 5b b1 fd 92 d4 09 59 13 b2 0b c4 82 ._!\a..h...=..a....b[.....Y..... 15e0 9c b1 e3 d7 0a 6b 0d 6b 8d 6b 4d c9 e4 41 9e 65 35 82 c6 80 8d d8 84 cd 38 09 5b 70 3a 1e 8d 33 .....k.k.kM..A.e5.......8.[p:..3 1600 70 26 37 46 3f be b8 60 46 c1 b7 0b 7a 0b 56 17 dc 51 b0 bd e0 64 c1 28 30 cf d2 e1 0d 8d 26 ef p&7F?..`F...z.V..Q...d.(0.....&. 1620 dc 86 66 0a e4 1f be ad 76 e7 82 f5 eb 17 6d 9a 71 e8 c1 ff f9 8f 05 cf 77 b6 bd e0 b9 79 83 b4 ..f.....v.....m.q.......w....y.. 1640 db b1 7b eb 9f 7e dd b6 9f 9b b1 67 c2 04 b7 db e1 ca 31 5f 72 f7 fa 7b 0e e4 e5 3d 53 56 36 ff ..{..~.....g......1_r..{...=SV6. 1660 9a 39 f5 f9 49 63 37 df 7c df a3 59 a4 9b 79 12 2a c3 0e a8 0c 06 a5 32 e0 01 63 92 7e 60 94 7d .9..Ic7.|..Y..y.*......2..c.~`.} 1680 43 52 7f c6 96 74 94 9c 3c 73 94 51 a3 1b 5d 4d 2a 43 a9 f2 c8 a3 54 86 17 86 54 06 e5 81 87 96 CR...t..<s.Q..]M*C....T...T..... 16a0 03 86 94 2b 68 4c 58 22 b4 1d ba 02 fc 0e d4 82 87 c9 e7 93 db a7 3f b6 f2 08 3a 7b f6 c8 ca c7 ...+hLX"..............?...:{.... 16c0 a6 0f 0c b0 c5 6a 21 60 1b bc 1e f9 a0 fc 11 bc 0f 7a bc 3b 41 1a 16 ad 04 b9 26 81 d7 05 94 8f .....j!`.........z.;A.....&..... 16e0 0e 42 b5 ce 36 a4 e9 cd e8 91 34 cd 80 d9 2a ae cd 7e 32 73 20 0f 9c 9c 66 44 69 78 14 79 26 cb .B..6.....4...*..~2s....fDix.y&. 1700 c6 3a 9b 73 1c 48 79 e4 18 08 6a a5 0f 2d 87 8e 9f 3a 73 8a 88 0a 27 8f d2 fb 3b fc 25 63 4a b2 .:.s.Hy...j..-...:s...'...;.%cJ. 1720 4a b2 4b c4 92 9c 92 dc 19 e3 1d 63 1c 59 8e 6c 87 e8 c8 71 e4 d6 8f a9 cf aa cf ae 17 eb 73 ea J.K........c.Y.l...q..........s. 1740 73 eb c7 07 c7 af 19 b3 2e 6b 5d f6 3a 71 5d ce 9a dc 3b c6 6f 1f 7f 72 7c 56 74 6b 74 53 74 43 s........k].:q]...;.o..r|VtktStC 1760 4b 56 4b 76 8b d8 92 13 cc 0a 66 07 c5 60 ce ea ac d5 d9 ab c5 d5 39 a3 16 82 6d a2 86 b9 8a 99 KVKv......f..`........9...m..... 1780 aa 96 cf 71 c4 7d 39 89 e5 3d 95 7d e6 cd 47 6f 0a dc 3d d0 df 3f e3 e0 2d 8f 1e fe e4 63 86 7d ...q.}9..=.}..Go..=..?..-....c.} 17a0 78 4b cb 01 b7 f4 cc 82 ff 3e c9 4e 6e 5b b9 28 fc fa fe 82 9a 4f 6e da d5 e6 79 ee fe a7 9f 4d xK.......>.Nn[.(.....On...y....M 17c0 ee bd ad a8 68 d7 f8 f1 67 a8 0f e1 99 6a 07 d8 8a 54 f7 ab 1d 19 d1 ea de 6f de c0 3c 8d 0f 8e ....h...g....j...T.......o..<... 17e0 81 ca 3e 93 d6 f8 04 2f 5a 8e 1f 8f 16 78 87 5e f1 e3 9f b2 38 66 61 7e ac 8f 53 5d 38 c4 b5 61 ..>..../Z....x.^....8fa~..S]8..a 1800 e8 e9 62 1e 64 2f 8f fa 75 e7 27 7b 34 c2 ae 04 1f 32 7f 8b 96 78 c8 df f8 93 6d ee 13 68 0b cb ..b.d/..u.'{4....2...x....m..h.. 1820 e8 50 35 67 51 da 95 12 87 c9 c2 3b f8 7a be 85 0f f2 27 79 8d f2 38 0b 8f b2 1a db 3f 07 c9 5e .P5gQ......;.z....'y..8.....?..^ 1840 38 b7 f0 09 d0 2c 1d cd 70 64 40 8e df c2 99 d7 9a 6e 11 48 8e a7 81 fb 47 6b 93 4d 68 96 cd 39 8....,..pd@......n.H....Gk.Mh..9 1860 da 72 e6 78 e9 60 34 a5 4f 91 94 86 e7 e4 a4 0c 4b c6 ea 8c 3b 32 b6 67 f0 4c c2 43 42 b4 7b ce .r.x.`4.O.......K...;2.g.L.CB.{. 1880 25 dd 73 0e 64 d1 89 da 7b eb 1f 7f e1 85 c7 eb ef ad 9d fb e0 c2 4f e4 d7 98 49 8c a6 e9 7e ae %.s.d...{.............O...I...~. 18a0 ec d1 89 13 df 3e 7a f4 ed 89 13 77 8d 1d 0b 61 6d 66 92 99 e9 79 20 d5 54 30 fa df f9 fb e0 d9 .....>z....w...amf...y..T0...... 18c0 1a 32 c6 cc eb 92 f0 23 c8 ca 1c d4 ad 13 0c 50 97 c0 d2 96 64 33 99 11 d0 07 e8 52 1a 8a 83 a7 .2.....#.......P....d3.....R.... 18e0 ae 84 06 1a c2 b2 64 df 4f ec 0c 39 4b c9 53 b3 2d f5 0a f2 0c 3d ae 8c 3c 3d 5b 99 1e 66 a5 bc ......d.O..9K.S.-....=..<=[..f.. 1900 66 4e f8 e9 a7 5f bd 7f dd 3a fe 3e f9 e7 1b 3f d9 be be 76 db 8f 7e c7 b6 6c 64 ae 8e 3e 7b 74 fN..._...:.>...?...v..~..ld..>{t 1920 83 3d 0c 28 0d cd 76 a4 68 06 92 d1 80 b1 3f 79 c3 28 7d 72 d2 35 38 d9 ee 1c 45 4f 70 d5 12 60 .=.(..v.h.....?y.(}r.58...EOp..` 1940 84 bc 19 e9 2b d1 4a 4d af b6 57 d7 ab ef 15 7a 0d 2b 8d bd a6 5e 73 6f 52 af a5 d7 ba 32 79 7b ....+.JM..W....z.+...^soR....2y{ 1960 fa c9 74 6b 42 8c 42 4c 8e 27 9e 47 8a 75 d8 f0 a6 47 77 6f be eb d1 47 ef 3a c9 24 cb ef 9f fc ..tkB.BL.'.G.u...Gwo...G.:.$.... 1980 2f f9 03 c6 8a df 3c f1 cb 5f 9e f8 cb 4b 2f fe f5 1e f9 25 79 50 7e 0f 1e 34 a6 c1 f3 84 8d b9 /.....<.._...K/....%yP~..4...... 19a0 9c ce 70 d9 c7 27 73 35 7f 4c fd 76 d2 95 1f a2 6c 1d 9d 65 3e fb bb 7f 9a e3 93 4d b9 59 53 06 ..p..'s5.L.v....l..e>......M.YS. 19c0 f1 80 90 2e 3e ec 44 48 db 25 8f 49 1c 7f 0e 1b 87 8e e2 8e a2 36 fe 0d b4 8f 4f 46 4f b2 d3 d0 ....>.DH.%.I.........6....OFO... 19e0 73 ec cb a8 98 3b 88 ae e2 6d 68 1d 37 88 96 e2 d9 e8 49 72 cd de 86 10 9f 86 de 82 cf 3d f0 e9 s....;...mh.7.....Ir.........=.. 1a00 83 fb 4b 35 b7 a1 66 6e 22 0a 00 fc 24 77 02 ad 24 bf 84 06 d7 06 fb f2 d0 54 ee 1d b4 14 78 e4 ..K5..fn"...$w..$........T....x. 1a20 22 2f da 8e 5e 02 4d fe c9 76 b3 6f e2 54 fc 30 bc ff 93 6b e0 7e c3 67 68 26 69 fe a0 9d a0 7d "/..^.M..v.o.T.0...k.~.gh&i....} 1a40 46 67 d2 4d d4 2d d3 3d ae e7 54 29 47 a1 02 f0 0c 79 41 e3 88 1c 44 2b ce ce 77 c0 2f c1 70 60 Fg.M.-.=..T)G....yA...D+..w./.p` 1a60 4d 4c 97 ad 31 bd 18 f0 e0 56 15 66 01 ef 01 15 c6 b0 fe b0 0a 73 00 ef 53 61 1e e0 a7 55 58 03 ML..1....V.f.........s..Sa...UX. 1a80 35 f1 25 15 d6 c1 13 db ef 54 d8 80 c6 a0 b7 55 d8 94 7c 2f 13 e5 65 46 97 a5 dc ab c0 f0 a5 4f 5.%......T.....U..|/..eF.......O 1aa0 79 59 85 19 94 9c f2 7b 15 66 61 7d 50 85 31 1a 95 f2 a1 0a 73 28 d9 66 52 61 1e 59 6c d9 2a ac yY.....{.fa}P.1.....s(.fRa.Yl.*. 1ac0 81 0a 53 ac c2 5a a4 b5 5d a5 c2 3a c0 af 52 61 3d b2 da 9a 29 cc 10 be b6 76 15 66 50 9a 2d a8 ..S..Z..]..:..Ra=...)....v.fP.-. 1ae0 c2 c0 d7 b6 4e 85 81 af ed 0e 15 26 7c 77 aa 30 0f f0 93 2a ac 41 49 b6 23 2a ac 45 76 db 1b 2a ....N......&|w.0...*.AI.#*.Ev..* 1b00 ac 43 a9 b6 93 2a ac 47 d9 76 c5 e6 2c e1 6b cf 57 61 8c 72 ec 45 2a cc 23 ab bd 4e 85 35 00 b7 .C...*.G.v..,.k.Wa.r.E*.#..N.5.. 1b20 a8 b0 0e 59 ec 4b 55 58 8f d2 ec 37 51 18 c3 97 ce be 55 85 31 b2 db b7 ab 30 8f 52 ec 3f 55 61 ...Y.KUX...7Q.....U.1....0.R.?Ua 1b40 0d 32 d9 5f 52 61 b0 83 fd 55 15 06 3b d8 4f 50 98 a3 f2 7c a4 c2 0c 4a 49 65 54 98 45 da 54 9b .2._Ra...U..;.OP...|...JIeT.E.T. 1b60 0a 63 94 99 9a a1 c2 60 87 d4 a9 2a cc c3 ba 4b 85 35 b0 2e a9 30 d8 3f b5 47 85 21 1e 52 bf a3 .c.....`...*...K.5...0.?.G.!.R.. 1b80 c2 7a c0 d9 08 11 c5 70 7a 30 4b 49 ea 8f 55 98 41 a9 69 2f ab 30 8b 74 69 27 54 18 c3 fa 07 2a .z.....pz0KI..U.A.i/.0.ti'T....* 1ba0 cc a1 d4 51 bc 0a f3 00 67 a8 b0 06 d9 46 5d aa c2 3a 94 3b ca a9 c2 06 34 7d 54 bb 0a 9b f2 a7 ...Q....g....F]..:.;....4}T..... 1bc0 8f 8a f2 32 a3 8e ab de a8 0c 04 97 87 7c ed 1d 11 71 42 6b 81 58 5a 52 32 59 5c b4 5c ac f0 45 ...2.........|...qBk.XZR2Y\.\..E 1be0 c2 91 90 e4 e9 2a 14 5d fe d6 22 b1 bc b3 53 6c 20 58 61 b1 41 0a 4b a1 65 92 b7 48 38 67 eb 14 .....*.].."...Sl.Xa.A.K.e..H8g.. 1c00 b2 d5 ed 59 d6 b5 38 e0 6f 17 2b 3c 1d e7 d9 58 25 2d f6 34 77 8b ad 1d 1e 7f bb 14 16 3d 21 49 ...Y..8.o.+<...X%-.4w........=!I 1c20 f4 f9 c5 60 f7 a2 4e 5f ab e8 0d 74 79 7c fe 28 4e a3 c7 1f ae 08 04 96 24 5c 26 80 cd 52 28 ec ...`..N_...ty|.(N.......$\&..R(. 1c40 0b f8 c5 d2 a2 a9 ca 6a c2 fd b6 80 1f 98 46 40 87 8e 48 24 38 bd b8 d8 0b eb cb ba 8b c2 81 ee .......j......F@..H$8........... 1c60 50 ab d4 16 08 b5 4b 45 7e 29 52 4d d1 88 08 44 89 98 de e2 84 b0 24 89 8b a4 ce 40 4f 41 91 78 P.....KE~)RM...D......$....@OA.x 1c80 11 02 17 89 33 3b 97 07 3b c2 a2 af 2b 18 08 45 24 af d8 16 0a 74 89 e5 21 69 99 2a 4a 94 07 35 ....3;..;...+..E$....t..!i.*J..5 1ca0 50 b7 62 a0 44 36 82 10 e7 0e 8a 79 44 45 b4 98 95 85 49 17 7c 09 e7 fa e3 a2 5d 29 0e e3 ec 0b P.b.D6.....yDE....I.|.....]).... 1cc0 0b 1e 31 12 f2 78 a5 2e 4f 68 89 18 68 1b 4e 45 10 ea a5 50 97 2f 4c ad ef 0b 8b 1d 52 48 02 5e ..1..x..Oh..h.NE...P./L.....RH.^ 1ce0 ed 21 8f 1f 54 2f 04 dd 41 2d d8 06 16 03 3b 17 8a 91 80 e8 f1 2f 17 83 e0 2f d8 10 58 14 01 8b .!..T/..A-....;....../.../..X... 1d00 f9 c0 04 1e b1 15 84 16 00 33 d2 21 45 ed d4 da 1a e8 0a 02 3a 41 88 74 00 75 b0 b2 e4 0f 83 f5 .........3.!E.......:A.t.u...... 1d20 72 a9 49 72 0b 80 98 57 f4 84 c3 81 56 9f 07 f8 09 de 40 6b 77 97 e4 8f 78 22 44 9e 36 5f 27 38 r.Ir...W....V.....@kw...x"D.6_'8 1d40 69 02 a1 48 37 88 8d 81 b6 48 0f 98 3f b7 80 4a 12 92 82 a1 80 b7 bb 55 a2 64 bc 3e 50 cc b7 a8 i..H7....H..?..J.......U.d.>P... 1d60 3b 22 11 19 84 21 1b 0a c1 cd ad 9d dd 5e 22 49 8f 2f d2 11 e8 8e 80 30 5d 3e 95 11 e1 10 52 4c ;"...!.......^"I./.....0]>....RL 1d80 09 64 bb c3 80 4f d4 29 14 bb 24 a2 b5 40 03 24 dc 51 98 c0 a3 90 f0 2c 0e 84 c4 b0 04 7e 00 6c .d...O.)..$..@.$.Q.....,.....~.l 1da0 1f 88 aa aa 3f 8c 35 11 0e c8 06 89 a1 23 82 62 3a ca a8 a7 03 02 eb 9c 0d c4 0d 6d dd 21 3f 30 ....?.5......#.b:..........m.!?0 1dc0 94 e8 46 6f 40 0c 07 0a c5 70 f7 a2 c5 52 6b 84 ac 10 fd da 02 9d 10 6c 44 a1 d6 80 df eb 23 7a ..Fo@....p...Rk........lD.....#z 1de0 84 a7 0b 82 1b c8 79 16 05 96 49 54 03 25 8a a8 00 b1 20 f0 07 22 e0 86 b0 b2 4a bc 12 8c 47 80 ......y...IT.%......."....J...G. 1e00 72 4f 0c 77 78 3a 3b 85 45 92 6a 35 10 03 b2 c4 33 44 cf 80 1f e2 22 24 76 05 42 d2 88 6a 8b 91 rO.wx:;.E.j5....3D...."$v.B..j.. 1e20 e5 41 a9 cd 03 8c 8a 14 a1 86 de ed f2 2c 87 6c 81 ed 5e 5f 9b 8f 04 9a a7 33 02 a1 07 00 10 f5 .A...........,.l..^_.....3...... 1e40 78 bd 54 73 c5 74 24 41 3d 21 90 ab bb d3 13 12 08 23 af 14 f6 b5 fb a9 18 ed 4a ae c2 26 12 a1 x.Ts.t$A=!.......#........J..&.. 1e60 9e 56 20 12 26 3b a2 f2 84 87 73 22 24 05 60 40 0d e6 e9 1c 99 80 ba 27 2a 47 9c 1a 88 e7 ef 5c .V..&;....s"$.`@.......'*G.....\ 1e80 2e fa 12 c2 5c 20 ea 84 24 f2 97 f1 14 97 00 61 62 48 e2 97 68 7a 48 10 73 52 88 6e ea 09 84 bc ....\...$......abH..hzH.sR.n.... 1ea0 61 31 37 96 87 b9 84 77 f4 86 90 4b d2 36 97 9a 0c 3c 53 a3 e6 cb 22 09 32 89 50 ed 06 1f 10 9b a17....w...K.6...<S...".2.P..... 1ec0 2c 0b f8 62 82 49 37 44 20 63 44 4f 30 08 e9 e5 59 d4 29 91 1b 8a ee 40 99 00 42 dc 29 1d 9e 88 ,..b.I7D.cDO0...Y.)....@..B.)... 1ee0 d8 e1 09 03 45 c9 3f c4 26 24 ea e2 d1 ed 15 bb fd 5e 55 e0 b8 a8 02 15 4e d1 f0 42 5e 0d 07 3a ....E.?.&$.......^U.....N..B^..: 1f00 49 56 53 b7 11 27 79 c4 4e 52 3d 20 57 a2 88 41 4f eb 12 4f 3b 28 06 79 e8 0f 08 24 54 3f 5d 50 IVS..'y.NR=.W..AO..O;(.y...$T?]P 1f20 0d 61 05 05 0b 44 94 3a db 88 50 b3 9c 62 75 5d ad 5b 6c ac ab 76 cf 2b 6f 70 8a ae 46 b1 be a1 .a...D.:..P..bu].[l..v.+op..F... 1f40 ae d9 55 e5 ac 12 73 cb 1b e1 3a b7 50 9c e7 72 cf aa 6b 72 8b 80 d1 50 5e eb 9e 2f d6 55 8b e5 ..U...s...:.P..r..kr...P^../.U.. 1f60 b5 f3 c5 39 ae da aa 42 d1 79 6d 7d 83 b3 b1 51 a8 6b 10 5d 73 eb 6b 5c 4e 58 73 d5 56 d6 34 55 ...9...B.ym}...Q.k.]s.k\NXs.V.4U 1f80 b9 6a 67 8a 15 b0 af b6 ce 2d d6 b8 e6 ba dc 40 d4 5d 47 b7 aa a4 5c ce 46 42 6c ae b3 a1 72 16 .jg......-.....@.]G...\.FBl...r. 1fa0 5c 96 57 b8 6a 5c ee f9 85 42 b5 cb 5d 0b 34 41 b8 06 b1 5c ac 2f 6f 70 bb 2a 9b 6a ca 1b c4 fa \.W.j\...B..].4A...\./op.*.j.... 1fc0 a6 86 fa ba 46 27 d0 a8 02 b2 b5 ae da ea 06 e0 e2 9c eb 04 25 80 50 65 5d fd fc 06 d7 cc 59 ee ....F'..............%.Pe].....Y. 1fe0 42 d8 e4 86 c5 42 c1 dd 50 5e e5 9c 5b de 30 a7 50 04 62 75 a0 72 83 48 51 8a 40 4a a0 21 3a 9b B....B..P^..[.0.P.bu.r.HQ.@J.!:. 2000 c9 e6 c6 59 e5 35 35 62 85 cb dd e8 6e 70 96 cf 25 b8 c4 3a 33 6b eb e6 3a 85 ea ba a6 da aa 72 ...Y.55b....np..%..:3k..:......r 2020 b7 ab ae 56 ac 70 82 2a e5 15 35 4e 45 36 50 a5 b2 a6 dc 35 b7 50 ac 2a 9f 5b 3e 93 a8 13 65 42 ...V.p.*..5NE6P....5.P.*.[>...eB 2040 d0 14 75 e2 e6 10 c8 86 99 ce 5a 67 43 79 4d a1 d8 58 ef ac 74 11 00 ec e8 6a 70 56 ba 29 26 d8 ..u.......ZgCyM..X..t....jpV.)&. 2060 1e 2c 51 43 c5 ad ac ab 6d 74 5e d3 04 0b 80 17 65 51 28 cc 9b e5 a4 2c 40 81 72 f8 53 49 25 a3 .,QC....mt^.....eQ(....,@.r.SI%. 2080 ea d7 82 ba 84 8e bb ae c1 1d 13 65 9e ab d1 59 28 96 37 b8 1a 89 47 aa 1b ea 40 5c e2 cf ba 6a ...........e...Y(.7...G...@\...j 20a0 1a 01 4d 60 4f e2 bc 5a 55 5e e2 23 b2 76 6e 74 00 16 d9 ad 2a 58 e5 2c af 01 82 8d 44 0c 58 10 ..M`O..ZU^.#.vnt....*X.,....D.X. 20c0 86 e0 42 74 39 6f 68 95 82 11 12 db 6a 72 2b a5 91 96 51 a5 76 16 d2 a8 55 8a 00 84 f0 4c 3f 24 ..Bt9oh.....jr+...Q.v...U....L?$ 20e0 ae b2 46 41 38 96 20 b3 e8 a9 a3 54 b7 f8 81 4d 8e e3 42 a5 f4 d2 f2 01 d1 0d 27 91 52 7a bd cb ..FA8......T...M..B.......'.Rz.. 2100 24 a8 80 61 52 4a 02 21 21 40 8a 49 8f 2f 4c 33 1d 8e c0 ae 80 72 e6 89 61 4f 27 30 83 5d 24 8b $..aRJ.!!@.I./L3.....r..aO'0.]$. 2120 28 16 d4 4a 4f 27 6c 0b c7 c4 1c 92 50 42 f4 30 0c 86 7c b0 a5 27 e4 8b 40 31 11 3d dd b0 1a f2 (..JO'l.....PB.0..|..'..@1.=.... 2140 ad 50 8f e1 90 7a 4c 51 0d c4 b8 06 84 4b bc 38 28 f2 87 a4 70 10 4e 29 df 32 a9 73 79 11 e0 86 .P...zLQ.....K.8(...p.N).2.sy... 2160 c8 59 46 25 f1 f9 a1 57 eb 52 55 a7 e6 6b 8d 4c 8f b6 0a 11 b1 9d 12 f7 06 22 02 74 74 45 a2 20 .YF%...W.RU..k.L.........".ttE.. 2180 d0 8e eb 73 b7 4e 17 db ca 7e 31 7d 90 a0 f4 41 e2 67 e9 83 84 78 1f 24 7e c6 3e 48 38 b7 0f 52 ...s.N...~1}...A.g...x.$~.>H8..R 21a0 8b 7c 2b a5 14 8e 9e 19 23 34 a8 f1 86 45 f8 3c bd 92 18 ed 95 84 6f 46 af 24 28 7e f8 d2 7a 25 .|+.....#4...E.<......oF.$(~..z% 21c0 41 49 d8 cf d5 2b 09 5f 60 af 24 c4 7b 25 f1 33 f6 4a c2 90 be e0 33 f4 4a c2 f9 7a 25 f1 e2 7b AI...+._`.$.{%.3.J....3.J..z%..{ 21e0 25 21 a1 57 4a 4c df 21 ed 12 9c e7 50 24 be a8 76 49 50 db 25 f1 73 b5 4b c2 10 71 e9 73 e3 17 %!.WJL.!....P$..vIP.%.s.K..q.s.. 2200 dd 32 09 fe 80 f8 b9 5b 26 e1 0b 6d 99 04 b5 65 12 3f 7b cb 24 0c 6f 99 c4 cf d2 32 09 23 b6 4c .2.....[&..m...e.?{.$.o....2.#.L 2220 e2 a7 69 99 04 77 79 f3 dc d9 75 44 ec f2 59 9f a9 3b 12 e2 9a 7f 9e ee 48 88 76 47 e2 e7 e9 8e ..i..wy...uD..Y..;......H.vG.... 2240 84 c4 ee 48 fc 4c dd 91 30 62 77 24 7e 9e ee 88 04 eb 90 44 89 35 3e c2 79 1b 1f f1 53 34 3e c2 ...H.L..0bw$~......D.5>.y...S4>. 2260 85 1b 1f f1 22 1a 1f 81 36 3e 43 7b 87 7f dd d0 44 a2 f8 0e da 34 08 45 f0 53 74 c1 c9 55 71 8f ...."...6>C{....D....4.E.St..Uq. 2280 6f 89 af d8 07 15 e4 86 a2 60 47 b0 58 2d 63 35 be 76 4f a4 1b fa a9 ca ee 50 d8 47 0f 29 bf 9f o........`G.X-c5.vO......P.G.).. 22a0 b4 56 01 7f 35 29 be e4 10 23 ad 8c 7b 79 30 00 7d 4a b0 c3 d7 2a 56 4b ca 96 06 69 69 b7 0f 8e .V..5)...#..{y0.}J...*VK...ii... 22c0 08 31 4e 24 d0 d5 05 87 56 ec ba 81 18 61 38 8b 2a 9f a7 9d 56 fa e1 0c a4 18 e5 04 82 51 69 c8 .1N$....V....a8.*...V........Qi. 22e0 19 23 aa 14 c2 b1 9d 60 ee 56 b5 e7 88 09 b8 b4 3b 81 80 48 85 0c 27 ae 34 85 bb a1 43 18 82 03 .#.....`.V......;..H..'.4...C... 2300 62 86 eb 3b 25 88 25 d2 0f 45 6d 70 7b 02 23 11 fc 16 15 5c 72 83 4f 61 5b db bf 60 ee 07 bd a4 b..;%.%..Emp{.#....\r.Oa[..`.... 2320 e8 bd 36 5f b8 b5 03 88 cc dd d6 0e 47 42 c7 12 38 80 24 7f 2d 71 6d 67 dc 44 fe 46 09 4e 5d 7f ..6_........GB..8.$.-qmg.D.F.N]. 2340 c2 42 8c 27 34 c1 a1 ee d6 0e 4a b2 bc 3b bc 42 02 22 fe 6e 08 3d a8 e5 92 bf 46 52 f0 ab bb fd .B.'4.....J..;.B.".n.=....FR.... 2360 2b 40 22 9f e8 f6 a9 5c 81 69 f4 a6 18 f4 dd 0b 5d 6e 57 b7 df 17 5b 22 aa 83 92 ca a6 28 33 9f +@"....\.i......]nW...[".....(3. 2380 bb 1b 02 55 04 4e 51 7a 31 79 a8 07 24 88 13 48 99 45 10 4d 10 fc 15 21 a9 7b c9 48 ca 8a b0 0a ...U.NQz1y..$..H.E.M...!.{.H.... 23a0 fd 1a 7c 43 ff 27 c1 39 06 24 a3 74 66 82 a5 21 fe e0 88 0f 06 a5 4e df e2 25 09 3a 2f 90 3a bd ..|C.'.9.$.tf..!......N..%.:/.:. 23c0 2b 48 f6 76 0e e5 da 16 33 86 b8 68 28 4f 29 c6 09 55 a2 00 0a a2 e5 28 84 7c a8 1d 75 a0 08 12 +H.v....3..h(O)..U.....(.|..u... 23e0 d1 04 d4 8a 0a e0 b7 14 95 c0 7b 32 40 8b 00 43 44 15 80 13 41 61 f8 84 90 84 3c a8 0b 15 c2 aa ..........{2@..CD...Aa....<..... 2400 0b f9 01 bf 08 a0 72 d4 09 6f 11 35 c4 68 85 e9 95 04 bf 12 ec 59 06 df 5e c0 14 2e 82 eb 94 18 ......r..o.5.h.......Y..^....... 2420 57 37 70 5a 06 bc c8 3f 29 f7 03 36 91 c3 03 7b 3e 1d c7 2a 80 16 c3 be 66 d4 0d 18 ad 80 eb a1 W7pZ...?)..6...{>..*....f....... 2440 d4 24 ba c3 43 35 12 81 8a 1f be 83 80 b3 08 e8 fa 00 4f 84 fd 01 e0 ee a1 f7 86 d3 69 a4 54 c2 .$..C5............O.........i.T. 2460 20 51 00 de 4b ce 73 77 e4 d5 66 2a 61 18 e8 06 28 d7 52 90 73 ea 10 dc 91 f7 b7 51 7c 45 d3 88 .Q..K.sw..f*a...(.R.s......Q|E.. 2480 ea 07 a2 79 04 e4 9e 8e 8a e1 ed 55 f1 97 01 7e 11 e0 05 e0 37 04 ba 48 74 6f 88 6a 5d 04 34 24 ...y.......U...~....7..Hto.j].4$ 24a0 d8 53 9d 40 2d 6a 85 a8 27 ce f5 37 b9 47 2c 2b 51 ef 48 60 a3 00 ea 01 5c e2 8b 2f c6 c2 84 d2 .S.@-j..'..7.G,+Q.H`....\../.... 24c0 4c b8 b3 1c 70 3a e8 4e 1f dc 0b 52 b9 23 d4 9b c4 02 21 ba 83 f8 9f 50 5d 36 cc 2a c3 f5 88 47 L...p:.N...R.#....!....P]6.*...G 24e0 50 f7 90 08 3a 9f 36 02 bc 47 d2 5d f1 98 07 a0 44 ab 9d 1b cb 02 9a f4 39 de c2 45 e5 c7 17 9f P...:.6..G.]....D.......9..E.... 2500 95 23 fb 3b ae b3 0f ee 08 14 8a d0 15 12 65 5d d4 d6 4b 60 2d 00 1e f8 57 b2 10 cd ea 29 bd 2e .#.;..........e]..K`-...W....).. 2520 4a 2d 1e fb 3e 2a 53 07 bd 27 a9 7a b5 53 2e 7e d5 eb 85 aa df 15 6f 29 dc 94 18 53 e2 b9 90 ca J-..>*S..'.z.S.~......o)...S.... 2540 15 a0 de f7 d3 fd 41 35 bf 14 0e 01 a0 1a 51 63 cc a7 46 81 87 d2 50 2c 2d a8 34 23 54 8a e1 f1 ......A5......Qc..F...P,-.4#T... 2560 d4 4a f1 48 1c 2a d4 a3 14 08 b6 22 bb 12 cb 12 cd 57 25 f6 72 13 a2 24 97 7a 8e ec f5 d2 df 30 .J.H.*.....".....W%.r..$.z.....0 2580 95 ab 15 f6 78 54 fd 04 9a 05 ad 10 a1 5d 94 4a 84 de 89 da a7 0d a0 4e 35 93 26 c4 64 8c 73 20 ....xT.......].J.......N5.&.d.s. 25a0 55 85 c8 1f 81 f8 55 a2 9f 70 8c db 84 ac 04 69 d6 78 81 43 2b dd 1d 95 c6 4b 35 88 d0 58 5b 04 U.....U..p.....i.x.C+....K5..X[. 25c0 77 23 f4 ae c2 43 b8 00 87 42 35 9b 5b 41 b2 6e 4a 45 b1 49 0f 8d 81 0e 5a 75 22 aa 65 ba e8 5a w#...C...B5.[A.nJE.I....Zu".e..Z 25e0 a2 46 51 1d 42 43 a2 52 91 b6 9b da b0 30 c1 3b 04 ee a2 fe 54 7c 2d 24 54 90 30 ec 2e 3c 8f 1e .FQ.BC.R.....0.;....T|-$T.0..<.. 2600 85 31 3d 8b 69 05 11 29 65 25 1f 14 da 3e d5 aa 43 bd 7f 61 ad a3 96 53 a4 0d c6 22 3a 42 e5 8a .1=.i..)e%...>..C..a...S...":B.