summaryrefslogtreecommitdiff
path: root/legacy/ephysics
diff options
context:
space:
mode:
authorGustavo Sverzut Barbieri <barbieri@gmail.com>2013-01-03 22:10:40 +0000
committerGustavo Sverzut Barbieri <barbieri@gmail.com>2013-01-03 22:10:40 +0000
commit9e0788cc2e261ec66cf740e35a3e71f4485df763 (patch)
tree8c1230e446edd6966d39c1b8959c7f97f5c0f731 /legacy/ephysics
parent9edec477ebb83e64f3e464d82665e2b9f01f9bb0 (diff)
efl: merge ephysics
changes: * __UNUSED__ -> EINA_UNUSED * Fixed doc hierarchy SVN revision: 82126
Diffstat (limited to 'legacy/ephysics')
-rw-r--r--legacy/ephysics/README58
-rw-r--r--legacy/ephysics/doc/examples.dox1791
-rw-r--r--legacy/ephysics/doc/img/bouncing_ball.eps16308
-rw-r--r--legacy/ephysics/doc/img/bouncing_ball.pngbin96420 -> 0 bytes
-rw-r--r--legacy/ephysics/doc/img/bouncing_text.eps16308
-rw-r--r--legacy/ephysics/doc/img/bouncing_text.pngbin82076 -> 0 bytes
-rw-r--r--legacy/ephysics/doc/img/camera.eps16308
-rw-r--r--legacy/ephysics/doc/img/camera.pngbin22717 -> 0 bytes
-rw-r--r--legacy/ephysics/doc/img/camera_track.eps16308
-rw-r--r--legacy/ephysics/doc/img/camera_track.pngbin33965 -> 0 bytes
-rw-r--r--legacy/ephysics/doc/img/collision_detection.eps16308
-rw-r--r--legacy/ephysics/doc/img/collision_detection.pngbin92294 -> 0 bytes
-rw-r--r--legacy/ephysics/doc/img/collision_filter.eps16308
-rw-r--r--legacy/ephysics/doc/img/collision_filter.pngbin103674 -> 0 bytes
-rw-r--r--legacy/ephysics/doc/img/diagram_ephysics.pngbin22281 -> 0 bytes
-rw-r--r--legacy/ephysics/doc/img/forces.eps16308
-rw-r--r--legacy/ephysics/doc/img/forces.pngbin56627 -> 0 bytes
-rw-r--r--legacy/ephysics/doc/img/growing_balls.eps16308
-rw-r--r--legacy/ephysics/doc/img/growing_balls.pngbin56964 -> 0 bytes
-rw-r--r--legacy/ephysics/doc/img/no_gravity.eps16308
-rw-r--r--legacy/ephysics/doc/img/no_gravity.pngbin93240 -> 0 bytes
-rw-r--r--legacy/ephysics/doc/img/shapes.eps16308
-rw-r--r--legacy/ephysics/doc/img/shapes.pngbin54306 -> 0 bytes
-rw-r--r--legacy/ephysics/doc/img/slider.eps16308
-rw-r--r--legacy/ephysics/doc/img/slider.pngbin61222 -> 0 bytes
-rw-r--r--legacy/ephysics/ephysics.pc.in12
-rw-r--r--legacy/ephysics/src/examples/ephysics_logo.c280
-rw-r--r--legacy/ephysics/src/examples/ephysics_test.h81
-rw-r--r--legacy/ephysics/src/examples/test.c313
-rw-r--r--legacy/ephysics/src/examples/test_bouncing_ball.c112
-rw-r--r--legacy/ephysics/src/examples/test_bouncing_text.c67
-rw-r--r--legacy/ephysics/src/examples/test_camera.c236
-rw-r--r--legacy/ephysics/src/examples/test_camera_track.c248
-rw-r--r--legacy/ephysics/src/examples/test_colliding_balls.c90
-rw-r--r--legacy/ephysics/src/examples/test_collision_detection.c187
-rw-r--r--legacy/ephysics/src/examples/test_collision_filter.c91
-rw-r--r--legacy/ephysics/src/examples/test_constraint.c117
-rw-r--r--legacy/ephysics/src/examples/test_delete.c193
-rw-r--r--legacy/ephysics/src/examples/test_forces.c114
-rw-r--r--legacy/ephysics/src/examples/test_growing_balls.c122
-rw-r--r--legacy/ephysics/src/examples/test_no_gravity.c133
-rw-r--r--legacy/ephysics/src/examples/test_rotating_forever.c206
-rw-r--r--legacy/ephysics/src/examples/test_shapes.c110
-rw-r--r--legacy/ephysics/src/examples/test_sleeping_threshold.c119
-rw-r--r--legacy/ephysics/src/examples/test_slider.c170
-rw-r--r--legacy/ephysics/src/examples/test_velocity.c211
-rw-r--r--legacy/ephysics/src/lib/EPhysics.h4710
-rw-r--r--legacy/ephysics/src/lib/ephysics_body.cpp5289
-rw-r--r--legacy/ephysics/src/lib/ephysics_body_materials.h37
-rw-r--r--legacy/ephysics/src/lib/ephysics_camera.cpp276
-rw-r--r--legacy/ephysics/src/lib/ephysics_constraints.cpp415
-rw-r--r--legacy/ephysics/src/lib/ephysics_main.cpp100
-rw-r--r--legacy/ephysics/src/lib/ephysics_private.h230
-rw-r--r--legacy/ephysics/src/lib/ephysics_quaternion.cpp332
-rw-r--r--legacy/ephysics/src/lib/ephysics_shape.cpp118
-rw-r--r--legacy/ephysics/src/lib/ephysics_trimesh.h335
-rw-r--r--legacy/ephysics/src/lib/ephysics_world.cpp1679
57 files changed, 0 insertions, 197970 deletions
diff --git a/legacy/ephysics/README b/legacy/ephysics/README
deleted file mode 100644
index ea32520530..0000000000
--- a/legacy/ephysics/README
+++ /dev/null
@@ -1,58 +0,0 @@
1EPhysics 0.1.0
2
3******************************************************************************
4
5 FOR ANY ISSUES PLEASE EMAIL:
6 enlightenment-devel@lists.sourceforge.net
7
8******************************************************************************
9
10Requirements:
11-------------
12
13Must:
14 libc
15 ecore (at least 1.2.99)
16 ecore-evas (at least 1.2.99)
17 evas (at least 1.2.99)
18 bullet (at least 2.79)
19
20EPhysics is a library that manages Ecore, Evas and Bullet Physics into
21an easy to use way. It's a kind of wrapper, a glue, between these libraries.
22It's not intended to be a physics library (we already have many out there).
23
24WARNING: if you are building Bullet Physics instead of using a package,
25use cmake build option. Autotools seems to be unmaintained.
26
27------------------------------------------------------------------------------
28
29COMPILING AND INSTALLING:
30
31 $ ./configure
32 $ make
33(as root unless you are installing in your users directories):
34 $ make install
35
36------------------------------------------------------------------------------
37
38TESTS
39
40There are a project with many tests for ephysics, including a logo example,
41and a sandbox util.
42
43It's called ephysics_test, and may be found at:
44
45http://svn.enlightenment.org/svn/e/trunk/ephysics_tests
46
47Tests require the library Elementary to be build.
48
49------------------------------------------------------------------------------
50
51DOCS
52
53To generate documentation, doxygen is required.
54
55 $ make doc
56
57will create a ephysics/doc/html directory. You could start looking at
58index.html.
diff --git a/legacy/ephysics/doc/examples.dox b/legacy/ephysics/doc/examples.dox
deleted file mode 100644
index 4f8115a666..0000000000
--- a/legacy/ephysics/doc/examples.dox
+++ /dev/null
@@ -1,1791 +0,0 @@
1/**
2 * @page Examples Examples
3 *
4 * Here is a page with examples.
5 *
6 * @li @ref tutorial_ephysics_bouncing_ball
7 * @li @ref tutorial_ephysics_bouncing_text
8 * @li @ref tutorial_ephysics_camera
9 * @li @ref tutorial_ephysics_camera_track
10 * @li @ref tutorial_ephysics_collision_detection
11 * @li @ref tutorial_ephysics_collision_filter
12 * @li @ref tutorial_ephysics_delete_body
13 * @li @ref tutorial_ephysics_constraint
14 * @li @ref tutorial_ephysics_forces
15 * @li @ref tutorial_ephysics_growing_balls
16 * @li @ref tutorial_ephysics_gravity
17 * @li @ref tutorial_ephysics_logo
18 * @li @ref tutorial_ephysics_rotating_forever
19 * @li @ref tutorial_ephysics_velocity
20 * @li @ref tutorial_ephysics_shapes
21 * @li @ref tutorial_ephysics_sleeping_threshold
22 * @li @ref tutorial_ephysics_slider
23 */
24
25/**
26 * @page tutorial_ephysics_bouncing_ball EPhysics - Bouncing Ball
27 *
28 * The purpose of this example is to show how to write an simple application -
29 * as the name suggests - with a small ball bouncing on the ground and
30 * responding to users events by making it jump - applying a central impulse on
31 * it.
32 *
33 * @image html bouncing_ball.png
34 * @image latex bouncing_ball.eps
35 *
36 * We'll guide you on defining a EPhysics world, defining its render geometry
37 * and the physics limiting boundaries, you'll learn how to add EPhysics bodies
38 * and how to associate it to evas objects. We also explain how to change
39 * restitution and friction properties. We see how to apply central impulse on
40 * a EPhysics_Body by implementing an elementary input event callback and
41 * calling the proper function.
42 *
43 * @section test-structure A test struct
44 * @dontinclude ephysics_test.h
45 *
46 * While in this example we'll be working with a struct to hold some objects in
47 * our code. For clarity sake we present you the struct declaration in the
48 * following block.
49 *
50 *
51 * @skip struct _Test_Data
52 * @until };
53 *
54 * @section world-new World Initialization
55 * @dontinclude test_bouncing_ball.c
56 *
57 * Calling ephysics_world_new()
58 * will create a new physics world with its collision configuration, constraint
59 * solver, broadphase interface and dispatcher.
60 *
61 * The default gravity is set to -9.81. It's possible to stop a running world
62 * but its default status is running. Take a look at
63 * ephysics_world_running_set() for further informations about world running
64 * status.
65 *
66 * @skipline ephysics_world_new
67 *
68 * @section render-geometry Render geometry
69 *
70 * By setting the render geometry you tell ephysics the dimensions of rendered
71 * area to be take on account by default updates.
72 *
73 * By default it starts with null x, y, z, width, height and depth. Initially
74 * there's no physics limits but - as we'll see later in this example -
75 * boundaries can be added by issuing either ephysics_body_top_boundary_add(),
76 * ephysics_body_bottom_boundary_add(), ephysics_body_left_boundary_add() and
77 * ephysics_body_right_boundary_add().
78 *
79 * While setting the worlds render geometry the first parameter is our just
80 * created world, the following parameters indicate the x, y, z, width, height
81 * and depth of our area of interest.
82 *
83 * @skip ephysics_world_render_geometry_set
84 * @until DEPTH);
85 *
86 * @section boundaries Adding boundaries
87 *
88 * Boundaries are physics limits added by EPhysics which you can use to limit
89 * the area where your objects can move around. Bear in mind that those
90 * boundaries are created by EPhysics taking in account the render geometry you
91 * have previously defined by calling ephysics_world_render_geometry_set().
92 *
93 * In our example we start by adding a bottom boundary. This EPhysics_Body
94 * represents a physics limit under the world render geometry.
95 *
96 * The second line states the restitution factor for that bottom boundary, and
97 * the third line its friction. These changes will make our ball to bounce
98 * whenever it hits the ground.
99 *
100 * @skip ephysics_body_bottom_boundary_add
101 * @until ephysics_body_friction_set
102 *
103 * Then we add a right boundary limiting the physics world on the left side, we
104 * also change its restitution and friction factors but with a smaller value,
105 * we don't want to make it bounce as much as it is when hits the ground.
106 *
107 * @skip ephysics_body_right_boundary_add
108 * @until ephysics_body_friction_set
109 *
110 * We also add a left boundary taking the same considerations for right
111 * boundary.
112 *
113 * @skip ephysics_body_left_boundary_add
114 * @until ephysics_body_friction_set
115 *
116 * One of this examples requirements is to make the ball jump after a specific
117 * user event, so the ball can suffer an impulse for any direction.
118 *
119 * With an upper impulse we don't want our ball to fly all over there, we want
120 * to limit its upper movements, it's intended to limit the ball movement
121 * within a box, it should not leave the render geometry area, for that purpose
122 * we must define a top boundary.
123 *
124 * @skipline ephysics_body_top_boundary_add
125 * @dontinclude test_bouncing_ball.c
126 *
127 * @section world-populate Adding a ball
128 *
129 * Since we have defined the physics limits with our boundaries it's time to
130 * add some fun. Here we add a ball as an elementary image widget and tell
131 * ephysics about it.
132 *
133 * After setting the file that will be used as the image's source of our elm
134 * image we move it to the center of render geometry and resize it to 70x70
135 * pixels and show it.
136 *
137 * @skip elm_image_add
138 * @until evas_object_show
139 *
140 * The evas object is just set and we must tell EPhysics about it, creating the
141 * EPhysics_Body representing our ball and associating it to the just created
142 * evas object.
143 *
144 * Once the ball has been moved to the center of render geometry it should
145 * start falling after associating it to the EPhysics_Body. By default its mass
146 * is initially set to 1 kilo, but it can be changed by calling
147 * ephysics_body_mass_set(). Bear in mind that if you change its mass to 0
148 * kilos it becomes a static body and will not move at all, the body will
149 * remain fixed in the initial position.
150 *
151 * In the following code the first line adds a circle body, then we associate
152 * the evas object to EPhysics_Body, EPhysics will map every changes on physics
153 * object simulation to its evas object. Some restitution and friction factors
154 * are added as well.
155 *
156 * @skip ephysics_body_cylinder_add
157 * @until ephysics_body_friction_set
158 *
159 * @section jumping-ball Making it jump
160 *
161 * The next step is to give us the ability to make our ball to jump - actually
162 * apply some impulse whenever a key has been pressed. Then we add a elementary
163 * input callback to the window widget.
164 *
165 * @skipline elm_object_event_callback_add
166 *
167 * @dontinclude test_bouncing_ball.c
168 *
169 * The jumping callback implementation consists on handling only key up events
170 * and discarding any other input event we get. We're interested on keyboard
171 * events only. All the operations done in the following lines are done on
172 * sphere EPhysics_Body previously created.
173 *
174 * We mainly use the ephysics_body_central_impulse_apply() function. This
175 * function applies an inpulse on the center of a body.
176 *
177 * Once pressed \<Up> key it applies a central impulse of 0 kilos on X axis,
178 * 10 kilos on Y and 0 kilos on Z - so the ball is forced up.
179 *
180 * If \<Down> key has been pressed we apply an impulse of 0 kilos on X axis,
181 * -10 kilos on Y and 0 kilos on Z - here the ball is forced down.
182 *
183 * In the case of \<Right> key pressing it's applied an impulse of 10 kilos on X
184 * axis, 0 kilos on Y and 0 kilos on Z - which applies a force to the right side.
185 * But if the key being pressed is \<Left> the opposite is done, and an impulse
186 * of -10 kilos is applied on X, 0 kilos on Y and 0 kilos on Z - and the ball is
187 * forced to the left.
188 *
189 * @skip _on_keydown
190 * @until }
191 *
192 * Here we finish the very simple bouncing ball example. The full source code
193 * can be found at @ref test_bouncing_ball_c.
194 *
195 */
196
197/**
198 * @page test_bouncing_ball_c test_bouncing_ball.c
199 *
200 * @section ephysics-test-h ephysics_test.h
201 * @include ephysics_test.h
202 *
203 * @section test-bouncing-ball-c test_bouncing_ball.c
204 * @dontinclude test.c
205 * @skip test_clean
206 * @until }
207 *
208 * @skip test_data_new
209 * @until }
210 *
211 * @skip test_win_add
212 * @until }
213 *
214 * @include test_bouncing_ball.c
215 *
216 *
217 * @example test_bouncing_ball.c
218 */
219
220/**
221 * @page tutorial_ephysics_bouncing_text EPhysics - Bouncing Text
222 *
223 * The purpose of this example is to demonstrate the EPhysics_Body binding to
224 * a text (Evas_Object)
225 *
226 * @image html bouncing_text.png
227 * @image latex bouncing_text.eps
228 *
229 * For this example we'll have an EPhysics_World and one basic EPhysics_Body.
230 *
231 * The basic concepts like - initializing an EPhysics_World, render geometry,
232 * physics limiting boundaries, were already covered in
233 * @ref tutorial_ephysics_bouncing_ball
234 *
235 * @section add-text Creating the text
236 * @dontinclude test_bouncing_text.c
237 *
238 * Create a basic evas_object_text.
239 *
240 * @skipline Evas_Object *text;
241 *
242 * @skip text =
243 * @until text);
244 *
245 * @section add-textbody Creating the body
246 *
247 * Create a simple EPhysics_Body.
248 *
249 * Note that we use ephysics_body_geometry_set() to define its size because
250 * the evas_object has a different size that we want to represent physically.
251 * The text may have accent or letters like j and g.
252 *
253 * @skipline text_body =
254 * @skip ephysics_body_geometry_set(text_body
255 * @until 0.1);
256 *
257 * @section text-binding Binding
258 * @dontinclude test_bouncing_text.c
259 *
260 * After creating the body and the text, now we need to bind them.
261 *
262 * We set the last parameter as EINA_FALSE because in this example we don't
263 * want to set the physics body position to match evas object position.
264 *
265 * @skipline ephysics_body_evas_object_set
266 *
267 * Here we finish the example. The full source code can be found at
268 * @ref test_bouncing_text_c.
269 *
270 */
271
272 /**
273 * @page test_bouncing_text_c test_bouncing_text.c
274 *
275 * @section ephysics-test-h ephysics_test.h
276 * @include ephysics_test.h
277 *
278 * @section test-bouncing_text-c test_bouncing_text.c
279 * @dontinclude test.c
280 *
281 * @skip test_clean
282 * @until }
283 *
284 * @skip test_data_new
285 * @until }
286 *
287 * @skip test_win_add
288 * @until }
289 *
290 * @include test_bouncing_text.c
291 *
292 * @example test_bouncing_text.c
293 */
294
295/**
296 * @page tutorial_ephysics_camera EPhysics - Camera
297 *
298 * The purpose of this example is to demonstrate the EPhysics_Camera usage.
299 *
300 * The EPhysics_Camera facilitates the usage of scenarios bigger than the
301 * viewport, thats because the EPhysics handles the position of objects
302 * which has control.
303 *
304 * @image html camera.png
305 * @image latex camera.eps
306 *
307 * For this example we'll have an EPhysics_World, two distant EPhysics_Bodys,
308 * one with an impulse to collide each other and an EPhysics_Camera that
309 * follows the moving body using an animator.
310 *
311 * The basic concepts like - initializing an EPhysics_World, render geometry,
312 * physics limiting boundaries, add an Ephysics_Body, associate it to evas
313 * objects, change restitution, friction and impulse properties, were
314 * already covered in
315 * @ref tutorial_ephysics_bouncing_ball
316 *
317 * @section add-camstruct Camera Data Struct
318 * @dontinclude test_camera.c
319 *
320 * While in this example we'll be working with a struct to hold some objects
321 * in our code. For clarity sake we present you the struct declaration in the
322 * following block.
323 *
324 * @skip struct _Camera_Data {
325 * @until };
326 *
327 * @section add-camera Adding a Camera
328 *
329 * To move the camera in this example, we'll use an animator.
330 *
331 * @skipline camera_data->animator = ecore_animator_add
332 *
333 * In the animators function, we'll have to create a specific type of variable:
334 * @ref EPhysics_Camera
335 * And also get the worlds rendered area width to define a limit to the camera.
336 *
337 * @dontinclude test_camera.c
338 *
339 * @skip _camera_move_cb(void *data
340 * @until &w, NULL, NULL);
341 *
342 * Every world has a camera, so here we get this camera used by our
343 * EPhysics_World.
344 *
345 * @skipline camera = ephysics_world_camera_get
346 *
347 * Here we get the cameras position to after set the position based on previous.
348 *
349 * @skipline ephysics_camera_position_get(camera
350 *
351 * Here we check if the camera reached the end of scenario (define the limit
352 * to the camera) then we stop the animator, else we move the camera + 2
353 * pixel positions to the right.
354 *
355 * @skip if (x + w > WIDTH * 2)
356 * @until ephysics_camera_position_set(camera, x, y
357 * @skipline }
358 *
359 * @section add-uptfloor Updating the floor
360 *
361 * Here we'll use 2 floor images to give the impression of an infinite ground.
362 *
363 * Calling ephysics_world_event_callback_add()
364 * will register a callback to a type of physics world event.
365 *
366 * @ref EPHYSICS_CALLBACK_WORLD_CAMERA_MOVED : called if the camera position
367 * changed on physics simulation tick.
368 *
369 * @skip ephysics_world_event_callback_add(world,
370 * @until _camera_moved_cb, camera_data);
371 *
372 * In the function, we just get the cameras position to know how much
373 * the camera moved and move the same value to the floor passing it as
374 * delta_x to the function, note that we use an old_x variable to do this
375 * calculation.
376 * @dontinclude test_camera.c
377 *
378 * @skip _camera_moved_cb(void *data
379 * @until }
380 *
381 * Here we get the floors position and plus the delta_x value to move the
382 * floor in the same "velocity".
383 *
384 * @dontinclude test_camera.c
385 *
386 * @skip _update_floor
387 * @until fx = x + delta
388 *
389 * We use 2 floor images because whenever one exits the screen by the left
390 * side, another is being shown, when it happens the one which exit the screen
391 * is sent to the right side, entering into an infinite loop, giving the
392 * impression of an infinite ground image. Its important to note that we need
393 * to use the fx to don't gap the images.
394 *
395 * @skip if (fx < -FLOOR_WIDTH
396 * @until }
397 *
398 * Here we finish the example. The full source code can be found at
399 * @ref test_camera_c.
400 *
401 */
402
403 /**
404 * @page test_camera_c test_camera.c
405 *
406 * @section ephysics-test-h ephysics_test.h
407 * @include ephysics_test.h
408 *
409 * @section test-camera-c test_camera.c
410 * @dontinclude test.c
411 *
412 * @skip test_clean
413 * @until }
414 *
415 * @skip test_win_add
416 * @until }
417 *
418 * @include test_camera.c
419 *
420 * @example test_camera.c
421 */
422
423/**
424 * @page tutorial_ephysics_camera_track EPhysics - Camera Track
425 *
426 * The purpose of this example is to demonstrate the EPhysics_Camera Track
427 * usage.
428 *
429 * The EPhysics_Camera facilitates the usage of scenarios bigger than the
430 * viewport, thats because the EPhysics handles the position of objects
431 * which has control.
432 *
433 * @image html camera_track.png
434 * @image latex camera_track.eps
435 *
436 * For this example we'll have an EPhysics_World, one main EPhysics_Body that
437 * will be tracked by an EPhysics_Camera on three ways, horizontal, vertical
438 * and full tracking. Also nine EPhysics_Bodys with mass 0, that will be used
439 * as scenario in order to our main body change its position on x and y axes
440 * when passes through this scenario.
441 *
442 * The basic concepts like - initializing an EPhysics_World, render geometry,
443 * physics limiting boundaries, add an Ephysics_Body, associate it to evas
444 * objects, change restitution, friction and impulse properties, were
445 * already covered in
446 * @ref tutorial_ephysics_bouncing_ball
447 *
448 * @section add-trkstruct Track Data Struct
449 * @dontinclude test_camera_track.c
450 *
451 * While in this example we'll be working with a struct to hold some objects
452 * in our code. For clarity sake we present you the struct declaration in the
453 * following block.
454 *
455 * @skip struct _Track_Data {
456 * @until };
457 *
458 * @section add-camera Adding a Camera
459 *
460 * In this example we'll use 3 kinds of tracking, to change this values we'll
461 * have an Elementary spinner widget and handle it on this function.
462 *
463 * Every world has a camera, so here we get this camera used by our
464 * EPhysics_World.
465 *
466 * @skip _track_apply(Track_Data *track
467 * @until camera = ephysics_world_camera_get(track_data->base.world
468 *
469 * Here we'll get the elm_spinner value to the tracking base on this
470 * value
471 *
472 * @skip mode =
473 * @until }
474 *
475 * Here we'll set the camera to track the body, when a body is tracked,
476 * the camera will move automatically, following this body. It will keeps the
477 * body centralized on rendered area. If it will be centralized horizontally
478 * and / or vertically depends if parameters horizontal and vertical are set
479 * to EINA_TRUE, in this case we based these values on elm_spinner.
480 *
481 * @skip ephysics_camera_body_track(camera, body
482 * @until }
483 *
484 * @section add-uptfloor Updating the floor
485 *
486 * Here we'll use 2 floor images to give the impression of an infinite ground.
487 *
488 * Calling ephysics_world_event_callback_add()
489 * will register a callback to a type of physics world event.
490 *
491 * @ref EPHYSICS_CALLBACK_WORLD_CAMERA_MOVED : called if the camera position
492 * changed on physics simulation tick.
493 *
494 * @skip ephysics_world_event_callback_add(world,
495 * @until _camera_moved_cb, track_data);
496 *
497 * In the function, we'll get the cameras position to know how much the camera
498 * moved and move the same value to the floor passing it as delta_x to the
499 * function, note that we use an old_x variable to do this calculation.
500 *
501 * We'll get also if the body is being tracked on x and y axes. If the body
502 * isn't being tracked on x axis the floors x position won't change, delta_x
503 * will be zero.
504 *
505 * @dontinclude test_camera_track.c
506 *
507 * @skip _camera_moved_cb(void *data
508 * @until }
509 *
510 * Here we get the floors position and plus the delta_x value to move the
511 * floor in the same "velocity".
512 *
513 * @dontinclude test_camera_track.c
514 *
515 * @skip _update_floor
516 * @until fx = x + delta
517 *
518 * We use 2 floor images because whenever one exits the screen by the left
519 * side, another is being shown, when it happens the one which exit the screen
520 * is sent to the right side, entering into an infinite loop, giving the
521 * impression of an infinite ground image. Its important to note that we need
522 * to use the fx to don't gap the images.
523 *
524 * Note that the fy is being defined considering its offsets, -20 is to the
525 * floor image be above the floor, thus having an border above the collision
526 * point, +40 is the render area height, to offset the cameras y, basically
527 * to draw in the correct position in the canvas.
528 *
529 * @skip if (fx < -FLOOR_WIDTH
530 * @until }
531 *
532 * Here we finish the example. The full source code can be found at
533 * @ref test_camera_track_c.
534 *
535 */
536
537 /**
538 * @page test_camera_track_c test_camera_track.c
539 *
540 * @section ephysics-test-h ephysics_test.h
541 * @include ephysics_test.h
542 *
543 * @section test-camera-track-c test_camera_track.c
544 * @dontinclude test.c
545 *
546 * @skip test_clean
547 * @until }
548 *
549 * @skip test_win_add
550 * @until }
551 *
552 * @include test_camera_track.c
553 *
554 * @example test_camera_track.c
555 */
556
557/**
558 * @page tutorial_ephysics_collision_detection EPhysics - Collision Detection
559 *
560 * The purpose of this example is to demonstrate the EPhysics Collision
561 * Detection usage - The code adds two balls, one with impulse and the second
562 * with a collision detection callback, to show an effect.
563 *
564 * @image html collision_detection.png
565 * @image latex collision_detection.eps
566 *
567 * For this example we'll have an EPhysics_World, and two basic EPhysics_Bodys,
568 * we'll apply an impulse in one of then and the other will be stopped
569 * "waiting" for a collision.
570 *
571 * The basic concepts like - initializing an EPhysics_World, render geometry,
572 * physics limiting boundaries, add an Ephysics_Body, associate it to evas
573 * objects, change restitution, friction and impulse properties, were
574 * already covered in
575 * @ref tutorial_ephysics_bouncing_ball
576 *
577 * @section add-collstruct Collision Data Struct
578 * @dontinclude test_collision_detection.c
579 *
580 * While in this example we'll be working with a struct to hold some objects
581 * in our code. For clarity sake we present you the struct declaration in the
582 * following block.
583 *
584 * @skip struct _Collision_Data {
585 * @until };
586 *
587 * @section add-callbacks Adding the Callback
588 *
589 * Calling ephysics_body_event_callback_add()
590 * will register a callback to a type of physics body event.
591 *
592 * @ref EPHYSICS_CALLBACK_BODY_COLLISION : called just after the collision has
593 * been actually processed by the physics engine. In other words, to be
594 * notified about a collision between two physical bodies.
595 *
596 * @skip ephysics_body_event_callback_add(collision_data->sphere
597 * @until );
598 *
599 * See
600 * @ref _EPhysics_Callback_Body_Type
601 * for more event types.
602 *
603 * @section add-collcb Collision Function
604 *
605 * The callback function will filter the collision to be sure if that body is
606 * which we want and then show the effect.
607 *
608 * First we need to create a specific variable type to get collision infos:
609 * @ref EPhysics_Body_Collision
610 *
611 * @dontinclude test_collision_detection.c
612 *
613 * @skip _collision_cb
614 * @until int x, y, z;
615 *
616 * Now we want to know which body collides with and filter it.
617 *
618 * @skip contact_body =
619 * @until return;
620 *
621 * We just get the collision position, move the impact effect to this
622 * coordinate and send a signal to edje to show it.
623 *
624 * @skip ephysics_body_collision_position_get
625 * @until "ephysics_test");
626 * @skipline }
627 *
628 * Here we finish the example. The full source code can be found at
629 * @ref test_collision_detection_c.
630 *
631 */
632
633 /**
634 * @page test_collision_detection_c test_collision_detection.c
635 *
636 * @section ephysics-test-h ephysics_test.h
637 * @include ephysics_test.h
638 *
639 * @section test-collision_detection-c test_collision_detection.c
640 * @dontinclude test.c
641 *
642 * @skip test_clean
643 * @until }
644 *
645 * @skip test_win_add
646 * @until }
647 *
648 * @include test_collision_detection.c
649 *
650 * @example test_collision_detection.c
651 */
652
653/**
654 * @page tutorial_ephysics_collision_filter EPhysics - Collision Filter
655 *
656 * The purpose of this example is to demonstrate the EPhysics Collision Filter
657 * usage - The code adds four balls in 2 rows and 2 columns, two on each
658 * collision group, the collision only happens when the balls are in the
659 * same group (row),to make it easier, balls in the same group has the same
660 * color and size.
661 *
662 * @image html collision_filter.png
663 * @image latex collision_filter.eps
664 *
665 * For this example we'll have an EPhysics_World and four basic EPhysics_Bodys,
666 * we'll apply an impulse on then and see what happens when they're in other
667 * collision group.
668 *
669 * The basic concepts like - initializing an EPhysics_World, render geometry,
670 * physics limiting boundaries, add an Ephysics_Body, associate it to evas
671 * objects, change restitution, friction and impulse properties, were
672 * already covered in
673 * @ref tutorial_ephysics_bouncing_ball
674 *
675 * @section add-callbacks Adding the balls
676 * @dontinclude test_collision_filter.c
677 *
678 * We'll use two arrays (color and size) to distinguish the groups.
679 *
680 * @skip _world_populate
681 * @until row;
682 *
683 * The balls declaration was placed into a For loop, just to simplify the
684 * coding and divide them in two groups.
685 *
686 * @skip for (i = 0; i < 4
687 * @until 0.1);
688 *
689 * Note in this part we divide the balls in two groups by color (row).
690 *
691 * @skipline ephysics_body_collision_group_add(fall_body
692 *
693 * The impulse will be applied in only 1 ball per group, in this case:
694 *
695 * The 1st row 2nd column ball will be applied an impulse to the
696 * left (-300kg * p/s).
697 *
698 * The 2nd row 1st column ball will be applied an impulse to the
699 * right (300kg * p/s).
700 *
701 * And then saving the body into a list.
702 *
703 * @skip if (column + row == 1
704 * @until }
705 * @skipline }
706 *
707 * Here we finish the example. The full source code can be found at
708 * @ref test_collision_filter_c.
709 *
710 */
711
712 /**
713 * @page test_collision_filter_c test_collision_filter.c
714 *
715 * @section ephysics-test-h ephysics_test.h
716 * @include ephysics_test.h
717 *
718 * @section test-collision_filter-c test_collision_filter.c
719 * @dontinclude test.c
720 *
721 * @skip test_clean
722 * @until }
723 *
724 * @skip test_data_new
725 * @until }
726 *
727 * @skip test_win_add
728 * @until }
729 *
730 * @include test_collision_filter.c
731 *
732 * @example test_collision_filter.c
733 */
734
735/**
736 * @page tutorial_ephysics_delete_body EPhysics - Delete Body
737 *
738 * The purpose of this example is to demonstrate the EPhysics Callbacks usage -
739 * The code adds two balls, one with impulse and the second with a collision
740 * detection callback, to delete the body.
741 *
742 * For this example we'll have an EPhysics_World and two basic EPhysics_Bodys,
743 * we'll apply an impulse in one of then and the other will be stopped
744 * "waiting" for a collision.
745 *
746 * The basic concepts like - initializing an EPhysics_World, render geometry,
747 * physics limiting boundaries, add an EPhysics_Body, associate it to evas
748 * objects, change restitution, friction and impulse properties, were already
749 * covered in
750 * @ref tutorial_ephysics_bouncing_ball
751 *
752 * @section add-callbacks Adding Callbacks
753 * @dontinclude test_delete.c
754 *
755 * Calling ephysics_body_event_callback_add()
756 * registers a callback to a given EPhysics_Body event type.
757 *
758 * We'll use two types:
759 *
760 * @ref EPHYSICS_CALLBACK_BODY_DEL : called when a body deletion has been issued
761 * and just before the deletion actually happens. In other words, to know that
762 * body has been marked for
763 * deletion. Typically to free some data associated with the body.
764 *
765 * @skipline ephysics_body_event_callback_add(sphere_body1,
766 * @skip EPHYSICS_CALLBACK_BODY_DEL
767 * @until );
768 *
769 * The callback function will receive the collision_data and free some data
770 * associated with the body.
771 *
772 * @dontinclude test_delete.c
773 *
774 * @skip _del_cb(void *data,
775 * @until }
776 *
777 * @ref EPHYSICS_CALLBACK_BODY_COLLISION : called just after the collision has
778 * been actually processed by the physics engine. In other words, to be notified
779 * about a collision between two physical bodies.
780 *
781 * @skip ephysics_body_event_callback_add(collision_data->sphere,
782 * @until );
783 *
784 * The callback function will get the collision body and check if its body is
785 * equal to which we want to delete.
786 *
787 * @dontinclude test_delete.c
788 *
789 * @skip _collision_cb(void *data,
790 * @until }
791 *
792 * See
793 * @ref _EPhysics_Callback_Body_Type
794 * for more event types.
795 *
796 * Here we finish the example. The full source code can be found at
797 * @ref test_delete_c.
798 *
799 */
800
801 /**
802 * @page test_delete_c test_delete.c
803 *
804 * @section ephysics-test-h ephysics_test.h
805 * @include ephysics_test.h
806 *
807 * @section test-delete-c test_delete.c
808 * @dontinclude test.c
809 * @skip test_clean
810 * @until }
811 *
812 * @skip test_win_add
813 * @until }
814 *
815 * @include test_delete.c
816 *
817 * @example test_delete.c
818 */
819
820 /**
821 * @page tutorial_ephysics_constraint EPhysics - Constraint
822 *
823 * The purpose of this example is to demonstrate the EPhysics Constraint usage -
824 * The code apply a constraint between two cubes.
825 *
826 * For this example we'll have an EPhysics_World, and two basic EPhysics_Bodys.
827 *
828 * The basic concepts like - defining an EPhysics_World, render geometry,
829 * physics limiting boundaries, add an EPhysics_Body, associate it to evas
830 * objects, change restitution, friction and impulse properties, were
831 * already covered in
832 * @ref tutorial_ephysics_bouncing_ball
833 *
834 * You can use also a slider constraint:
835 * @ref tutorial_ephysics_slider
836 *
837 * @section add-constraint Adding a constraint
838 * @dontinclude test_constraint.c
839 *
840 * Constraint is a specific type of variable in EPhysics.
841 *
842 * @skipline EPhysics_Constraint
843 *
844 * Here we're working with a point-to-point constraint, its purpose is to join
845 * two bodies limiting their movements based on specified anchors.
846 *
847 * After we create our 2 EPhysics_Bodys, now we'll add a constraint between
848 * them and setting an anchor to first body's Y using a p2p constraint
849 * (point to point).
850 *
851 * @skip constraint = ephysics_constraint_p2p
852 * @until );
853 *
854 * Here we finish the example. The full source code can be found at
855 * @ref test_constraint_c.
856 *
857 */
858
859 /**
860 * @page test_constraint_c test_constraint.c
861 *
862 * @section ephysics-test-h ephysics_test.h
863 * @include ephysics_test.h
864 *
865 * @section test-constraint-c test_constraint.c
866 * @dontinclude test.c
867 *
868 * @skip test_clean
869 * @until }
870 *
871 * @skip test_data_new
872 * @until }
873 *
874 * @skip test_win_add
875 * @until }
876 *
877 * @include test_constraint.c
878 *
879 * @example test_constraint.c
880 */
881
882 /**
883 * @page tutorial_ephysics_forces EPhysics - Forces
884 *
885 * The purpose of this example is to demonstrate the EPhysics Force usage -
886 * The code applies force over two cubes.
887 *
888 * @image html forces.png
889 * @image latex forces.eps
890 *
891 * For this example we'll have an EPhysics_World with gravity setted to zero,
892 * and two basic EPhysics_Bodys.
893 *
894 * The basic concepts like - defining an EPhysics_World, render geometry,
895 * physics limiting boundaries, add an EPhysics_Body, associate it to evas
896 * objects, change restitution, friction and impulse properties, were
897 * already covered in
898 * @ref tutorial_ephysics_bouncing_ball
899 *
900 * @section add-force Adding a Force
901 * @dontinclude test_forces.c
902 *
903 * We apply a force over the first body to change its linear and angular
904 * accelerations. Applying a force to a body will lead it to change its
905 * velocity gradually.
906 *
907 * Note that in this blue cube we use an offset to apply the force, the two
908 * last parameters are responsible to set a relative position to apply the
909 * force.In other words, the force applied with an offset will make the body
910 * rotates. Otherwise (0, 0, 0) the force would be applied on the center of the
911 * body, in this case its recomended use the
912 * ephysics_body_central_force_apply();
913 *
914 * @skipline ephysics_body_force_apply(box_body1
915 *
916 * Here we apply a central force over the second body avoiding affect the
917 * angular acceleration (rotate).
918 *
919 * @skipline ephysics_body_central_force_apply(box_body2
920 *
921 * We can also get all the forces applied over a body, including gravity, but
922 * in this case we setted to zero.
923 *
924 * @dontinclude test_forces.c
925 *
926 * @skipline ephysics_body_forces_get(
927 *
928 * Here we finish the example. The full source code can be found at
929 * @ref test_forces_c.
930 *
931 */
932
933 /**
934 * @page test_forces_c test_forces.c
935 *
936 * @section ephysics-test-h ephysics_test.h
937 * @include ephysics_test.h
938 *
939 * @section test-forces-c test_forces.c
940 * @dontinclude test.c
941 *
942 * @skip test_clean
943 * @until }
944 *
945 * @skip test_data_new
946 * @until }
947 *
948 * @skip test_win_add
949 * @until }
950 *
951 * @include test_forces.c
952 *
953 * @example test_forces.c
954 */
955
956 /**
957 * @page tutorial_ephysics_growing_balls EPhysics - Growing Balls
958 *
959 * The purpose of this example is to demonstrate the dynamically growing
960 * and shrinking of an EPhysics_Body - The code applies the growth of a ball
961 * and the shrink of another.
962 *
963 * @image html growing_balls.png
964 * @image latex growing_balls.eps
965 *
966 * For this example we'll have an EPhysics_World and three EPhysics_Bodys
967 * with different sizes associated with an evas_object.
968 *
969 * The basic concepts like - defining an EPhysics_World, render geometry,
970 * physics limiting boundaries, add an EPhysics_Body, associate it to evas
971 * objects, change restitution, friction and impulse properties, were
972 * already covered in
973 * @ref tutorial_ephysics_bouncing_ball
974 *
975 * @section add-growshrink Adding the growing/shrinking
976 * @dontinclude test_growing_balls.c
977 *
978 * In this example we'll use a timer to handle the callback function.
979 *
980 * @skipline test_data->data = ecore_timer_add
981 *
982 * In this callback, we'll pass through a list with 3 balls and apply the
983 * growth and the shrink between the limit we'll set. Note that the variable
984 * i recieves different values on each iteration (-1, 0, 1). For the first
985 * iteration it will decrease the size variable, the second will keep the
986 * same value, and the last one will increase the size variable.
987 *
988 * @dontinclude test_growing_balls.c
989 *
990 * @skip _grow_cb(void *data
991 * @until return EINA_TRUE;
992 * @skipline }
993 *
994 * Here we finish the example. The full source code can be found at
995 * @ref test_growing_balls_c.
996 *
997 */
998
999 /**
1000 * @page test_growing_balls_c test_growing_balls.c
1001 *
1002 * @section ephysics-test-h ephysics_test.h
1003 * @include ephysics_test.h
1004 *
1005 * @section test-growing-balls-c test_growing_balls.c
1006 * @dontinclude test.c
1007 *
1008 * @skip test_clean
1009 * @until }
1010 *
1011 * @skip test_data_new
1012 * @until }
1013 *
1014 * @skip test_win_add
1015 * @until }
1016 *
1017 * @include test_growing_balls.c
1018 *
1019 * @example test_growing_balls.c
1020 */
1021
1022 /**
1023 * @page tutorial_ephysics_gravity EPhysics - Gravity
1024 *
1025 * The purpose of this example is to demonstrate the EPhysics Gravity usage -
1026 * The code apply gravity in an EPhysics_World with two cubes in movement.
1027 *
1028 * @image html no_gravity.png
1029 * @image latex no_gravity.eps
1030 *
1031 * For this example we'll have an EPhysics_World, and two basic EPhysics_Bodys.
1032 *
1033 * The basic concepts like - defining an EPhysics_World, render geometry,
1034 * physics limiting boundaries, add an EPhysics_Body, associate it to evas
1035 * objects, change restitution, friction and impulse properties, were
1036 * already covered in
1037 * @ref tutorial_ephysics_bouncing_ball
1038 *
1039 * Concepts like velocity and sleeping threshold were already
1040 * covered in:
1041 * @li @ref tutorial_ephysics_velocity
1042 * @li @ref tutorial_ephysics_sleeping_threshold
1043 *
1044 * @section add-gravity Setting Gravity
1045 * @dontinclude test_no_gravity.c
1046 *
1047 * Here we set gravity on 3 axes (x, y, z) to (0, 0, 0). Gravity will act
1048 * over bodies with mass over all the time.
1049 *
1050 * @skipline ephysics_world_gravity_set
1051 *
1052 * @section add-stopbody Stopping a Body
1053 * @dontinclude test_no_gravity.c
1054 *
1055 * We're using a button to call this function that receives test_data to stop
1056 * the chosen body.
1057 *
1058 * Stop angular and linear body movement, its equivalent to set linear velocity
1059 * to 0 on both axis and angular velocity to 0 as well.
1060 *
1061 * @skip _stop(void *data
1062 * @until body);
1063 * @skipline }
1064 *
1065 * Here we finish the example. The full source code can be found at
1066 * @ref test_no_gravity_c.
1067 *
1068 */
1069
1070 /**
1071 * @page test_no_gravity_c test_no_gravity.c
1072 *
1073 * @section ephysics-test-h ephysics_test.h
1074 * @include ephysics_test.h
1075 *
1076 * @section test-no-gravity-c test_no_gravity.c
1077 * @dontinclude test.c
1078 *
1079 * @skip test_clean
1080 * @until }
1081 *
1082 * @skip test_data_new
1083 * @until }
1084 *
1085 * @skip test_win_add
1086 * @until }
1087 *
1088 * @include test_no_gravity.c
1089 *
1090 * @example test_no_gravity.c
1091 */
1092
1093/**
1094 * @page tutorial_ephysics_logo EPhysics - Logo
1095 *
1096 * The purpose of this example is to demonstrate the EPhysics_Logo.
1097 *
1098 * For this example we'll have an EPhysics_World.
1099 *
1100 * The basic concepts like - initializing an EPhysics_World, render geometry,
1101 * physics limiting boundaries, were already covered in
1102 * @ref tutorial_ephysics_bouncing_ball
1103 *
1104 * @section add-logostruct Logo Data Struct
1105 * @dontinclude ephysics_logo.c
1106 *
1107 * While in this example we'll be working with a struct to hold some objects
1108 * in our code. For clarity sake we present you the struct declaration in the
1109 * following block.
1110 *
1111 * @skip struct letter_desc {
1112 * @until };
1113 *
1114 * @section add-lett Adding the letters
1115 * @dontinclude ephysics_logo.c
1116 *
1117 * To add the letters we'll use this function that creates the shadow, light
1118 * and letter images.
1119 *
1120 * @skip _letter_add(Evas *evas
1121 * @until }
1122 *
1123 * In this loop we'll use the function letter_add using the falling_letters
1124 * declared in logo data struct.
1125 *
1126 * @skip for (i = 0; i < EINA_C_ARRAY
1127 * @until (image, &w, &h);
1128 *
1129 * Place image and light on top, above what the viewport can show, to fall
1130 * later on.
1131 *
1132 * @skip evas_object_move(image, x,
1133 * @until evas_object_move(light, x, -h * (i + 1) - 50);
1134 *
1135 * Place shadow below the hit-line: FLOOR_Y, centered at image.
1136 *
1137 * @skipline evas_object_move(shadow, x + CENTER(w, sh_w
1138 *
1139 * Here we set the letters padding and add letter body using the function
1140 * below and setting its friction.
1141 *
1142 * @skip x += falling_letters[i].padd
1143 * @until }
1144 *
1145 * Here we call another function that will be common to the circle body as
1146 * well, note that we add a callback that will be explained later.
1147 * @dontinclude ephysics_logo.c
1148 *
1149 * @skip _letter_body_box_add(EPhysics_World *world
1150 * @until }
1151 *
1152 * This function is used to create the body setting its properties. Note that
1153 * we disable its angular movement (rotation) on Z axis to this letters don't
1154 * tilt or recline.
1155 * @dontinclude ephysics_logo.c
1156 *
1157 * @skip _letter_body_setup_common(EPhysics_Body *body
1158 * @until }
1159 *
1160 * In this callback function that we added to our letter body we'll update its
1161 * light and shadow.
1162 *
1163 * First we'll update the body, get its image geometry and set the floor
1164 * distance based on images height.
1165 *
1166 * @dontinclude ephysics_logo.c
1167 *
1168 * @skip _update_box_cb(void *data
1169 * @until floor_distance = FLOOR_Y - h;
1170 *
1171 * As long as the letter approaches the floor, its shadow is darker, with bigger y.
1172 *
1173 * @skip if (y > SH_THRESHOLD)
1174 * @until &sh_h);
1175 * @skipline alpha = 255 * (y - SH_THRESHOLD)
1176 *
1177 * And with bigger x -- its proportional to x / WIDTH, but varies from 100 to
1178 * 255
1179 *
1180 * @skip pos_x = (double) x /
1181 * @until PROP_GET(pos_x, 100, 255);
1182 *
1183 * Note that the box shadow is not resized, just moved. And here set also the
1184 * colors.
1185 *
1186 * @skip evas_object_move(shadow, x +
1187 * @until alpha, alpha);
1188 *
1189 * As long as the letter approaches the floor, its lighter, with bigger x and y.
1190 *
1191 * @skipline evas_object_move(light, x
1192 * @skipline alpha = (y <= 0) ? 0 : y * 255
1193 * @skip alpha = alpha * (x - OFFSET_X + 80)
1194 * @until }
1195 *
1196 * @section add-lettere Adding the letter E
1197 *
1198 * Here we'll add the last letter, "E" is a circle that comes rolling on
1199 * the floor.
1200 *
1201 * First we use the letter_add function, set its shadow color and get
1202 * its sizes.
1203 *
1204 * @skip _letter_add(evas, "E", &image
1205 * @until evas_object_image_size_get(image, &w, &h);
1206 *
1207 * Place image and light above the floor and to the left of viewport, to comes
1208 * rolling later on.
1209 *
1210 * @skip evas_object_move(image, -w - 1, FLOOR_Y
1211 * @until evas_object_move(light, -w - 1, FLOOR_Y - h + 1);
1212 *
1213 * Place the shadow below the hit-line: FLOOR_Y centered at image.
1214 *
1215 * @skipline evas_object_move(shadow, -w - 1 + CENTER(w, sh_w)
1216 *
1217 * Here we create the body using body_circle function and enable its rotation
1218 * on Z axis.
1219 *
1220 * @skip letter_body = _letter_body_circle_add
1221 * @until letter_body, EINA_TRUE);
1222 *
1223 * Make the "E" logo get into the viewport by applying a horizontal force.
1224 *
1225 * @skipline ephysics_body_central_impulse_apply(letter_body
1226 *
1227 * Here we use the letter_body_setup_common to create the body and set its
1228 * properties, note that we add a callback that will be explained below.
1229 * @dontinclude ephysics_logo.c
1230 *
1231 * @skip _letter_body_circle_add(EPhysics_World *world
1232 * @until }
1233 *
1234 * In this callback function that we added to our "E" letter body we'll update
1235 * its light and shadow.
1236 *
1237 * First we'll update the body and get its image geometry.
1238 *
1239 * @dontinclude ephysics_logo.c
1240 *
1241 * @skip _update_circle_cb(void *data
1242 * @until geometry_get(image, &x, &y, &w, &h);
1243 *
1244 * As long as the letter approaches the floor, its lighter, with bigger x.
1245 *
1246 * @skip evas_object_move(light, x
1247 * @until alpha, alpha);
1248 *
1249 * Use the same map from image to the light (rotate it).
1250 *
1251 * @skip map = evas_object_map_get(image
1252 * @until light, EINA_TRUE);
1253 *
1254 * As long as the letter approaches the floor, its shadow is darker, with
1255 * bigger y.
1256 *
1257 * @skip evas_object_image_size_get(shadow,
1258 * @until alpha, alpha);
1259 *
1260 * When the letter "E" passes the viewport, we send it to the begin again to
1261 * collide with the other letters.
1262 *
1263 * @skip if (x > E_THRESHOLD)
1264 * @until }
1265 *
1266 * Here we finish the example. The full source code can be found at
1267 * @ref ephysics_logo_c.
1268 *
1269 */
1270
1271 /**
1272 * @page ephysics_logo_c ephysics_logo.c
1273 *
1274 * @section ephysics-logo-c ephysics_logo.c
1275 * @include ephysics_logo.c
1276 *
1277 * @example ephysics_logo.c
1278 */
1279
1280 /**
1281 * @page tutorial_ephysics_rotating_forever EPhysics - Rotating Forever
1282 *
1283 * The purpose of this example is to demonstrate the EPhysics Rotate usage -
1284 * The code applies different ways to rotate an EPhysics_Body, such as torque,
1285 * torque impulse and rotation set.
1286 *
1287 * For this example we'll have an EPhysics_World with gravity setted to zero,
1288 * and four basic EPhysics_Bodys.
1289 *
1290 * The basic concepts like - defining an EPhysics_World, render geometry,
1291 * physics limiting boundaries, add an EPhysics_Body, associate it to evas
1292 * objects, change restitution, friction and impulse properties, were
1293 * already covered in
1294 * @ref tutorial_ephysics_bouncing_ball
1295 *
1296 * @section add-rotate Rotating
1297 * @dontinclude test_rotating_forever.c
1298 *
1299 * For the first body we'll apply a torque impulse to make it rotate around Z
1300 * axis (rotate on x-y plane). Will make the body rolls on clockwise rotation,
1301 * if the value is negative, the impulse will be on counter clockwise.
1302 *
1303 * @skipline ephysics_body_torque_impulse_apply(body, 0, 0, 1);
1304 *
1305 * For the second body we'll use an offset to apply the force, the three
1306 * last parameters are responsible to set a relative position to apply the
1307 * force.In other words, the force applied with an offset will make the body
1308 * rotates and move around the other cubes.
1309 *
1310 * @skipline ephysics_body_impulse_apply(body, 30, 0
1311 *
1312 * For the third body we'll use a timer to rotate the body and a callback to
1313 * delete it.
1314 *
1315 * @skip timer = ecore_timer_add(1, _rotate_cb
1316 * @until _del_cb, timer);
1317 *
1318 * @dontinclude test_rotating_forever.c
1319 * @skip _del_cb(void *data
1320 * @until }
1321 *
1322 * In the function we'll get the body rotation on z axis in degrees and handle
1323 * it increasing 5 degrees on its position on z axis on each tick of the timer.
1324 *
1325 * @dontinclude test_rotating_forever.c
1326 * @skip _rotate_cb(void *data
1327 * @until }
1328 *
1329 * For the forth body we'll use 2 timers, but before that, we'll apply an
1330 * initial torque, changing the body angular acceleration and a callback to
1331 * delete the timers we'll add.
1332 *
1333 * @skipline ephysics_body_torque_apply(body, 0, 0, 2
1334 * @skipline ephysics_body_event_callback_add(body,
1335 * @skipline EPHYSICS_CALLBACK_BODY_DEL,
1336 * @skipline _del_torque_cb, cube);
1337 *
1338 * Just the callback function to delete the timers.
1339 *
1340 * @dontinclude test_rotating_forever.c
1341 * @skip _del_torque_cb(void *data
1342 * @until }
1343 *
1344 * As we commented we'll use 2 timers, one to increase the torque and
1345 * another to stop the torque, cleaning the forces related to the body.
1346 *
1347 * @skip timer = ecore_timer_add(3, _increase
1348 * @until "stop_timer", timer);
1349 *
1350 * In the increase function we'll apply a torque over the body, changing
1351 * its angular acceleration, it will leads to a change on angular velocity
1352 * over time. We're using a timer to increase the angular acceleration on
1353 * each tick of the timer.
1354 *
1355 * @dontinclude test_rotating_forever.c
1356 * @skip _increase_torque_cb(void *data
1357 * @until }
1358 *
1359 * In the stop function we'll clear all the forces applied to the body,
1360 * setting its linear and angular acceleration to zero. We're using this
1361 * timer to "control" the body velocity, since we are increasing it by
1362 * another timer. Note that we set the acceleration to zero not the
1363 * velocity.
1364 *
1365 * @skip _stop_torque_cb(void *data
1366 * @until }
1367 *
1368 * Here we finish the example. The full source code can be found at
1369 * @ref test_rotating_forever_c.
1370 *
1371 */
1372
1373 /**
1374 * @page test_rotating_forever_c test_rotating_forever.c
1375 *
1376 * @section ephysics-test-h ephysics_test.h
1377 * @include ephysics_test.h
1378 *
1379 * @section test-rotating-forever-c test_rotating_forever.c
1380 * @dontinclude test.c
1381 *
1382 * @skip test_clean
1383 * @until }
1384 *
1385 * @skip test_data_new
1386 * @until }
1387 *
1388 * @skip test_win_add
1389 * @until }
1390 *
1391 * @include test_rotating_forever.c
1392 *
1393 * @example test_rotating_forever.c
1394 */
1395
1396/**
1397 * @page tutorial_ephysics_velocity EPhysics - Velocity
1398 *
1399 * The purpose of this example is to demonstrate the EPhysics Velocity usage -
1400 * The code adds a small bouncing ball on the ground and responding to users
1401 * events by making it jump - applying a central impulse on it and showing its
1402 * velocity and acceleration.
1403 *
1404 * We'll see in this example how to get EPhysics_Body Linear and Angular
1405 * velocity and acceleration.
1406 *
1407 * For this example we'll have an EPhysics_World and one basic EPhysics_Body,
1408 * we'll apply impulses that follows user events, it were already covered in
1409 * @ref tutorial_ephysics_bouncing_ball
1410 *
1411 * @section add-velstruct Velocity Data Struct
1412 * @dontinclude test_velocity.c
1413 *
1414 * While in this example we'll be working with a struct to hold some objects
1415 * in our code. For clarity sake we present you the struct declaration in the
1416 * following block.
1417 *
1418 * @skip struct _Velocity_Data {
1419 * @until };
1420 *
1421 * @section add-callbacks Adding the Callbacks
1422 *
1423 * Calling ephysics_body_event_callback_add()
1424 * will register a callback to a type of physics body event.
1425 *
1426 * @ref EPHYSICS_CALLBACK_BODY_UPDATE : called after every physics iteration.
1427 * In other words, will be called after each world tick.
1428 *
1429 * @skipline ephysics_body_event_callback_add(sphere_body, EPHYSICS_CALLBACK_
1430 * @skipline _update_vel_cb
1431 *
1432 * @ref EPHYSICS_CALLBACK_BODY_STOPPED : called when a body is found to be
1433 * stopped. In other words, when the body is not moving anymore.
1434 *
1435 * @skip ephysics_body_event_callback_add(sphere_body, EPHYSICS_CALLBACK_BODY_ST
1436 * @until );
1437 *
1438 * See
1439 * @ref _EPhysics_Callback_Body_Type
1440 * for more event types.
1441 *
1442 * @section add-velcb Velocity Function
1443 *
1444 * The callback function will be called on every physics iteration to show the
1445 * linear and angular velocity and acceleration.
1446 *
1447 * Here we're declaring the necessary variables to calculate acelerations and
1448 * delta time. And checking if its the first time to return before shows
1449 * informations about the velocity.
1450 *
1451 * @dontinclude test_velocity.c
1452 *
1453 * @skip _update_vel_cb(void *data,
1454 * @until EINA_TRUE;
1455 *
1456 * Get the delta time to use it soon to calculate the acceleration on every
1457 * physics iteration.
1458 *
1459 * @skip time_now = ecore_time_get();
1460 * @until time_now;
1461 *
1462 * Note in this part we get the angular and linear velocities.
1463 *
1464 * @skip ephysics_body_angular_velocity_get
1465 * @until &vy, NULL);
1466 *
1467 * We need to handle the velocity using delta time to have the acceleration
1468 * on every tick. Check if its the first time to return before shows
1469 * informations about the velocity because we dont have the old aceletations
1470 * and then the calculation of this informations will be wrong.
1471 *
1472 * Here we calculate the aceletarions using this formula:
1473 *
1474 * (velocity - old_velocity) / delta_time;
1475 *
1476 * @skip aaz = (vaz -
1477 * @until return;
1478 *
1479 * Turning data into text, to pass it to edje shows on screen.
1480 *
1481 * @skip snprintf(buff,
1482 * @until "linear_acc", buff);
1483 * @skip snprintf(buff,
1484 * @until "angular_acc", buff);
1485 * @skipline }
1486 *
1487 * Here we finish the example. The full source code can be found at
1488 * @ref test_velocity_c.
1489 *
1490 */
1491
1492 /**
1493 * @page test_velocity_c test_velocity.c
1494 *
1495 * @section ephysics-test-h ephysics_test.h
1496 * @include ephysics_test.h
1497 *
1498 * @section test-velocity-c test_velocity.c
1499 * @dontinclude test.c
1500 *
1501 * @skip test_clean
1502 * @until }
1503 *
1504 * @skip test_win_add
1505 * @until }
1506 *
1507 * @include test_velocity.c
1508 *
1509 * @example test_velocity.c
1510 */
1511
1512 /**
1513 * @page tutorial_ephysics_shapes EPhysics - Shapes
1514 *
1515 * The purpose of this example is to demonstrate the EPhysics Shapes
1516 * usage - The code creates two EPhysics_Bodys using a custom shape.
1517 *
1518 * @image html shapes.png
1519 * @image latex shapes.eps
1520 *
1521 * For this example we'll have an EPhysics_World, and two basic EPhysics_Bodys.
1522 *
1523 * The basic concepts like - defining an EPhysics_World, render geometry,
1524 * physics limiting boundaries, add an EPhysics_Body, associate it to evas
1525 * objects, change restitution, friction and impulse properties, were
1526 * already covered in
1527 * @ref tutorial_ephysics_bouncing_ball
1528 *
1529 * @section add-shape Adding a Shape
1530 * @dontinclude test_shapes.c
1531 *
1532 * Shapes are used to create bodies with shapes that differ from primitive
1533 * ones, like box and circle.
1534 *
1535 * A shape consists in a group of points, the vertices of the body to be
1536 * created later with ephysics_body_shape_add(). You can also save and load
1537 * it from a file.
1538 *
1539 * We'll have to create a specific type of variable:
1540 * @ref EPhysics_Shape
1541 *
1542 * @skip _world_populate(Test_Data
1543 * @until Evas_Object *pentagon,
1544 *
1545 * First we add an image we want to add an EPhysics_Body to have a reference
1546 * to after set the points (vertices).
1547 *
1548 * @skip pentagon = elm_image_add
1549 * @until evas_object_show(pentagon);
1550 *
1551 * Here we create a new shape, note that the returned shape initially
1552 * doesn't has points set, so its requiered to set vertices.
1553 *
1554 * @skipline pentagon_shape =
1555 *
1556 * Now we're setting the shape points (vertices) basing on the image that
1557 * we added, two vertices form a link between them, an edge, so with some
1558 * vertices is possible to create polygons, in this case a pentagon.
1559 *
1560 * @skip ephysics_shape_point_add(pentagon_shape
1561 * @until , 21/35., 1, 1);
1562 *
1563 * Here we create a new physics body using a custom shape. The center of mass
1564 * will be the center of the shape. Its collision shape will be the convex
1565 * shape that has all the points (and edges) we added to this shape before.
1566 *
1567 * @skip pentagon_body = ephysics_body_shape_add
1568 * @until ephysics_body_restitution_set(pentagon_body, 1);
1569 *
1570 * Here we just delete the custom shape (not the body) after used to create
1571 * the wanted bodies, it's required to delete it. It won't be deleted
1572 * automatically by ephysics at any point, even on shutdown.
1573 *
1574 * @skipline ephysics_shape_del(pentagon_shape
1575 *
1576 * In the example we add another shape with the same process we just used,
1577 * but with different image and points.
1578 *
1579 * @dontinclude test_shapes.c
1580 *
1581 * @skip ephysics_shape_point_add(hexagon_shape
1582 * @until 18, 60, 10);
1583 *
1584 * Here we finish the example. The full source code can be found at
1585 * @ref test_shapes_c.
1586 *
1587 */
1588
1589 /**
1590 * @page test_shapes_c test_shapes.c
1591 *
1592 * @section ephysics-test-h ephysics_test.h
1593 * @include ephysics_test.h
1594 *
1595 * @section test-shapes-c test_shapes.c
1596 * @dontinclude test.c
1597 *
1598 * @skip test_clean
1599 * @until }
1600 *
1601 * @skip test_data_new
1602 * @until }
1603 *
1604 * @skip test_win_add
1605 * @until }
1606 *
1607 * @include test_shapes.c
1608 *
1609 * @example test_shapes.c
1610 */
1611
1612 /**
1613 * @page tutorial_ephysics_sleeping_threshold EPhysics - Sleeping Threshold
1614 *
1615 * The purpose of this example is to demonstrate the EPhysics Sleeping
1616 * Threshold usage - The code apply sleeping threshold in two cubes.
1617 *
1618 * For this example we'll have an EPhysics_World, and two basic EPhysics_Bodys.
1619 *
1620 * The basic concepts like - defining an EPhysics_World, render geometry,
1621 * physics limiting boundaries, add an EPhysics_Body, associate it to evas
1622 * objects, change restitution, friction and impulse properties, were
1623 * already covered in
1624 * @ref tutorial_ephysics_bouncing_ball
1625 *
1626 * Concept of velocity were already covered in
1627 * @ref tutorial_ephysics_velocity
1628 *
1629 * @section add-maxsleeping Adding Max Sleeping Time
1630 * @dontinclude test_sleeping_threshold.c
1631 *
1632 * Setting the max sleeping time determines how long(in seconds) a rigid body
1633 * under the linear and angular threshold is supposed to be marked as sleeping.
1634 *
1635 * @skipline ephysics_world_max_sleeping_time_set
1636 *
1637 * @section add-sleeping Adding a Sleeping Threshold
1638 * @dontinclude test_sleeping_threshold.c
1639 *
1640 * Here we set EPhysics_Bodys linear and angular sleeping threshold. These
1641 * factors are used to determine whenever a rigid body is supposed to
1642 * increment the sleeping time.
1643 *
1644 * After every tick the sleeping time is incremented. After reaching the max
1645 * sleeping time the body is market to sleep, that means the rigid body is to
1646 * be deactivated.
1647 *
1648 * @skipline ephysics_body_sleeping_threshold_set(sphere_body1
1649 *
1650 * @skipline ephysics_body_sleeping_threshold_set(sphere_body2
1651 *
1652 * We can get the EPhysics_Bodys linear and angular sleeping threshold as well.
1653 *
1654 * @skipline ephysics_body_sleeping_threshold_get(sphere_body1
1655 *
1656 * @skipline ephysics_body_sleeping_threshold_get(sphere_body2
1657 *
1658 * @section add-damping Adding a Damping
1659 * @dontinclude test_sleeping_threshold.c
1660 *
1661 * Here we set EPhysics_Bodys linear and angular damping values.The damping is
1662 * a force synchronous with the velocity of the object but in opposite
1663 * direction - like air resistence.
1664 *
1665 * @skipline ephysics_body_damping_set(sphere_body1
1666 *
1667 * @skipline ephysics_body_damping_set(sphere_body2
1668 *
1669 * Here we finish the example. The full source code can be found at
1670 * @ref test_sleeping_threshold_c.
1671 *
1672 */
1673
1674 /**
1675 * @page test_sleeping_threshold_c test_sleeping_threshold.c
1676 *
1677 * @section ephysics-test-h ephysics_test.h
1678 * @include ephysics_test.h
1679 *
1680 * @section test-sleeping-threshold-c test_sleeping_threshold.c
1681 * @dontinclude test.c
1682 *
1683 * @skip test_clean
1684 * @until }
1685 *
1686 * @skip test_data_new
1687 * @until }
1688 *
1689 * @skip test_win_add
1690 * @until }
1691 *
1692 * @include test_sleeping_threshold.c
1693 *
1694 * @example test_sleeping_threshold.c
1695 */
1696
1697 /**
1698 * @page tutorial_ephysics_slider EPhysics - Slider
1699 *
1700 * The purpose of this example is to demonstrate the EPhysics Slider constraint
1701 * usage - The code applies slider on three cubes.
1702 *
1703 * @image html slider.png
1704 * @image latex slider.eps
1705 *
1706 * For this example we'll have an EPhysics_World, and four basic
1707 * EPhysics_Bodys.
1708 *
1709 * The basic concepts like - defining an EPhysics_World, render geometry,
1710 * physics limiting boundaries, add an EPhysics_Body, associate it to evas
1711 * objects, change restitution, friction and impulse properties, were
1712 * already covered in
1713 * @ref tutorial_ephysics_bouncing_ball
1714 *
1715 * You can use also a P2P (point to point) constraint:
1716 * @ref tutorial_ephysics_constraint
1717 *
1718 * @section add-slider Adding a Slider
1719 * @dontinclude test_slider.c
1720 *
1721 * Slider is a constraint that will limit the linear and angular moving of
1722 * a body.
1723 *
1724 * We'll add three sliders on the cubes, starting with the highest purple.
1725 *
1726 * First we need to create a specific variable type to get EPhysics_Body
1727 * constraint and create a new slider constraint passing the body which we
1728 * want as parameter.
1729 *
1730 * @skipline EPhysics_Constraint *constr
1731 *
1732 * @skipline constraint = ephysics_constraint_slider_add(box_body2
1733 *
1734 * Here we define the linear moving limits of the slider constraint, in this
1735 * case we just set moving limit down on Y axis (under), but if we wanted we
1736 * could set left, right and above also.
1737 *
1738 * @skip ephysics_constraint_slider_linear_limit_set(constraint, 0,
1739 * @until , 0, 0);
1740 *
1741 * Here we set the angular moving limits of the slider constraint. The angular
1742 * moving limits is defined in degrees and will limit the moving on Z axis, in
1743 * this case we just set the clockwise direction, but if we wanted we could
1744 * set the counter clockwise direction also.
1745 *
1746 *
1747 * @skipline ephysics_constraint_slider_angular_limit_set(constraint, 0, 45
1748 *
1749 * When this cube falls by the gravity, the slider constraint will act limiting
1750 * its linear and angular movings, giving the impression that its hanging.
1751 *
1752 * For the next two cubes is the same process.
1753 *
1754 * Now we set the slider constraint of the highest blue and lowest purple,
1755 * limiting moving limits to the left on X axis and applying an impulse
1756 * to the left where the two cubes will be limited by the slider constraint
1757 * and pushed back.
1758 *
1759 * @skip constraint = ephysics_constraint_slider_add(box_body3
1760 * @until box_body3, -240, 0, 0);
1761 *
1762 * @skip constraint = ephysics_constraint_slider_add(box_body4
1763 * @until box_body4, -600, 0, 0);
1764 *
1765 * Here we finish the example. The full source code can be found at
1766 * @ref test_slider_c.
1767 *
1768 */
1769
1770 /**
1771 * @page test_slider_c test_slider.c
1772 *
1773 * @section ephysics-test-h ephysics_test.h
1774 * @include ephysics_test.h
1775 *
1776 * @section test-slider-c test_slider.c
1777 * @dontinclude test.c
1778 *
1779 * @skip test_clean
1780 * @until }
1781 *
1782 * @skip test_data_new
1783 * @until }
1784 *
1785 * @skip test_win_add
1786 * @until }
1787 *
1788 * @include test_slider.c
1789 *
1790 * @example test_slider.c
1791 */
diff --git a/legacy/ephysics/doc/img/bouncing_ball.eps b/legacy/ephysics/doc/img/bouncing_ball.eps
deleted file mode 100644
index be9d270d62..0000000000
--- a/legacy/ephysics/doc/img/bouncing_ball.eps
+++ /dev/null
@@ -1,16308 +0,0 @@
1%!PS-Adobe-3.0 EPSF-3.0
2%%Creator: (ImageMagick)
3%%Title: (bouncing_ball.eps)
4%%CreationDate: (2012-09-14T18:50:35-03:00)
5%%BoundingBox: -0 -0 512 407
6%%HiResBoundingBox: 0 0 512 407
7%%DocumentData: Clean7Bit
8%%LanguageLevel: 1
9%%Pages: 1
10%%EndComments
11
12%%BeginDefaults
13%%EndDefaults
14
15%%BeginProlog
16%
17% Display a color image. The image is displayed in color on
18% Postscript viewers or printers that support color, otherwise
19% it is displayed as grayscale.
20%
21/DirectClassPacket
22{
23 %
24 % Get a DirectClass packet.
25 %
26 % Parameters:
27 % red.
28 % green.
29 % blue.
30 % length: number of pixels minus one of this color (optional).
31 %
32 currentfile color_packet readhexstring pop pop
33 compression 0 eq
34 {
35 /number_pixels 3 def
36 }
37 {
38 currentfile byte readhexstring pop 0 get
39 /number_pixels exch 1 add 3 mul def
40 } ifelse
41 0 3 number_pixels 1 sub
42 {
43 pixels exch color_packet putinterval
44 } for
45 pixels 0 number_pixels getinterval
46} bind def
47
48/DirectClassImage
49{
50 %
51 % Display a DirectClass image.
52 %
53 systemdict /colorimage known
54 {
55 columns rows 8
56 [
57 columns 0 0
58 rows neg 0 rows
59 ]
60 { DirectClassPacket } false 3 colorimage
61 }
62 {
63 %
64 % No colorimage operator; convert to grayscale.
65 %
66 columns rows 8
67 [
68 columns 0 0
69 rows neg 0 rows
70 ]
71 { GrayDirectClassPacket } image
72 } ifelse
73} bind def
74
75/GrayDirectClassPacket
76{
77 %
78 % Get a DirectClass packet; convert to grayscale.
79 %
80 % Parameters:
81 % red
82 % green
83 % blue
84 % length: number of pixels minus one of this color (optional).
85 %
86 currentfile color_packet readhexstring pop pop
87 color_packet 0 get 0.299 mul
88 color_packet 1 get 0.587 mul add
89 color_packet 2 get 0.114 mul add
90 cvi
91 /gray_packet exch def
92 compression 0 eq
93 {
94 /number_pixels 1 def
95 }
96 {
97 currentfile byte readhexstring pop 0 get
98 /number_pixels exch 1 add def
99 } ifelse
100 0 1 number_pixels 1 sub
101 {
102 pixels exch gray_packet put
103 } for
104 pixels 0 number_pixels getinterval
105} bind def
106
107/GrayPseudoClassPacket
108{
109 %
110 % Get a PseudoClass packet; convert to grayscale.
111 %
112 % Parameters:
113 % index: index into the colormap.
114 % length: number of pixels minus one of this color (optional).
115 %
116 currentfile byte readhexstring pop 0 get
117 /offset exch 3 mul def
118 /color_packet colormap offset 3 getinterval def
119 color_packet 0 get 0.299 mul
120 color_packet 1 get 0.587 mul add
121 color_packet 2 get 0.114 mul add
122 cvi
123 /gray_packet exch def
124 compression 0 eq
125 {
126 /number_pixels 1 def
127 }
128 {
129 currentfile byte readhexstring pop 0 get
130 /number_pixels exch 1 add def
131 } ifelse
132 0 1 number_pixels 1 sub
133 {
134 pixels exch gray_packet put
135 } for
136 pixels 0 number_pixels getinterval
137} bind def
138
139/PseudoClassPacket
140{
141 %
142 % Get a PseudoClass packet.
143 %
144 % Parameters:
145 % index: index into the colormap.
146 % length: number of pixels minus one of this color (optional).
147 %
148 currentfile byte readhexstring pop 0 get
149 /offset exch 3 mul def
150 /color_packet colormap offset 3 getinterval def
151 compression 0 eq
152 {
153 /number_pixels 3 def
154 }
155 {
156 currentfile byte readhexstring pop 0 get
157 /number_pixels exch 1 add 3 mul def
158 } ifelse
159 0 3 number_pixels 1 sub
160 {
161 pixels exch color_packet putinterval
162 } for
163 pixels 0 number_pixels getinterval
164} bind def
165
166/PseudoClassImage
167{
168 %
169 % Display a PseudoClass image.
170 %
171 % Parameters:
172 % class: 0-PseudoClass or 1-Grayscale.
173 %
174 currentfile buffer readline pop
175 token pop /class exch def pop
176 class 0 gt
177 {
178 currentfile buffer readline pop
179 token pop /depth exch def pop
180 /grays columns 8 add depth sub depth mul 8 idiv string def
181 columns rows depth
182 [
183 columns 0 0
184 rows neg 0 rows
185 ]
186 { currentfile grays readhexstring pop } image
187 }
188 {
189 %
190 % Parameters:
191 % colors: number of colors in the colormap.
192 % colormap: red, green, blue color packets.
193 %
194 currentfile buffer readline pop
195 token pop /colors exch def pop
196 /colors colors 3 mul def
197 /colormap colors string def
198 currentfile colormap readhexstring pop pop
199 systemdict /colorimage known
200 {
201 columns rows 8
202 [
203 columns 0 0
204 rows neg 0 rows
205 ]
206 { PseudoClassPacket } false 3 colorimage
207 }
208 {
209 %
210 % No colorimage operator; convert to grayscale.
211 %
212 columns rows 8
213 [
214 columns 0 0
215 rows neg 0 rows
216 ]
217 { GrayPseudoClassPacket } image
218 } ifelse
219 } ifelse
220} bind def
221
222/DisplayImage
223{
224 %
225 % Display a DirectClass or PseudoClass image.
226 %
227 % Parameters:
228 % x & y translation.
229 % x & y scale.
230 % label pointsize.
231 % image label.
232 % image columns & rows.
233 % class: 0-DirectClass or 1-PseudoClass.
234 % compression: 0-none or 1-RunlengthEncoded.
235 % hex color packets.
236 %
237 gsave
238 /buffer 512 string def
239 /byte 1 string def
240 /color_packet 3 string def
241 /pixels 768 string def
242
243 currentfile buffer readline pop
244 token pop /x exch def
245 token pop /y exch def pop
246 x y translate
247 currentfile buffer readline pop
248 token pop /x exch def
249 token pop /y exch def pop
250 currentfile buffer readline pop
251 token pop /pointsize exch def pop
252 /Times-Roman findfont pointsize scalefont setfont
253 x y scale
254 currentfile buffer readline pop
255 token pop /columns exch def
256 token pop /rows exch def pop
257 currentfile buffer readline pop
258 token pop /class exch def pop
259 currentfile buffer readline pop
260 token pop /compression exch def pop
261 class 0 gt { PseudoClassImage } { DirectClassImage } ifelse
262} bind def
263%%EndProlog
264%%Page: 1 1
265%%PageBoundingBox: 0 0 512 407
266userdict begin
267DisplayImage
2680 0
269512 407
27012
271512 407
2720
2730
274FFFFFFFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFDFDFFFFFFFCFCFCF8F8F8FFFFFF
275FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFCFCFCFFFFFFFFFFFFFAFAFAFFFFFF2020204545456C6C6C
276737373787878707070747474747474727272737373727272727272727272727272757575757575
277717171737373737373737373737373737373737373737373737373737373737373737373737373
278737373737373737373737373737373737373737373737373737373737373737373737373767676
2796C6C6C747474757575727272707070787878717171737373737373737373737373737373737373
2807373737373737575757575756F6F6F767676707070727272737373737373747474757575747474
2817474747474747272727272727878787272727979796F6F6F747474717171777777737373757575
282747474747474747474737373737373737373737373737373737373737373737373737373737373
283737373737373737373737373737373737373737373737373737373737373737373737373737373
284737373737373737373737373737373737373737373737373737373737373737373737373737373
285737373737373737373737373737373737373737373737373737373737373737373737373737373
286737373737373737373737373737373737373737373737373737373737373737373737373737373
287737373737373737373737373737373737373737373737373737373737373737373737373737373
288737373737373737373737373737373737373737373737373737373737373737373737373737373
289737373737373737373737373737373737373737373737373737373737373737373737373737373
290737373737373737373737373737373737373737373737373737373737373737373737373737373
291737373737373737373737373737373737373737373737373737373737373737373737373737373
292737373737373737373737373737373737373737373737373737373737373737373737373737373
293737373737373737373737373737373737373737373737373737373737373737373737373737373
294737373737373737373737373737373737373737373737373737373737373737373737373737373
295737373737373737373737373737373737373737373737373737373737373737373737373737373
296737373737373737373737373737373737373737373737373737373737373737373737373737373
297737373737373737373737373737373737373737373737373737373737373737373737373737373
298737373737373737373737373737373737373737373737373737373737373737373737373737373
299737373737373737373737373737373737373737373737373737373737373737373737373737373
300737373737373737373737373737373737373737373737373737373737373737373737373737373
301737373737373737373737373737373737373737373737373737373737373737373737373737373
302737373737373737373737373737373737373737373737373737373737373737373737373737373
303737373737373737373737373737373737373737373737373737373737373737373737373737373
304737373737373737373737373737373737373737373737373737373737373737373737373737373
305737373737373737373737373737373737373737373737373737373737373737373737373737373
306737373737373737373737373737373737373737373737373737373737373737373737373737373
3077373737373737373737171717373737777776E6E6E7A7A7A444444232323FFFFFFFFFFFFFFFFFF
308FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFDFDFFFFFFFDFDFDFFFFFFFCFCFCFFFFFFFCFCFC
309FFFFFFFFFFFFFFFFFFFBFBFBFFFFFFFEFEFEFFFFFFFFFFFFFCFCFCFFFFFFFBFBFBFFFFFFF9F9F9
310FFFFFFFFFFFFFFFFFFFCFCFCFFFFFFFCFCFCFFFFFFFDFDFDFEFEFEFFFFFFFCFCFCFFFFFFFFFFFF
311FFFFFFFAFAFAFFFFFFFEFEFEFFFFFFFFFFFFFDFDFDFFFFFFFDFDFDFFFFFFFDFDFDFFFFFFFDFDFD
312FEFEFEFDFDFDFCFCFCFFFFFFFEFEFEFEFEFEFEFEFEFEFEFEFFFFFFFCFCFCFDFDFDFEFEFEFCFCFC
313FFFFFFFDFDFDFFFFFFFDFDFDFFFFFFFFFFFFFBFBFBFFFFFFFDFDFDFFFFFFF9F9F9FDFDFDFFFFFF
314FFFFFFF7F7F7FFFFFFFFFFFFFCFCFCFFFFFFFFFFFFFFFFFFFDFDFDFCFCFCFFFFFFFFFFFFFCFCFC
315FFFFFFFBFBFB3E3E3EBBBBBBFFFFFFFFFFFFFAFAFAFFFFFFFFFFFFFFFFFFFCFCFCFDFDFDFFFFFF
316FFFFFFFFFFFFFDFDFDFEFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
317FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
318FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFDFDFBFBFBFFFFFFFFFFFFFAFAFAFFFFFFFFFFFF
319FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8F8F8FDFDFDFFFFFFFFFFFFFFFFFFFFFFFF
320FFFFFFFCFCFCFEFEFEFCFCFCFCFCFCFFFFFFFFFFFFFFFFFFFEFEFEFDFDFDFCFCFCFEFEFEFFFFFF
321FFFFFFFCFCFCFFFFFFFEFEFEFCFCFCFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
322FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
323FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
324FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
325FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
326FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
327FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
328FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
329FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
330FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
331FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
332FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
333FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
334FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
335FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
336FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
337FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
338FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
339FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
340FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
341FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
342FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
343FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
344FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
345FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
346FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8F8F8FFFFFFFFFFFFF7F7F7
347B5B5B5393939FDFDFDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
348FFFFFFFAFAFAFFFFFFFDFDFDFFFFFFFEFEFEFBFBFBFFFFFFFFFFFFFCFCFCFFFFFFFDFDFDFFFFFF
349FCFCFCFFFFFFFFFFFFFFFFFFFFFFFFF8F8F8FAFAFAFAFAFAFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
350FFFFFFFEFEFEFFFFFFF9F9F9FFFFFFFCFCFCFFFFFFFFFFFFFAFAFAFCFCFCFFFFFFFCFCFCFFFFFF
351FBFBFBFFFFFFFFFFFFF5F5F5FFFFFFFFFFFFFFFFFFFFFFFFFEFEFEFCFCFCFFFFFFFFFFFFFCFCFC
352FEFEFEFFFFFFFFFFFFFFFFFFFFFFFFF4F4F4FFFFFFFFFFFFFBFBFBFFFFFFFFFFFFFFFFFFFFFFFF
353FCFCFCFFFFFFFEFEFEFFFFFFFFFFFFFFFFFFFDFDFDFAFAFAFCFCFCF9F9F9FFFFFFFAFAFAFFFFFF
354FDFDFDFFFFFFFFFFFFFFFFFFFCFCFCFFFFFFF4F4F4545454F6F6F6CDCDCDAEAEAEA2A2A2A8A8A8
355A6A6A6A9A9A9ABABABA4A4A4A7A7A7A5A5A5A4A4A4A7A7A7A7A7A7A6A6A6A8A8A8A6A6A6A6A6A6
356A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6
357A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A2A2A2AAAAAAABABAB
3589F9F9FA6A6A6ADADADA4A4A4A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6ABABAB
359A7A7A7A8A8A8A3A3A3A5A5A5A8A8A8A3A3A3AAAAAAA9A9A9A7A7A7A8A8A8A9A9A9A6A6A6A6A6A6
360A9A9A9A9A9A9AEAEAEA8A8A8A1A1A1A7A7A7AAAAAAA5A5A5ADADADA7A7A7A6A6A6A6A6A6A6A6A6
361A6A6A6A6A6A6A6A6A6A5A5A5A5A5A5A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6
362A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6
363A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6
364A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6
365A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6
366A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6
367A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6
368A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6
369A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6
370A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6
371A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6
372A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6
373A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6
374A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6
375A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6
376A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6
377A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6
378A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6
379A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6
380A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6
381A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6
382A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6
383A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6
384A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6
385A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6A6
386A7A7A7A4A4A4ABABABB2B2B2C9C9C9FBFBFB595959F7F7F7FEFEFEFEFEFEFEFEFEFFFFFFFFFFFF
387FFFFFFFFFFFFFFFFFFFDFDFDFEFEFEF5F5F5FFFFFFFFFFFFF9F9F9FFFFFFFDFDFDFFFFFFEFEFEF
388FFFFFFFFFFFFF7F7F7FFFFFFFEFEFEFFFFFFFCFCFCFBFBFBFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
389FEFEFEFAFAFAFFFFFFF6F6F6FFFFFFF8F8F8FAFAFAFFFFFFFFFFFFFCFCFCFBFBFBFFFFFFF8F8F8
390FFFFFFFFFFFFFFFFFFFFFFFFFDFDFDFFFFFFFBFBFBFFFFFFFFFFFFFAFAFAFFFFFFFAFAFAFBFBFB
391FEFEFEFFFFFFFCFCFCFCFCFCFFFFFFFEFEFEFBFBFBFBFBFBFFFFFFFAFAFAFFFFFFFFFFFFFCFCFC
392FFFFFFFDFDFDFCFCFCFFFFFFFEFEFEFCFCFCFEFEFEFFFFFFFBFBFBF7F7F7E4E4E4F1F1F1F3F3F3
393EFEFEFEEEEEEF0F0F0F0F0F0F7F7F7FAFAFAFFFFFFFAFAFAFEFEFEFEFEFEFDFDFDF6F6F6505050
394F5F5F5A0A0A0A4A4A4A1A1A19C9C9C9B9B9B9898989898989E9E9E9F9F9F9B9B9B9A9A9A9D9D9D
3959D9D9D9999999B9B9B9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C
3969C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C
3979C9C9C9F9F9F9A9A9A9696969C9C9C9E9E9E9E9E9E9A9A9A9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C
3989C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9595959F9F9F9E9E9EA1A1A19898989D9D9D9C9C9C
3999A9A9A9D9D9D9F9F9F9B9B9B9999999999999696969191919B9B9B9E9E9E9C9C9C9A9A9A999999
4009999999898989C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C
4019C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C
4029C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C
4039C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C
4049C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C
4059C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C
4069C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C
4079C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C
4089C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C
4099C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C
4109C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C
4119C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C
4129C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C
4139C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C
4149C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C
4159C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C
4169C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C
4179C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C
4189C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C
4199C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C
4209C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C
4219C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C
4229C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C
4239C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C
4249C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9C
4259C9C9C9C9C9C9C9C9C9C9C9C9C9C9C9F9F9F9C9C9C9B9B9B9B9B9BA3A3A3F9F9F94E4E4EF6F6F6
426FDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFEFEFEFFFFFFFFFFFFFDFDFDFBFBFB
427FEFEFEFFFFFFFCFCFCFEFEFEFFFFFFFEFEFEFDFDFDFDFDFDFFFFFFFFFFFFFBFBFBFFFFFFFFFFFF
428FAFAFAFFFFFFF4F4F4F6F6F6FEFEFEF6F6F6FBFBFBF9F9F9FEFEFEF3F3F3FFFFFFFFFFFFF7F7F7
429FAFAFAFDFDFDFAFAFAFCFCFCFFFFFFF5F5F5F9F9F9F9F9F9FFFFFFFFFFFFF5F5F5FFFFFFFFFFFF
430F5F5F5FFFFFFFBFBFBFFFFFFFFFFFFFEFEFEFFFFFFFDFDFDFDFDFDFFFFFFFEFEFEFFFFFFFFFFFF
431FCFCFCFFFFFFF5F5F5FFFFFFFFFFFFF6F6F6FFFFFFFEFEFEFDFDFDFDFDFDFCFCFCFEFEFEF7F7F7
432EFEFEFE8E8E8FCFCFCF3F3F3F0F0F0F5F5F5F6F6F6F3F3F3FAFAFAE3E3E3EFEFEFF9F9F9F9F9F9
433FEFEFEFCFCFCF9F9F9F7F7F7484848ECECEC8F8F8F8B8B8B898989919191919191929292929292
4348E8E8E9090909090909090908F8F8F8F8F8F8F8F8F9292928F8F8F8F8F8F8F8F8F8F8F8F8F8F8F
4358F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F
4368F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8E8E8E9292929292928E8E8E8D8D8D8D8D8D8E8E8E
4378D8D8D8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8D8D8D9494948C8C8C909090
4388E8E8E8E8E8E9191918D8D8D9393938E8E8E8B8B8B8C8C8C8F8F8F949494959595939393949494
4399494948D8D8D8E8E8E9393939393938C8C8C9494948F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F
4408F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F
4418F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F
4428F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F
4438F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F
4448F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F
4458F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F
4468F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F
4478F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F
4488F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F
4498F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F
4508F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F
4518F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F
4528F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F
4538F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F
4548F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F
4558F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F
4568F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F
4578F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F
4588F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F
4598F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F
4608F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F
4618F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F
4628F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F
4638F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F
4648F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F8F9090908D8D8D8E8E8E
465949494949494E8E8E8454545F6F6F6FCFCFCFCFCFCFDFDFDFDFDFDFDFDFDFDFDFDFDFDFDFCFCFC
466FEFEFEFDFDFDF3F3F3FBFBFBFAFAFAFDFDFDFFFFFFFDFDFDFAFAFAF5F5F5FEFEFEFDFDFDFEFEFE
467FEFEFEFBFBFBFBFBFBFCFCFCFFFFFFFFFFFFF5F5F5FFFFFFFFFFFF4F4F4F8585858585858A8A8A
468666666474747F6F6F6F8F8F84A4A4A6868688383838484847878785D5D5DFCFCFCF8F8F8FEFEFE
469FAFAFAFFFFFFFFFFFFF6F6F6FDFDFDFAFAFAFBFBFBF6F6F6595959F6F6F6F7F7F7FBFBFBFDFDFD
470FDFDFDFBFBFBF7F7F7F6F6F65A5A5AF6F6F6FBFBFBFBFBFBFEFEFEF6F6F6FFFFFFFFFFFFFFFFFF
471F5F5F5FFFFFFFDFDFDFEFEFEE5E5E5E5E5E5E0E0E0DCDCDCEAEAEAF2F2F2F4F4F4ECECECDFDFDF
472E2E2E2E7E7E7E2E2E2E6E6E6FCFCFCFFFFFFFAFAFAFCFCFCF0F0F0444444DBDBDB888888828282
4738A8A8A8686867B7B7B8888888080808585857F7F7F808080838383838383848484848484808080
474838383838383838383838383838383838383838383838383838383838383838383838383838383
4758383838383838383838383838383838383838383838383838383838383838383838484847F7F7F
476838383828282888888838383888888868686838383838383838383838383838383838383838383
4778383838585858080808585858888888787877B7B7B878787868686818181878787868686838383
4788383838181817F7F7F8282828484847F7F7F8787877E7E7E818181858585818181838383848484
479848484848484848484848484848484848484848484838383838383838383838383838383838383
480838383838383838383838383838383838383838383838383838383838383838383838383838383
481838383838383838383838383838383838383838383838383838383838383838383838383838383
482838383838383838383838383838383838383838383838383838383838383838383838383838383
483838383838383838383838383838383838383838383838383838383838383838383838383838383
484838383838383838383838383838383838383838383838383838383838383838383838383838383
485838383838383838383838383838383838383838383838383838383838383838383838383838383
486838383838383838383838383838383838383838383838383838383838383838383838383838383
487838383838383838383838383838383838383838383838383838383838383838383838383838383
488838383838383838383838383838383838383838383838383838383838383838383838383838383
489838383838383838383838383838383838383838383838383838383838383838383838383838383
490838383838383838383838383838383838383838383838383838383838383838383838383838383
491838383838383838383838383838383838383838383838383838383838383838383838383838383
492838383838383838383838383838383838383838383838383838383838383838383838383838383
493838383838383838383838383838383838383838383838383838383838383838383838383838383
494838383838383838383838383838383838383838383838383838383838383838383838383838383
495838383838383838383838383838383838383838383838383838383838383838383838383838383
496838383838383838383838383838383838383838383838383838383838383838383838383838383
497838383838383838383838383838383838383838383838383838383838383838383838383838383
498838383838383838383838383838383838383838383838383838383838383838383838383838383
499838383838383838383838383838383838383838383838383838383838383838383838383838383
500838383838383838383838383838383838383838383838383838383838383838383838383838383
501838383838383838383838383838383838383838383838383838383838383838383838383838383
502838383838383838383838383838383838383838383838383838383838383838383838383838383
503838383838383838383838383838383838383838383838383838383838383838383838383838383
5048383838383838282828787878383837C7C7C828282E2E2E24B4B4BEBEBEBFBFBFBFCFCFCFDFDFD
505FDFDFDFDFDFDFDFDFDFDFDFDFCFCFCFAFAFAFEFEFEFAFAFAFFFFFFFFFFFFF8F8F8FBFBFBFFFFFF
506FFFFFFFAFAFAFBFBFBFFFFFFF5F5F5FDFDFDF7F7F7FFFFFFFCFCFCFDFDFDFCFCFCFDFDFDF5F5F5
507F2F2F2767676C0C0C0E3E3E3B6B6B6696969FAFAFAF4F4F4F0F0F0F7F7F76A6A6AB9B9B9E0E0E0
508C7C7C7797979ECECECFBFBFBFAFAFAFAFAFAF8F8F8FDFDFDFFFFFFF5F5F5F9F9F9F6F6F6767676
509D2D2D2787878F6F6F6F4F4F4F6F6F6F6F6F6F4F4F4F6F6F6787878D3D3D3777777F6F6F6F9F9F9
510F6F6F6FFFFFFFDFDFDF7F7F7FFFFFFF7F7F7FDFDFDFDFDFDE4E4E4D3D3D3D0D0D0CCCCCCE1E1E1
511F6F6F6F2F2F2EEEEEEF8F8F8FDFDFDCACACAC8C8C8CCCCCCD5D5D5E3E3E3FCFCFCFBFBFBFAFAFA
512E8E8E83E3E3ED2D2D27A7A7A7676767676767575757979797878787777777878787373737B7B7B
5137F7F7F7373737373737A7A7A757575767676767676767676767676767676767676767676767676
514767676767676767676767676767676767676767676767676767676767676767676767676767676
515767676767676767676747474F0F0F0EDEDED797979727272777777747474767676767676767676
5167676767676767676767676767676767676767B7B7B6E6E6E7777777676766C6C6C7E7E7E777777
5177373737272727C7C7C7777777272727A7A7A7979797474747B7B7B6F6F6F808080717171F4F4F4
518F0F0F0747474EAEAEAEFEFEF767676767676767676767676777777777777777777777777767676
519767676767676767676767676767676767676767676767676767676767676767676767676767676
520767676767676767676767676767676767676767676767676767676767676767676767676767676
521767676767676767676767676767676767676767676767676767676767676767676767676767676
522767676767676767676767676767676767676767676767676767676767676767676767676767676
523767676767676767676767676767676767676767676767676767676767676767676767676767676
524767676767676767676767676767676767676767676767676767676767676767676767676767676
525767676767676767676767676767676767676767676767676767676767676767676767676767676
526767676767676767676767676767676767676767676767676767676767676767676767676767676
527767676767676767676767676767676767676767676767676767676767676767676767676767676
528767676767676767676767676767676767676767676767676767676767676767676767676767676
529767676767676767676767676767676767676767676767676767676767676767676767676767676
530767676767676767676767676767676767676767676767676767676767676767676767676767676
531767676767676767676767676767676767676767676767676767676767676767676767676767676
532767676767676767676767676767676767676767676767676767676767676767676767676767676
533767676767676767676767676767676767676767676767676767676767676767676767676767676
534767676767676767676767676767676767676767676767676767676767676767676767676767676
535767676767676767676767676767676767676767676767676767676767676767676767676767676
536767676767676767676767676767676767676767676767676767676767676767676767676767676
537767676767676767676767676767676767676767676767676767676767676767676767676767676
538767676767676767676767676767676767676767676767676767676767676767676767676767676
539767676767676767676767676767676767676767676767676767676767676767676767676767676
540767676767676767676767676767676767676767676767676767676767676767676767676767676
541767676767676767676767676767676767676767676767676767676767676767676767676767676
542767676767676767676767676767676767676767676767676767676767676767676767676767676
5437676767676767676767676767676767676767676767474747777777E7E7E7C7C7C787878CACACA
5443B3B3BEBEBEBFAFAFAFAFAFAFBFBFBFCFCFCFCFCFCFCFCFCFBFBFBFAFAFAF7F7F7FBFBFBF8F8F8
545F0F0F0FBFBFBF8F8F8F3F3F3FBFBFBF6F6F6F6F6F6F6F6F6F8F8F8FCFCFCFBFBFBFDFDFDFAFAFA
546FCFCFCF9F9F9FBFBFBF6F6F6F8F8F8E5E5E57575759A9A9A666666535353EDEDEDE6E6E6EEEEEE
547EDEDEDE9E9E9E8E8E85050506C6C6C9696966F6F6FECECECF5F5F5F2F2F2FEFEFEFFFFFFF5F5F5
548FFFFFFF3F3F3F1F1F1535353939393979797B6B6B6616161EFEFEFEEEEEEEEEEEEEFEFEF616161
549B6B6B6989898939393525252F0F0F0F3F3F3FFFFFFF4F4F4FDFDFDF9F9F9FFFFFFF7F7F7F7F7F7
550BCBCBCC3C3C3B5B5B5ADADADC0C0C0BDBDBDAFAFAFABABABC2C2C2FFFFFFCACACAB4B4B4B2B2B2
551C7C7C7BCBCBCF2F2F2FCFCFCF5F5F5E8E8E8383838C4C4C46666667070706A6A6A7070706A6A6A
552717171EBEBEBECECECE9E9E9EDEDEDCFCFCF8F8F8F6C6C6C6D6D6D6B6B6B6D6D6D6D6D6D6D6D6D
5536D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D
5546D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6C6C6CEEEEEEEAEAEA6E6E6E6C6C6C
5556D6D6D6969696E6E6E6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6E6E6E6E6E6E
5566F6F6F6C6C6C727272EBEBEBEEEEEEECECECEDEDEDCFCFCF9191916969696C6C6C6E6E6E686868
5576F6F6F7171716868686D6D6DEBEBEBEAEAEA6F6F6FF3F3F3EBEBEB6C6C6C6C6C6C6D6D6D6D6D6D
5586D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D
5596D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D
5606D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D
5616D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D
5626D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D
5636D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D
5646D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D
5656D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D
5666D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D
5676D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D
5686D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D
5696D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D
5706D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D
5716D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D
5726D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D
5736D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D
5746D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D
5756D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D
5766D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D
5776D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D
5786D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D
5796D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D
5806D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D
5816D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D
5826D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6D6E6E6E
5836969696C6C6C6A6A6A6C6C6CC7C7C7363636E5E5E5F7F7F7F8F8F8F9F9F9FAFAFAFAFAFAF9F9F9
584F9F9F9F8F8F8F4F4F4F0F0F04C4C4CEFEFEFF0F0F0F8F8F8F4F4F4EFEFEFEEEEEE515151F2F2F2
585F2F2F2F8F8F8F9F9F9FAFAFAF9F9F9F8F8F8FEFEFEF7F7F7F5F5F5EFEFEFE8E8E8676767616161
5864A4A4ADEDEDEE2E2E2EEEEEEF3F3F3F1F1F1EEEEEEE4E4E4DEDEDE4A4A4A6060606B6B6BE7E7E7
587F0F0F0F7F7F7F8F8F8F6F6F6FFFFFFF5F5F5F7F7F7F1F1F1E5E5E54D4D4D636363818181B5B5B5
5885E5E5EE4E4E4E4E4E45E5E5EB5B5B58181816464644D4D4DE4E4E4F0F0F0F6F6F6F5F5F5FFFFFF
589F4F4F4FFFFFFF2F2F2FDFDFDE0E0E0AFAFAF9F9F9F989898979797979797999999999999989898
590ACACACFDFDFDBDBDBD9A9A9A9696969E9E9EB2B2B2DADADAFAFAFAFAFAFADFDFDF353535B4B4B4
5916767675D5D5D646464666666646464626262EAEAEAECECEC5E5E5E7D7D7DEEEEEED9D9D9616161
5925F5F5F6262626464646060606767675E5E5E6767675E5E5E656565636363626262696969626262
5936262626060606363636262626060605F5F5F6363636161616767675D5D5D6868686262625F5F5F
5946262625F5F5F5E5E5E6464645E5E5E6161616464645F5F5F626262606060626262666666616161
5956565655D5D5D6464646565656363636666666464645F5F5FF1F1F1E8E8E8606060787878EEEEEE
596DDDDDD6464645C5C5C5D5D5D6C6C6C6161616262625F5F5F626262EBEBEBECECEC5D5D5DEFEFEF
597E8E8E85E5E5E606060626262646464646464636363636363636363646464646464646464646464
598646464646464646464646464646464646464646464646464646464646464646464646464646464
599646464646464646464646464646464646464646464646464646464646464646464646464646464
600646464646464636363636363636363636363636363636363636363636363646464646464646464
601646464646464646464646464646464646464646464646464646464646464646464646464646464
602646464646464646464646464646464646464646464646464646464646464646464646464646464
603646464646464646464646464646464646464646464646464646464646464646464646464646464
604646464646464646464646464646464646464646464646464646464646464646464646464646464
605646464646464646464646464646464646464646464646464646464646464646464646464646464
606646464646464646464646464646464646464646464646464646464646464646464646464646464
607646464646464646464646464646464646464646464646464646464646464646464646464646464
608646464646464646464646464646464646464646464646464646464646464646464646464646464
609646464646464646464646464646464646464646464646464646464646464646464646464646464
610646464646464646464646464646464646464646464646464646464646464646464646464646464
611646464646464646464646464646464646464646464646464646464646464646464646464646464
612646464646464646464646464646464646464646464646464646464646464646464646464646464
613646464646464646464646464646464646464646464646464646464646464646464646464646464
614646464646464646464646464646464646464646464646464646464646464646464646464646464
615646464646464646464646464646464646464646464646464646464646464646464646464646464
616646464646464646464646464646464646464646464646464646464646464646464646464646464
617646464646464646464646464646464646464646464646464646464646464646464646464646464
618646464646464646464646464646464646464646464646464646464646464646464646464646464
619646464646464646464646464646464646464646464646464646464646464646464646464646464
620646464646464646464646464646464646464646464646464646464646464646464646464646464
621646464646464646464646464646464646464646464646464646464646464646464646464646464
622646464646464646464646464626262636363636363666666656565B3B3B3343434DFDFDFF5F5F5
623F9F9F9FAFAFAF8F8F8F7F7F7F7F7F7F4F4F4EFEFEFEDEDED777777C6C6C67B7B7BE8E8E8EEEEEE
624E5E5E5E6E6E67A7A7AC5C5C57A7A7AEDEDEDEEEEEEF3F3F3FAFAFAF8F8F8FBFBFBF6F6F6F4F4F4
625F6F6F6EAEAEAE5E5E54B4B4B434343D7D7D7DDDDDDEBEBEBECECECF2F2F2F2F2F2EDEDEDEAEAEA
626DFDFDFD3D3D34C4C4C434343E1E1E1F1F1F1F4F4F4F5F5F5FAFAFAF9F9F9FAFAFAF4F4F4ECECEC
627E3E3E3D9D9D94141415B5B5B7A7A7AB3B3B37A7A7A7A7A7AB3B3B37A7A7A5B5B5B444444D8D8D8
628E3E3E3ECECECF2F2F2F8F8F8F9F9F9F8F8F8F6F6F6FAFAFAF5F5F5B5B5B5A6A6A68181817F7F7F
629858585858585808080848484898989DEDEDEEFEFEF8D8D8D808080808080858585A6A6A6BABABA
630F2F2F2F4F4F4DADADA2D2D2DA1A1A15959596868685C5C5C5959595F5F5F595959EDEDEDEAEAEA
6315454546C6C6CE6E6E6D4D4D45D5D5D606060C1C1C1DEDEDEDFDFDFB8B8B86C6C6C575757E8E8E8
632F0F0F05959595C5C5CE3E3E3EAEAEA555555EEEEEEECECECE6E6E6EEEEEEE1E1E18F8F8F5B5B5B
633676767B6B6B6D7D7D7EBEBEBEFEFEF555555F1F1F1EBEBEB525252F1F1F1E6E6E6ECECECE9E9E9
634DADADA9A9A9A575757727272D3D3D3E8E8E8EEEEEEE8E8E8E5E5E55252525A5A5A616161595959
635E7E7E7EDEDED515151737373E9E9E9D4D4D4505050EDEDEDEEEEEEE3E3E3E2E2E2C8C8C87D7D7D
636565656EAEAEAE8E8E8555555E5E5E5F0F0F05757575959595C5C5C5E5E5E5E5E5E5E5E5E5E5E5E
6375F5F5F5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D
6385D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D
6395D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E
6405E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E
6415E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E
6425E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E
6435E5E5E5E5E5E5E5E5E5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D
6445D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D
6455D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D
6465D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D
6475D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D
6485D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D
6495D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E
6505E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E
6515E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E
6525E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E
6535E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E
6545E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E
6555E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D
6565D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D
6575D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D
6585D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5D5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E
6595E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E
6605E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E
6615E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E5E6060605F5F5F5C5C5C5C5C5C
6625A5A5AA4A4A42E2E2EDBDBDBF3F3F3F6F6F6F7F7F7F6F6F6F6F6F6F5F5F5F1F1F1EBEBEB414141
6638B8B8B7C7C7CAAAAAA525252D6D6D6E4E4E4545454ADADAD7373738F8F8F464646EDEDEDF4F4F4
664F1F1F1F6F6F6F5F5F5F7F7F7F5F5F5F7F7F7EFEFEFDDDDDD303030DADADAE2E2E2E8E8E8E6E6E6
665F4F4F4F6F6F6F1F1F1EDEDEDEBEBEBE9E9E9DBDBDBD7D7D7383838E1E1E1ECECECEFEFEFFBFBFB
666F4F4F4F7F7F7F2F2F2EDEDEDF4F4F4E0E0E0DDDDDDD2D2D24040404B4B4B767676D5D5D5D5D5D5
6677676764B4B4B404040D5D5D5DEDEDEE2E2E2F7F7F7EEEEEEF3F3F3F9F9F9F3F3F3FAFAFAFBFBFB
668EDEDEDA6A6A68F8F8F6D6D6D7272727070706F6F6F767676727272E1E1E1EDEDED7F7F7F767676
6696F6F6F7171716D6D6D8C8C8CA6A6A6EBEBEBF2F2F2D5D5D53636369696965757574F4F4F505050
6705D5D5D5050504F4F4FEAEAEAE8E8E8F0F0F0E9E9E9E5E5E5747474494949BCBCBCE9E9E97D7D7D
671757575EBEBEBBFBFBF525252E7E7E7E7E7E74B4B4B4D4D4DEBEBEBEAEAEA565656E2E2E2E6E6E6
672868686636363E9E9E9E2E2E2444444BFBFBFE7E7E79292925050504B4B4B555555E0E0E0EFEFEF
6734C4C4CE0E0E0F1F1F17D7D7D636363E8E8E8D8D8D84B4B4BC8C8C8E7E7E7797979747474EDEDED
674F1F1F14D4D4D4D4D4D525252525252E9E9E9EBEBEBE8E8E8E5E5E5E5E5E5797979434343494949
6755050505555556B6B6BE4E4E4CCCCCC4D4D4DE8E8E8F0F0F0484848EFEFEFE2E2E24A4A4A4D4D4D
676505050525252525252525252535353535353535353535353535353535353535353535353535353
677535353535353535353535353535353535353535353535353535353535353535353535353535353
678535353535353535353535353535353535353535353535353535353535353535353535353525252
679525252525252525252525252525252525252525252535353535353535353535353535353535353
680535353535353535353535353535353535353535353535353535353535353535353535353535353
681535353535353535353535353535353535353535353535353535353535353535353535353535353
682535353535353535353535353535353535353535353535353535353535353535353535353535353
683535353535353535353535353535353535353535353535353535353535353535353535353535353
684535353535353535353535353535353535353535353535353535353535353535353535353535353
685535353535353535353535353535353535353535353535353535353535353535353535353535353
686535353535353535353535353535353535353535353535353535353535353535353535353535353
687535353535353535353535353535353535353535353535353535353535353535353535353535353
688535353535353535353535353535353535353535353535353535353535353535353535353535353
689535353535353535353535353535353535353535353535353535353535353535353535353535353
690535353535353535353535353535353535353535353535353535353535353535353535353535353
691535353535353535353535353535353535353535353535353535353535353535353535353535353
692535353535353535353535353535353535353535353535353535353535353535353535353535353
693535353535353535353535353535353535353535353535353535353535353535353535353535353
694535353535353535353535353535353535353535353535353535353535353535353535353535353
695535353535353535353535353535353535353535353535353535353535353535353535353535353
696535353535353535353535353535353535353535353535353535353535353535353535353535353
697535353535353535353535353535353535353535353535353535353535353535353535353535353
698535353535353535353535353535353535353535353535353535353535353535353535353535353
699535353535353535353535353535353535353535353535353535353535353535353535353535353
700535353535353535353535353535353535353535353535353535353535353535353535353535353
7015353535050505151515353535555555454549595952C2C2CD9D9D9F2F2F2F5F5F5F6F6F6F5F5F5
702F5F5F5F5F5F5EFEFEFE8E8E8DDDDDD3737374545454F4F4FB2B2B26D6D6D727272ABABAB515151
7034242423C3C3CDADADAE6E6E6F2F2F2F4F4F4F6F6F6F0F0F0FDFDFDF2F2F2F0F0F0E7E7E7EBEBEB
704E4E4E4E1E1E1DDDDDDE4E4E4F9F9F9EEEEEEF4F4F4F4F4F4F2F2F2F2F2F2EBEBEBDDDDDDE1E1E1
705E4E4E4E7E7E7EFEFEFEFEFEFF3F3F3F7F7F7F4F4F4FBFBFBF4F4F4F3F3F3E4E4E4DEDEDECCCCCC
706C5C5C54343434848486B6B6B6B6B6B484848434343C5C5C5CBCBCBDBDBDBE2E2E2F3F3F3F3F3F3
707FAFAFAF3F3F3F3F3F3FBFBFBF0F0F0E9E9E99D9D9D7777775D5D5D676767626262616161666666
708A8A8A8F0F0F08383836868686161616464646565656060607A7A7A9A9A9AEEEEEEEFEFEFD3D3D3
7092929298181814C4C4C4B4B4B4F4F4F474747464646535353E9E9E9E7E7E73939395A5A5AE4E4E4
710D4D4D4404040DFDFDFEAEAEA434343474747E1E1E1E0E0E03F3F3FEAEAEAE1E1E1444444474747
711E4E4E4E9E9E93A3A3AEAEAEAE8E8E83F3F3F434343E9E9E9E4E4E4494949DEDEDEE3E3E34C4C4C
712404040474747454545E7E7E7E6E6E63E3E3EE7E7E7E7E7E7414141454545EBEBEBE9E9E9424242
713DEDEDEEAEAEA464646414141E2E2E2E0E0E04141414848484F4F4F474747E8E8E8E7E7E73C3C3C
7145B5B5BE8E8E8CDCDCD414141898989CBCBCBDBDBDBE7E7E7EAEAEAE3E3E3434343E1E1E1EAEAEA
7153E3E3EE3E3E3ECECEC4242424646464B4B4B4D4D4D4E4E4E4D4D4D4D4D4D4D4D4D4F4F4F4F4F4F
7164F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F
7174F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F
7184F4F4F4F4F4F4F4F4F4F4F4F4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E
7194E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E
7204E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E
7214E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E
7224F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F
7234F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F
7244F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F
7254F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F
7264F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F
7274F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F
7284F4F4F4F4F4F4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E
7294E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E
7304E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E
7314E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E
7324E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E
7334E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E
7344E4E4E4E4E4E4E4E4E4E4E4E4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F
7354F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F
7364F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4F
7374F4F4F4F4F4F4F4F4F4F4F4F4F4F4F4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E
7384E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E
7394E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E
7404E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4E4F4F4F4E4E4E4E4E4E4E4E4E4C4C4C7F7F7F262626
741D5D5D5EFEFEFF2F2F2F3F3F3F3F3F3F3F3F3F2F2F2ECECECE4E4E4D8D8D8CECECE171717171717
742474747C7C7C7C4C4C4464646181818171717CECECED7D7D7E4E4E4EBEBEBEDEDEDF3F3F3F5F5F5
743F2F2F2F5F5F5F0F0F0F0F0F0E0E0E0E6E6E6DCDCDCEDEDEDEDEDEDE7E7E7F5F5F5EFEFEFF0F0F0
744F5F5F5EFEFEFE7E7E7ECECECE0E0E0E0E0E0E1E1E1E6E6E6F6F6F6F0F0F0F7F7F7EDEDEDF4F4F4
745EFEFEFE7E7E7F1F1F1E1E1E1D6D6D6C5C5C51616161F1F1F1D1D1D1D1D1D1F1F1F161616C5C5C5
746D7D7D7E0E0E0F2F2F2E9E9E9F0F0F0F5F5F5EFEFEFF4F4F4F2F2F2ECECECE0E0E0787878383838
7471A1A1A1A1A1A1F1F1F282828252525A2A2A2E1E1E12626262121212727272525251C1C1C1B1B1B
7483C3C3C777777E1E1E1E2E2E2CECECE0B0B0B4C4C4C1818181D1D1D1D1D1D202020212121101010
749DEDEDEDCDCDC080808292929E7E7E7C7C7C7040404B1B1B1DBDBDB4242423C3C3CE5E5E5AEAEAE
750070707D1D1D1E2E2E2272727505050DCDCDCE5E5E5050505E3E3E3E5E5E50505050B0B0BDCDCDC
751E7E7E7040404A1A1A1E1E1E16262620A0A0A0D0D0D0D0D0DE4E4E4DFDFDF0E0E0EE4E4E4DEDEDE
752000000060606D9D9D9DEDEDE030303BBBBBBDDDDDD434343414141E4E4E4E2E2E20A0A0A0E0E0E
7531A1A1A141414E0E0E0DBDBDB0B0B0B2C2C2CDADADAD3D3D3010101D5D5D5E1E1E13838383F3F3F
754E2E2E2DBDBDB060606DFDFDFDDDDDD090909E2E2E2D9D9D90A0A0A0F0F0F1616161A1A1A1B1B1B
7551A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A
7561A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A
7571A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A
7581A1A1A1A1A1A1A1A1A1A1A1A1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B
7591B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B
7601B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B
7611B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A
7621A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A
7631A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A
7641A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A
7651A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A
7661A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A
7671A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B
7681B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B
7691B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B
7701B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B
7711B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B
7721B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B
7731B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1A1A1A1A1A1A1A1A1A1A1A1A
7741A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A
7751A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A
7761A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1A1B1B1B1B1B1B1B1B1B
7771B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B
7781B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B
7791B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1B1A1A1A191919
7801818181A1A1A1E1E1E4E4E4E131313C9C9C9E9E9E9ECECECEEEEEEEDEDEDEEEEEEEDEDEDE8E8E8
781E0E0E0D1D1D1BFBFBFAFAFAF1212121F1F1F4A4A4A4646461F1F1F181818ABABABBFBFBFD0D0D0
782E2E2E2EAEAEAF2F2F2ECECECEDEDEDEBEBEBE2E2E2F0F0F0E0E0E0DADADA2C2C2CD8D8D8D6D6D6
783DDDDDDEDEDEDE6E6E6F0F0F0EFEFEFE8E8E8E6E6E6E7E7E7D7D7D7D5D5D52D2D2DDFDFDFE3E3E3
784EAEAEAEDEDEDE9E9E9ECECECECECECF3F3F3E6E6E6DBDBDBCCCCCCC0C0C03434346A6A6A232323
7851D1D1D1D1D1D2323236A6A6A343434C2C2C2CBCBCBDBDBDBE7E7E7F3F3F3EEEEEEEEEEEEE5E5E5
786F2F2F2F5F5F5E7E7E79C9C9C2626262121212121212B2B2B2727272E2E2E8F8F8FA8A8A8313131
7873030303030302222222929291D1D1D2E2E2E9F9F9FE7E7E7ECECECC8C8C8101010404040252525
7881B1B1B1C1C1C1D1D1D1B1B1B202020E0E0E0E4E4E4DCDCDCD5D5D5B8B8B85252520B0B0B292929
789A1A1A1D4D4D4D5D5D5A4A4A42020200909095E5E5ECECECEE1E1E1E5E5E5D8D8D8E2E2E20E0E0E
790DBDBDBD9D9D90D0D0D090909E0E0E0DEDEDE070707232323989898C9C9C9E9E9E9E1E1E1181818
791DADADADDDDDD020202E3E3E3DDDDDD0F0F0F111111E7E7E7E0E0E0060606313131B8B8B8DCDCDC
792DFDFDFE0E0E0DEDEDE0909091515151313131E1E1EE3E3E3E2E2E2DBDBDBD4D4D4C2C2C2484848
7930F0F0F707070D0D0D0DEDEDEDADADADDDDDDEAEAEA040404E1E1E1E1E1E10A0A0AEAEAEADEDEDE
7940D0D0D1313131B1B1B202020212121212121212121212121202020202020202020202020202020
795202020202020202020202020202020202020202020202020202020202020202020202020202020
796202020202020202020202020202020202020202020202020202020202020202020202020202020
797202020202020202020202020202020202020202020202020202020202020202020202020202020
798202020202020202020202020202020202020202020202020202020202020202020202020202020
799202020202020202020202020202020202020202020202020202020202020202020202020202020
800202020202020202020202020202020202020202020202020202020202020202020202020202020
801202020202020202020202020202020202020202020202020202020202020202020202020202020
802202020202020202020202020202020202020202020202020202020202020202020202020202020
803202020202020202020202020202020202020202020202020202020202020202020202020202020
804202020202020202020202020202020202020202020202020202020202020202020202020202020
805202020202020202020202020202020202020202020202020202020202020202020202020202020
806202020202020202020202020202020202020202020202020202020202020202020202020202020
807202020202020202020202020202020202020202020202020202020202020202020202020202020
808202020202020202020202020202020202020202020202020202020202020202020202020202020
809202020202020202020202020202020202020202020202020202020202020202020202020202020
810202020202020202020202020202020202020202020202020202020202020202020202020202020
811202020202020202020202020202020202020202020202020202020202020202020202020202020
812202020202020202020202020202020202020202020202020202020202020202020202020202020
813202020202020202020202020202020202020202020202020202020202020202020202020202020
814202020202020202020202020202020202020202020202020202020202020202020202020202020
815202020202020202020202020202020202020202020202020202020202020202020202020202020
816202020202020202020202020202020202020202020202020202020202020202020202020202020
817202020202020202020202020202020202020202020202020202020202020202020202020202020
818202020202020202020202020202020202020202020202020202020202020202020202020202020
8192020202020202020202222222020202020201E1E1E1E1E1E3E3E3E101010C5C5C5E6E6E6EAEAEA
820ECECECEBEBEBEBEBEBEBEBEBE7E7E7E2E2E2DEDEDECACACAC1C1C1B3B3B3161616242424292929
821191919ADADADBCBCBCCCCCCCDBDBDBDEDEDEE7E7E7E8E8E8ECECECEDEDEDF1F1F1EBEBEBE7E7E7
822DEDEDED8D8D86565655B5B5BD7D7D7D6D6D6E9E9E9E9E9E9E7E7E7E8E8E8EDEDEDE0E0E0D5D5D5
823D4D4D46767675E5E5ED6D6D6E0E0E0DEDEDEECECECECECECF0F0F0EAEAEAE2E2E2EBEBEBDDDDDD
824CACACA6060609D9D9D2222222424241E1E1E1E1E1E2424242222229D9D9D5F5F5FC8C8C8DCDCDC
825E8E8E8DEDEDEEAEAEAF0F0F0E5E5E5F2F2F2EDEDEDE1E1E1C7C7C74141412626262929292E2E2E
8263737373838385454545D5D5D3A3A3A3F3F3F3131313131312D2D2D232323404040C6C6C6E1E1E1
827E6E6E6BCBCBC1818183535352424241F1F1F2D2D2D2222222727271D1D1D191919101010131313
8281616160F0F0F0F0F0F2020201111111212121212120B0B0B0B0B0B1616161D1D1D181818131313
8290E0E0E1414140C0C0C1111110B0B0B171717141414181818171717141414191919161616121212
8301616161212120E0E0E1616161212121515151D1D1D1212120D0D0D131313101010171717171717
8311111111414141A1A1A1111110F0F0F494949DCDCDCCACACA0707071212122A2A2A1B1B1B1B1B1B
8321414141212121717170F0F0F1414141414141414141212121111111111110A0A0A0E0E0E0C0C0C
8331313131717170F0F0F070707191919131313191919202020242424242424232323242424252525
834242424242424242424242424242424242424242424242424242424242424242424242424242424
835242424242424242424242424242424242424242424242424242424242424242424242424242424
836242424242424242424242424242424242424232323232323232323232323232323232323232323
837232323242424242424242424242424242424242424242424242424242424242424242424242424
838242424242424242424242424242424242424242424242424242424242424242424242424242424
839242424242424242424242424242424242424242424242424242424242424242424242424242424
840242424242424242424242424242424242424242424242424242424242424242424242424242424
841242424242424242424242424242424242424242424242424242424242424242424242424242424
842242424242424242424242424242424242424242424242424242424242424242424242424242424
843242424242424242424242424242424242424242424242424242424242424242424242424242424
844242424242424242424242424242424242424242424242424242424242424242424242424242424
845242424242424242424242424242424242424242424242424242424242424242424242424242424
846242424242424242424242424242424242424242424242424242424242424242424242424242424
847242424242424242424242424242424242424242424242424242424242424242424242424242424
848242424242424242424242424242424242424242424242424242424242424242424242424242424
849242424242424242424242424242424242424242424242424242424242424242424242424242424
850242424242424242424242424242424242424242424242424242424242424242424242424242424
851242424242424242424242424242424242424242424242424242424242424242424242424242424
852242424242424242424242424242424242424242424242424242424242424242424242424242424
853242424242424242424242424242424242424242424242424242424242424242424242424242424
854242424242424242424242424242424242424242424242424242424242424242424242424242424
855242424242424242424242424242424242424242424242424242424242424242424242424242424
856242424242424242424242424242424242424242424242424242424242424242424242424242424
857242424242424242424242424242424242424242424242424242424242424242424242424242424
858242424242424242424242424242424242424242424242424202020222222252525262626242424
859373737111111C4C4C4E5E5E5E9E9E9ECECECEAEAEAE9E9E9EAEAEAE9E9E9E6E6E6DFDFDFD8D8D8
860C6C6C6B8B8B8AAAAAA1A1A1A1C1C1CADADADBEBEBECACACAD5D5D5E1E1E1E8E8E8F4F4F4E7E7E7
861EBEBEBE9E9E9E1E1E1EDEDEDE1E1E1D4D4D4CECECE5A5A5AC3C3C3505050CBCBCBD9D9D9E1E1E1
862DEDEDEE7E7E7E2E2E2D8D8D8D0D0D04F4F4FBFBFBF5D5D5DCFCFCFD4D4D4E9E9E9EAEAEAE9E9E9
863EBEBEBE4E4E4EAEAEAD6D6D6CFCFCF616161C1C1C12626262B2B2B181818959595959595181818
8642B2B2B262626C4C4C4636363D1D1D1D7D7D7EAEAEAE8E8E8EDEDEDE3E3E3F4F4F4E8E8E8E5E5E5
865D6D6D68A8A8A2828283131313737373E3E3E3D3D3DBEBEBEE1E1E14646464141413F3F3F3A3A3A
8662C2C2C353535808080DADADAEBEBEBE0E0E0C4C4C40F0F0F2525252929292828282424242B2B2B
8672929292424242525251C1C1C1B1B1B1717171818181E1E1E1919192323232121211919191F1F1F
8681D1D1D1A1A1A1C1C1C1E1E1E2020201C1C1C1414141E1E1E1B1B1B1A1A1A1D1D1D1C1C1C1D1D1D
8692222222222222020201A1A1A2020202020202121211919191E1E1E1E1E1E2323231818181A1A1A
8702323231E1E1E1C1C1C2222221C1C1C2727271A1A1A191919E4E4E4DFDFDFD1D1D1AFAFAF3A3A3A
8711717171919191F1F1F2E2E2E2020201B1B1B1C1C1C1515151E1E1E1B1B1B1919192626261D1D1D
8721919191818181E1E1E1616161C1C1C2121211818182121212222221B1B1B1D1D1D222222282828
8732A2A2A282828272727272727292929282828282828282828282828282828282828282828282828
874282828282828282828282828282828282828282828282828282828282828282828282828282828
875282828282828282828282828282828282828282828282828282828282828282828282828282828
876282828282828282828282828282828282828292929292929292929292929292929292929292929
877292929292929292929292929292929292929292929292929292929292929292929292929292929
878292929292929292929292929292929292929292929292929292929292929292929292929292929
879292929292929292929292929292929292929292929282828282828282828282828282828282828
880282828282828282828282828282828282828282828282828282828282828282828282828282828
881282828282828282828282828282828282828282828282828282828282828282828282828282828
882282828282828282828282828282828282828282828282828282828282828282828282828282828
883282828282828282828282828282828282828282828282828282828282828282828282828282828
884282828282828282828282828282828282828282828282828282828282828282828282828282828
885282828282828282828282828282828282828282828282828282828292929292929292929292929
886292929292929292929292929292929292929292929292929292929292929292929292929292929
887292929292929292929292929292929292929292929292929292929292929292929292929292929
888292929292929292929292929292929292929292929292929292929292929292929292929292929
889292929292929292929292929292929292929292929292929292929292929292929292929292929
890292929292929292929292929292929292929292929292929292929292929292929292929292929
891292929292929292929292929292929292929292929292929292929292929292929282828282828
892282828282828282828282828282828282828282828282828282828282828282828282828282828
893282828282828282828282828282828282828282828282828282828282828282828282828282828
894282828282828282828282828282828282828282828282828282828282828282828282828292929
895292929292929292929292929292929292929292929292929292929292929292929292929292929
896292929292929292929292929292929292929292929292929292929292929292929292929292929
897292929292929292929292929292929292929292929292929292929292929292929292929292929
8982929292828282A2A2A2727272222222D2D2D0D0D0DC0C0C0E2E2E2E8E8E8EAEAEAE8E8E8E7E7E7
899E8E8E8E9E9E9E8E8E8EAEAEAD9D9D9DBDBDBCDCDCDBCBCBCBEBEBEB6B6B6C1C1C1CBCBCBD7D7D7
900DDDDDDE6E6E6EBEBEBDFDFDFEBEBEBEAEAEAE9E9E9EDEDEDE6E6E6DADADADEDEDEC3C3C3262626
9015555559F9F9F555555CBCBCBD4D4D4E7E7E7D9D9D9D5D5D5CBCBCB3E3E3E9C9C9C575757262626
902C8C8C8D5D5D5DEDEDEE4E4E4EEEEEEE5E5E5E6E6E6E1E1E1D8D8D8414141C2C2C25555552D2D2D
903232323A4A4A4A6A6A6A6A6A6A4A4A42323232D2D2D555555C1C1C1424242D7D7D7E0E0E0E8E8E8
904E4E4E4E4E4E4F6F2EFE9E5E2E9E5E2E9E5E2C0BCB96C686535312E3E3A3745413E4F4B489F9B98
905BFBBB85B57544B47444A4643423E3B3733306C6865C3BFBCE9E5E2E9E5E2E0DCD9C5C1BE24201D
906302C2935312E3834313A36333B37343834313834313C38353332303232302F31302B2F2E2D3132
9073435373636383434363232323232323232323232323232323232323232323232322F2F2F2F2F2F
908303030303030313131323232323232323232323232323232323232323232323232323232323232
9093131313131313131313131313131313131313131313131313131313333353333353232342F2F31
9102A2A2C2424261E1E201B1B1D1B1B1D2222242C2C2E3333353535373434363232343131332F2F31
9113030323131333232343232343131333030322F2F31303032303032303032303032303032303032
912313133313133333333343434343434353535353535363636363636363636363636363636363636
913363636363636363636363636363636363636363636363636363636363636363636363636363636
914363636363636363636363636363636363636363636363636363636363636363636363636363636
915363636363636363636363636363636363636363636363636363636363636363636363636363636
916363636363636363636363636363636363636363636363636363636363636363636363636363636
917363636363636363636363636363636363636363636363636363636363636363636363636363636
918363636363636363636363636363636363636363636363636363636363636363636363636363636
919363636363636363636363636363636363636363636363636363636363636363636363636363636
920363636363636363636363636363636363636363636363636363636363636363636363636363636
921363636363636363636363636363636363636363636363636363636363636363636363636363636
922363638363638363638363638363638363638363638363638363638363638363638363638363638
923363638363638363638363638363638363638363638363638363638363638363638363638363638
924363638363638363638363638363638363638363638363638363638363638363638363638363638
925363638363638363638363638363638363638363638363638363638363638363638363638363638
926363638363638363638363638363638363638363638363638363638363638363638363638363638
927363638363638363638363638363638363638363638363638363638363638363638363638363638
928363638363638363636363636363636363636363636363636363636363636363636363636363636
929363636363636363636363636363636363636363636363636363636363636363636363636363636
930363636363636363636363636363636363636363636363636363636363636363636363636363636
931363636363636363636363636363636363636363636363636363636363636363636363638363638
932363638363638363638363638363638363638363638363638363638363638363638363638363638
933363638363638363638363638363638363638363638363638363638363638363638363638363638
934363638363638363638363638363638363638363638363638363638373739373739373739373739
935373739373739373739373739373739373739373739373739373739373739373739373739373739
936373739373739373739373739373739373739373739373739373739373739373739373739373739
9373737393737393737393737393737393838383232323737373636363131312C2C2C212121BEBEBE
938E4E4E4E6E6E6E8E8E8E8E8E8E7E7E7E6E6E6E7E7E7E8E8E8E5E5E5E3E3E3DEDEDED7D7D7D0D0D0
939CDCDCDCECECECFCFCFD9D9D9DDDDDDE3E3E3E6E6E6E7E7E7E6E6E6E6E6E6E7E7E7EAEBEFE2E2E4
940E7E6E4E5E1DED3CFCCC6C6C424282733383B3935327E7A77272320D4D0CDD8D4D1D8D4D1D4D0CD
9412A262386827F373330383431332F2CC5C1BED6D2CFE4E0DDE7E3E0E8E4E1EAE6E3E5E1DEE1DDDA
942D4D0CDCBC7C444403D3834312A2623ADA9A6B2AEABBEBAB7BEBAB7B2AEABADA9A62A262336322F
94345413EC9C5C2D5D1CEDCD8D5EAE6E3EAE6E3E1DDDAEDF1F4E3E7EAE1E5E8E4E8EBDDE1E4AEB2B5
944666A6D3D4144464A4D5155585A5E615E62655155585E626544484B4145486A6E71A6AAADDCE0E3
945E1E5E8E1E5E8E2E6E9C6CACD3A3E4131353835393C373B3E383C3F3A3E413D41443A3E41323639
9463B3A3F3B3C403A3E413A3E41393F3F3C403F3C403F3D3F3E413C40413C40413C40413C40413C40
947413C40413C40413C403F3A3E3F3A3E403B3F403B3F413C40413C40413C40413C40413C40413C40
948413C40413C40413C40403B3F403B3F403B3F413C40413C40413C40413C40413C40413C40413C40
949413C40403B3F403B3F3F3A3E3E393D3A3539353034312C302E292D2F2A2E3530343B363A403B3F
950413C40403B3F3F3A3E3F3A3E3F3A3E403B3F413C40413C40413C40413C40403B3F3F3A3E403B3F
951403B3F403B3F403B3F403B3F403B3F403B3F413C403F3A3E3F3A3E403B3F403B3F403B3F413C40
952413C40413C40413C40413C40413C40413C40413C40413C40413C40413C40413C40413C40413C40
953413C40413C40413C40413C40413C40413C40413C40413C40413C40413C40413C40413C40413C40
954413C40413C40413C40413C40413C40413C40413C40413C40413C40413C40413C40413C40413C40
955413C40413C40413C403F3A3E3F3A3E3F3A3E3F3A3E3F3A3E3F3A3E3F3A3E3F3A3E3F3A3E3F3A3E
9563F3A3E3F3A3E3F3A3E3F3A3E3F3A3E3F3A3E3F3A3E3F3A3E3F3A3E3F3A3E3F3A3E3F3A3E3F3A3E
9573F3A3E3F3A3E3F3A3E3F3A3E3F3A3E3F3A3E3F3A3E3F3A3E3F3A3E3F3A3E3F3A3E3F3A3E3F3A3E
9583F3A3E3F3A3E3F3A3E3F3A3E413C40413C40413C40413C40413C40413C40413C40413C40413C40
959413C40413C40413C40413C40413C40413C40413C40413C40413C40413C40413C40413C40413C40
960413C40413C40413C40413C40413C40413C40413C40413C40413C40413C40413C40413C40413C40
961413C40413C40413C40413C40413C40413C40413C40413C40413C40413C40413C40413C40413C40
962413C40413C40413C40413C40413C40413C40413C40413C40413C40413C40413C40413C40413C40
963413C40413C40413C40413C40413C40413C40413C40413C40413C40413C40413C40413C40413C40
964413C40413C40413C40413C40413C40413C40413C40413C40413C40413C40413C40413C40413C40
965413C40413C40413C40413C40413C40413C40413C40413C40413C40413C40413C40413C40413C40
966413C40413C40413C40413C40413C40413C40413C40413C40413C40413C40413C40413C40413C40
967413C40413C40413C40413C40413C40413C40413C40413C40413C40413C40413C40413C40413C40
968413C40413C40413C40413C40413C40413C40413C40413C40413C40413C40413C40413C40413C40
969413C40413C40413C40413C40413C40413C40413C40413C40413C40413C40413C40413C40413C40
970413C40413C40413C40413C40413C40413C40413C40413C403F3A3E3F3A3E3F3A3E3F3A3E3F3A3E
9713F3A3E3F3A3E3F3A3E3F3A3E3F3A3E3F3A3E3F3A3E3F3A3E3F3A3E3F3A3E3F3A3E3F3A3E3F3A3E
9723F3A3E3F3A3E3F3A3E3F3A3E3F3A3E3F3A3E3F3A3E3F3A3E3F3A3E3F3A3E3F3A3E3F3A3E3F3A3E
9733F3A3E3F3A3E3F3A3E3F3A3E3F3A3E3F3A3E3F3A3E3F3A3E3F3A3E413C40413C40413C40413C40
974413C40413C40413C40413C40403B3F403B3F403B3F403B3F403B3F403B3F403B3F403B3F403B3F
975403B3F403B3F403B3F403B3F403B3F403B3F403B3F403B3F403B3F403B3F403B3F403B3F403B3F
976403B3F403B3F403B3F403B3F403B3F403B3F403B3F403B3F403B3F403B3F3E393D413C403E393D
9773B363A413C40332E32423D41C4BFC3E4DFE3E6E1E5E8E3E7E8E3E7E7E2E6E6E1E5E7E2E6E8E3E7
978E8E3E7E8E3E7E5E0E4E1DCE0DDD8DCDBD6DADBD6DADDD8DCE0DBDFE3DEE2E7E2E6E8E3E7E7E2E6
979E7E2E6E7E2E6E7E2E6DCE0E3E4E5E9E2E3E5E0E0E0D9D9D9B9BBBA2E32332B2F302C303334383B
9805054571D2124C9CDD0C8CCCF1D2124474B4E2B2F322F33362D3134272B2EB9BDC0D9DDE0D1D5D8
981E4E8EBE6EAEDDFE3E6E1E5E8D8DCDFD6DADDBBBFC2B4B8BB1F2326AFB3B6B6BABDBFC3C6CACED1
982CACED1BFC3C6B6BABDAFB3B6202427B7BBBEBCC0C3D7DBDED5D9DCE2E6E9DCE0E3DADEE1ECF0F3
983E5E9ECE1E5E8DEE2E5E5E9ECE0E4E7B2B6B983878A5256594C50535256595F6366575B5E505457
98454585B828689B7BBBEDBDFE2E6EAEDE1E5E8E2E6E9E1E5E8D1D5D885898C24282B2A2E313A3E41
9854246493C40433A3E41404447414548473E41483F4047423F46433E434039413E37413E35423F36
9863D423C3D423C3D423C3D423C3D423C3D423C3D423C3D423C3D423C3D423C3D423C3D423C3D423C
9873D423C3E433D3E433D3D423C3D423C3D423C3D423C3D423C3D423C3C413B3C413B3D423C3D423C
9883D423C3D423C3D423C3D423C3D423C3D423C3D423B3D423B3D423B3D423B3B4039393E37363B34
989353A33373C35393E373C413A3D423B3D423B3D423B3D423B3E433C3D423B3D423B3D423B3E433C
9903E433C3D423B3D423B3D423B3D423B3D423B3D423B3D423B3D423B3E433C3E433C3E433C3D423B
9913D423B3D423B3D423B3D423B3D423B3D423B3D423B3D423C3D423C3D423C3D423C3D423C3D423C
9923D423C3D423C3D423C3D423C3D423C3D423C3D423C3D423C3D423C3D423C3D423C3D423C3D423C
9933D423C3D423C3D423C3D423C3D423C3D423C3D423C3D423C3D423C3D423C3D423C3D423C3D423C
9943D423C3D423C3D423C3D423C3D423C3D423C3D423C3D423C3F443E3F443E3F443E3F443E3F443E
9953F443E3F443E3F443E3F443E3F443E3F443E3F443E3F443E3F443E3F443E3F443E3F443E3F443E
9963F443E3F443E3F443E3F443E3F443E3F443E3F443E3F443E3F443E3F443E3F443E3F443E3F443E
9973F443E3F443E3F443E3F443E3F443E3F443E3F443E3F443E3F443E3D423C3D423C3D423C3D423C
9983D423C3D423C3D423C3D423C3D423C3D423C3D423C3D423C3D423C3D423C3D423C3D423C3D423C
9993D423C3D423C3D423C3D423C3D423C3D423C3D423C3D423C3D423C3D423C3D423C3D423C3D423C
10003D423C3D423C3D423C3D423C3D423C3D423C3D423C3D423C3D423C3D423C3D423B3D423B3D423B
10013D423B3D423B3D423B3D423B3D423B3D423B3D423B3D423B3D423B3D423B3D423B3D423B3D423B
10023D423B3D423B3D423B3D423B3D423B3D423B3D423B3D423B3D423B3D423B3D423B3D423B3D423B
10033D423B3D423B3D423B3D423B3D423B3D423B3D423B3D423B3D423B3D423B3D423B3D423B3D423B
10043D423B3D423B3D423B3D423B3D423B3D423B3D423B3D423B3D423B3D423B3D423B3D423B3D423B
10053D423B3D423B3D423B3D423B3D423B3D423B3D423B3D423B3D423B3D423B3D423B3D423B3D423B
10063D423B3D423B3D423B3D423B3D423B3D423B3D423B3D423B3D423B3D423B3D423B3D423B3D423C
10073D423C3D423C3D423C3D423C3D423C3D423C3D423C3D423C3D423C3D423C3D423C3D423C3D423C
10083D423C3D423C3D423C3D423C3D423C3D423C3D423C3D423C3D423C3D423C3D423C3D423C3D423C
10093D423C3D423C3D423C3D423C3D423C3D423C3D423C3D423C3D423C3D423C3D423C3D423C3D423C
10103F443D3F443D3F443D3F443D3F443D3F443D3F443D3F443D3F443D3F443D3F443D3F443D3F443D
10113F443D3F443D3F443D3F443D3F443D3F443D3F443D3F443D3F443D3F443D3F443D3F443D3F443D
10123F443D3F443D3F443D3F443D3F443D3F443D3F443D3F443D3F443D3F443D3F443D3F443D3F443D
10133F443D3E433C3D423B3D423B3D423B3D423B3C413A3C413A3C413A3E433C3E433C3E433C3E433C
10143E433C3E433C3E433C3E433C3E433C3E433C3E433C3E433C3E433C3E433C3E433C3E433C3E433C
10153E433C3E433C3E433C3E433C3E433C3E433C3E433C3E433C3E433C3E433C3E433C3E433C3E433C
10163E433C3E433C3F443D40453E424740363B34292E2731362F858A83D8DDD6DFE4DEE1E6E0E3E8E2
1017E3E8E2E2E7E1E1E6E0E2E7E1E2E7E1E0E5DFE1E6E0E1E6E0DFE4DEDDE2DCDCE1DBDDE2DCDDE2DC
1018E1E6E0E2E7E1E3E8E2E3E8E2E2E7E1E1E6E0E2E7E1E3E8E2F3EEEAE5E0DDE3DFDCE1DDDAD3CFCC
1019D4CFCBBFB8B2B5AEA8AEB2B5A7ABAEB6BABDC7CBCEC8CCCFCDD1D4C5C9CCBCC0C3B0B4B7A7ABAE
1020B8BCBFB8BCBFC3C7CAD5D9DCE2E6E9D9DDE0E2E6E9E1E5E8DADEE1D9DDE0D7DBDEC6CACDC4C8CB
1021C3C7CABEC2C5C3C7CAD1D5D8D3D7DAD3D7DAD1D5D8C3C7CABEC2C5BFC3C6C0C4C7C5C9CCD4D8DB
1022DADEE1DDE1E4E4E8EBDCE0E3F2EEEBE7E3E0E8E4E1E3DFDCDFDBD8E6E2DFE2DEDBD8D4D1BFBBB8
10239894918B87848985828884819C9895BAB6B3D3CFCCE2DEDBEBE7E4E2DEDBE5E1DEE8E4E1E2DEDB
1024E0DCD9CBC7C464605D423E3B34302D403C39433F3C423E3B433F3C413D3A3D3E433D3E423C4043
10253E42433D41423B41413D43434045483F40453F40453F40453F40453F40453F40453F40453F4045
10264041464041464041464041464041464041464041464041463F40453F40453F40453F40453F4045
10273F40453F40453F4045404146404146404146404146404146404146404146404146414244414244
1028414244424345414244414244404143404143414244424345424345424345414244414244424345
1029424345404143404143404143404143404143404143404143404143404143404143404143404143
1030404143414244414244414244424347424347424347424347424347424347424347424347414247
1031414247414247414247414247414247414247414247414247414247414247414247414247414247
1032414247414247414247414247414247414247414247414247414247414247414247414247414247
1033414247414247414247414247414247414247414247414247414247414247414247414247414247
10343F40453F40453F40453F40453F40453F40453F40453F40453F40453F40453F40453F40453F4045
10353F40453F40453F40453F40453F40453F40453F40453F40453F40453F40453F40453F40453F4045
10363F40453F40453F40453F40453F40453F40453F40453F40453F40453F40453F40453F40453F4045
10373F4045414247414247414247414247414247414247414247414247414247414247414247414247
1038414247414247414247414247414247414247414247414247414247414247414247414247414247
1039414247414247414247414247414247414247414247414247414247414247414247414247414247
1040414247414247414244414244414244414244414244414244414244414244414244414244414244
1041414244414244414244414244414244414244414244414244414244414244414244414244414244
1042414244414244414244414244414244414244414244414244414244414244414244414244414244
1043414244414244414244414244414244414244414244414244414244414244414244414244414244
1044414244414244414244414244414244414244414244414244414244414244414244414244414244
1045414244414244414244414244414244414244414244414244414244414244414244414244414244
1046414244414244414244414244414247414247414247414247414247414247414247414247414247
1047414247414247414247414247414247414247414247414247414247414247414247414247414247
1048414247414247414247414247414247414247414247414247414247414247414247414247414247
10494142474142474142474142474142473F40443F40443F40443F40443F40443F40443F40443F4044
10503F40423F40423F40423F40423F40423F40423F40423F40423F40423F40423F40423F40423F4042
10513F40423F40423F40423F40423F40423F40423F40423F40423F40423F40423F40423F40423F4042
10523F40423F40423F40423F40423F40423F4042414244404143404143404143404143404143404143
10534041433F40423F40423F40423F40423F40423F40423F40423F40423F40423F40423F40423F4042
10543F40423F40423F40423F40423F40423F40423F40423F40423F40423F40423F40423F40423F4042
10553F40423F40423F40423F40423F40423F40423F40424041453F40443E3F433435393435395C5D61
1056BEBFC3DCDDE1DFE0E5E0E1E6E2E3E8E2E3E8E1E2E7E1E2E7E1E2E7E1E2E7E2E3E8E2E3E8E3E4E9
1057E2E3E8E1E2E7E0E1E6E1E2E7E1E2E7E0E1E6E1E2E7E1E2E7E1E2E7E0E1E6E0E1E6E1E2E7E2E3E8
1058DADADCE4E5E9E0E5E9DBE0E6D7DCE2CDD1D4C9C9CBC4C2C3C1BDBAC8C4C1C4C0BDCFCBC8D5D1CE
1059CFCBC8D6D2CFC3BFBCC2BEBBC4C0BDBAB6B3CBC7C4D5D1CEDDD9D6DEDAD7EDE9E6E6E2DFE5E1DE
1060E8E4E1E4E0DDDCD8D5DDD9D6D5D1CEC7C3C0D1CDCADFDBD8DBD7D4E0DCD9E0DCD9DBD7D4DFDBD8
1061D1CDCACDC9C6D7D3D0E1DDDADAD6D3E5E1DEE6E2DFE2DEDBD7D3D0F1F0EEDDDCDAE2E1DFE8E7E5
1062E1E0DEE0DFDDE2E1DFE3E2E0DEDDDBDCDBD9D7D6D4CCCBC9D3D2D0DCDBD9E0DFDDE4E3E1DEDDDB
1063E4E3E1E0DFDDE3E2E0E0DFDDE2E1DFE3E2E0D7D6D4C3C2C07F7E7C4645433332302F2E2C32312F
106436353334333134353032332E33322D34332F33322E323031313133313035352F31352F31352F31
1065352F31352F31352F31352F31352F31363032363032363032363032363032352F31352F31352F31
1066352F31352F31352F31352F31352F31352F31363032363032363032363032363032363032363032
1067363032363032363032352F2F352F2F352F2F363030363030363030373131373131373131373131
1068363030363030352F2F352F2F352F2F363030363030363030363030352F2F352F2F363030363030
1069363030363030363030363030363030363030363030363030363030373131373131373131363030
1070363030363030363030363030363032363032363032363032363032363032363032363032363032
1071363032363032363032363032363032363032363032363032363032363032363032363032363032
1072363032363032363032363032363032363032363032363032363032363032363032363032363032
1073363032363032363032363032363032383234383234383234383234383234383234383234383234
1074383234383234383234383234383234383234383234383234383234383234383234383234383234
1075383234383234383234383234383234383234383234383234383234383234383234383234383234
1076383234383234383234383234383234383234363032363032363032363032363032363032363032
1077363032363032363032363032363032363032363032363032363032363032363032363032363032
1078363032363032363032363032363032363032363032363032363032363032363032363032363032
1079363032363032363032363032363032363032363032363030363030363030363030363030363030
1080363030363030363030363030363030363030363030363030363030363030363030363030363030
1081363030363030363030363030363030363030363030363030363030363030363030363030363030
1082363030363030363030363030363030363030363030363030363030363030363030363030363030
1083363030363030363030363030363030363030363030363030363030363030363030363030363030
1084363030363030363030363030363030363030363030363030363030363030363030363030363030
1085363030363030363030363030363030363030363030363030363030363032363032363032363032
1086363032363032363032363032363032363032363032363032363032363032363032363032363032
1087363032363032363032363032363032363032363032363032363032363032363032363032363032
1088363032363032363032363032363032363032363032363032363032363032383232383232383232
1089383232383232383232383232383232383232383232383232383232383232383232383232383232
1090383232383232383232383232383232383232383232383232383232383232383232383232383232
1091383232383232383232383232383232383232383232383232383232383232383232352F2F352F2F
1092352F2F352F2F352F2F352F2F352F2F352F2F352F2F352F2F352F2F352F2F352F2F352F2F352F2F
1093352F2F352F2F352F2F352F2F352F2F352F2F352F2F352F2F352F2F352F2F352F2F352F2F352F2F
1094352F2F352F2F352F2F352F2F352F2F352F2F352F2F352F2F352F2F352F2F352F2F352F2F373131
10953630302C26264842428C8686C4BEBEE6E0E0DFD9D9E5DFE1E5DFE1E6E0E2E6E0E2E6E0E2E5DFE1
1096E6E0E2E6E0E2E7E1E3E7E1E3E7E1E3E6E0E2E5DFE1E5DFE1E5DFE1E6E0E2E5DFE1E5DFE1E6E0E2
1097E6E0E2E6E0E2E5DFE1E6E0E2E6E0E2E5E1DEE9E8E6E1E1E1DBDBDDE0E0E2DCDADBD6D2D1D3CECB
1098CAC9C7D3D2D0D5D4D2DFDEDCCECDCBE0DFDDD3D2D0D3D2D0D1D0CED4D3D1CCCBC9D8D7D5D8D7D5
1099E1E0DEE1E0DEDEDDDBDEDDDBE6E5E3E2E1DFE0DFDDE7E6E4D2D1CFDDDCDAE0DFDDDCDBD9D3D2D0
1100DDDCDAE4E3E1E4E3E1DDDCDAD3D2D0DCDBD9DEDDDBD7D6D4D1D0CEE4E3E1E3E2E0E4E3E1EAE9E7
1101D9D8D6F0F4F7DBDFE2DCE0E3E2E6E9DFE3E6E0E4E7DDE1E4DADEE1DFE3E6DDE1E4D9DDE0DDE1E4
1102E6EAEDDEE2E5D7DBDEDDE1E4DCE0E3DDE1E4E0E4E7E0E4E7DADEE1DFE3E6E1E5E8D8DCDFD9DDE0
1103C6CACDB6BABDABAFB2A1A5A8A0A4A7A2A6A99FA3A6A0A5A1A3A5A2A5A6A1A4A5A0A5A4A0A6A4A5
1104A4A2A5A29FA6A1A5A4A1A5A4A1A5A4A1A5A4A1A5A4A1A5A4A1A5A4A1A5A4A1A5A4A1A5A4A1A5A4
1105A1A5A4A1A5A4A1A5A4A1A5A4A1A5A4A1A5A4A1A5A4A1A5A4A1A5A4A1A5A4A2A6A5A2A6A5A2A6A5
1106A1A5A4A1A5A4A1A5A4A1A5A4A1A5A4A1A5A4A1A5A4A1A5A4A0A5A1A0A5A1A1A6A2A1A6A2A1A6A2
1107A1A6A2A1A6A2A2A7A3A1A6A2A1A6A2A1A6A2A1A6A2A1A6A2A1A6A2A0A5A1A0A5A1A2A7A3A1A6A2
1108A1A6A2A1A6A2A1A6A2A1A6A2A1A6A2A2A7A3A2A7A3A2A7A3A2A7A3A1A6A2A1A6A2A1A6A2A1A6A2
1109A1A6A2A1A6A2A1A6A2A1A6A2A1A6A2A1A6A2A0A5A1A0A5A1A0A5A1A1A5A4A1A5A4A1A5A4A1A5A4
1110A1A5A4A1A5A4A1A5A4A1A5A4A1A5A4A1A5A4A1A5A4A1A5A4A1A5A4A1A5A4A1A5A4A1A5A4A1A5A4
1111A1A5A4A1A5A4A1A5A4A1A5A4A1A5A4A1A5A4A1A5A4A1A5A4A1A5A4A1A5A4A1A5A4A1A5A4A1A5A4
1112A1A5A4A1A5A4A0A4A3A0A4A3A0A4A3A0A4A3A0A4A3A0A4A3A0A4A3A0A4A39EA2A19EA2A19EA2A1
11139EA2A19EA2A19EA2A19EA2A19EA2A19EA2A19EA2A19EA2A19EA2A19EA2A19EA2A19EA2A19EA2A1
11149EA2A19EA2A19EA2A19EA2A19EA2A19EA2A19EA2A19EA2A19EA2A19EA2A19EA2A19EA2A19EA2A1
11159EA2A19EA2A19EA2A19EA2A19EA2A19EA2A19EA2A19EA2A19EA2A19EA2A19EA2A1A1A5A4A1A5A4
1116A1A5A4A1A5A4A1A5A4A1A5A4A1A5A4A1A5A4A1A5A4A1A5A4A1A5A4A1A5A4A1A5A4A1A5A4A1A5A4
1117A1A5A4A1A5A4A1A5A4A1A5A4A1A5A4A1A5A4A1A5A4A1A5A4A1A5A4A1A5A4A1A5A4A1A5A4A1A5A4
1118A1A5A4A1A5A4A1A5A4A1A5A4A1A5A4A1A5A4A1A5A4A1A5A4A1A5A4A1A5A4A1A5A4A1A5A4A1A6A2
1119A1A6A2A1A6A2A1A6A2A1A6A2A1A6A2A1A6A2A1A6A2A1A6A2A1A6A2A1A6A2A1A6A2A1A6A2A1A6A2
1120A1A6A2A1A6A2A1A6A2A1A6A2A1A6A2A1A6A2A1A6A2A1A6A2A1A6A2A1A6A2A1A6A2A1A6A2A1A6A2
1121A1A6A2A1A6A2A1A6A2A1A6A2A1A6A2A1A6A2A1A6A2A1A6A2A1A6A2A1A6A2A1A6A2A1A6A2A1A6A2
1122A1A6A2A1A6A2A1A6A2A1A6A2A1A6A2A1A6A2A1A6A2A1A6A2A1A6A2A1A6A2A1A6A2A1A6A2A1A6A2
1123A1A6A2A1A6A2A1A6A2A1A6A2A1A6A2A1A6A2A1A6A2A1A6A2A1A6A2A1A6A2A1A6A2A1A6A2A1A6A2
1124A1A6A2A1A6A2A1A6A2A1A6A2A1A6A2A1A6A2A1A6A2A1A6A2A1A6A2A1A6A2A1A6A2A1A6A2A1A6A2
1125A1A6A2A1A5A4A1A5A4A1A5A4A1A5A4A1A5A4A1A5A4A1A5A4A1A5A4A1A5A4A1A5A4A1A5A4A1A5A4
1126A1A5A4A1A5A4A1A5A4A1A5A4A1A5A4A1A5A4A1A5A4A1A5A4A1A5A4A1A5A4A1A5A4A1A5A4A1A5A4
1127A1A5A4A1A5A4A1A5A4A1A5A4A1A5A4A1A5A4A1A5A4A1A5A4A1A5A4A1A5A4A1A5A4A1A5A4A1A5A4
1128A1A5A4A1A5A49EA39F9EA39F9EA39F9EA39F9EA39F9EA39F9EA39F9EA39F9EA39F9EA39F9EA39F
11299EA39F9EA39F9EA39F9EA39F9EA39F9EA39F9EA39F9EA39F9EA39F9EA39F9EA39F9EA39F9EA39F
11309EA39F9EA39F9EA39F9EA39F9EA39F9EA39F9EA39F9EA39F9EA39F9EA39F9EA39F9EA39F9EA39F
11319EA39F9EA39F9EA39FA0A5A1A0A5A1A1A6A2A1A6A2A1A6A2A1A6A2A2A7A3A2A7A3A3A8A4A3A8A4
1132A3A8A4A3A8A4A3A8A4A3A8A4A3A8A4A3A8A4A3A8A4A3A8A4A3A8A4A3A8A4A3A8A4A3A8A4A3A8A4
1133A3A8A4A3A8A4A3A8A4A3A8A4A3A8A4A3A8A4A3A8A4A3A8A4A3A8A4A3A8A4A3A8A4A3A8A4A3A8A4
1134A3A8A4A3A8A4A3A8A4A3A8A49FA4A0A6ABA7ACB1ADBABFBBCACFCBD4D9D5DADFDBE0E5E1DDE1E0
1135DDE1E0DDE1E0DDE1E0DDE1E0DDE1E0DDE1E0DDE1E0DCE0DFDCE0DFDBDFDEDBDFDEDBDFDEDCE0DF
1136DCE0DFDDE1E0DDE1E0DDE1E0DEE2E1DEE2E1DEE2E1DDE1E0DDE1E0DCE0DFE5E4E0D9D8D4E1E0DC
1137E2E1DDDCDBD9DCDCDCDCDCDCD2D3D5D7DBDED7DBDED0D4D7CFD3D6DADEE1D8DCDFD3D7DAD9DDE0
1138D0D4D7D6DADDD9DDE0DCE0E3D6DADDD7DBDEDDE1E4DBDFE2DDE1E4DADEE1DBDFE2DBDFE2D7DBDE
1139E3E7EAD4D8DBD2D6D9DEE2E5DBDFE2E1E5E8D9DDE0D9DDE0E1E5E8DBDFE2DEE2E5D7DBDED6DADD
1140E6EAEDD7DBDEDBDFE2D9DDE0D7DBDED3D7DAE3DFDCD7D3D0D8D4D1D5D1CED2CECBD9D5D2DBD7D4
1141D9D5D2D2CECBD7D3D0DBD7D4DBD7D4D2CECBD5D1CEDBD7D4DAD6D3DCD8D5D4D0CDD8D4D1D7D3D0
1142D7D3D0D6D2CFD8D4D1DCD8D5D8D4D1D8D4D1D4D0CDCDC9C6CBC7C4CFCBC8D2CECBD0CCC9C2CCD6
1143C7D0D7CACFD3C6CACBC8CAC7CDCDCBD0D0D0CECECECDCBCECDCBCECDCBCECDCBCECDCBCECDCBCE
1144CDCBCECDCBCECCCACDCDCBCECDCBCECDCBCECDCBCECDCBCECDCBCECDCBCECCCACDCCCACDCCCACD
1145CDCBCECDCBCECDCBCECDCBCECDCBCECCCACDCCCACDCCCACDCCCACDCCCACDCCCACDCCCACDCCCACD
1146CDCBCECDCBCECDCBCECDCBCECDCBCECDCBCECDCBCECDCBCECCCACDCCCACDCCCACDCDCBCECDCBCE
1147CDCBCECDCBCECDCBCECDCBCECDCBCECDCBCECDCBCECDCBCECDCBCECDCBCECDCBCECDCBCECDCBCE
1148CDCBCECDCBCECCCACDCCCACDCCCACDCCCACDCDCBCCCDCBCCCDCBCCCDCBCCCDCBCCCDCBCCCDCBCC
1149CDCBCCCDCBCECDCBCECDCBCECDCBCECDCBCECDCBCECDCBCECDCBCECDCBCECDCBCECDCBCECDCBCE
1150CDCBCECDCBCECDCBCECDCBCECDCBCECDCBCECDCBCECDCBCECDCBCECDCBCECDCBCECDCBCECDCBCE
1151CDCBCECDCBCECDCBCECDCBCECDCBCECDCBCECDCBCECDCBCECDCBCECDCBCECDCBCECDCBCECDCBCE
1152CDCBCECDCBCECECCCFCECCCFCECCCFCECCCFCECCCFCECCCFCECCCFCECCCFCECCCFCECCCFCECCCF
1153CECCCFCECCCFCECCCFCECCCFCECCCFCECCCFCECCCFCECCCFCECCCFCECCCFCECCCFCECCCFCECCCF
1154CECCCFCECCCFCECCCFCECCCFCECCCFCECCCFCECCCFCECCCFCECCCFCECCCFCECCCFCECCCFCECCCF
1155CECCCFCECCCFCECCCFCDCBCECDCBCECDCBCECDCBCECDCBCECDCBCECDCBCECDCBCECDCBCECDCBCE
1156CDCBCECDCBCECDCBCECDCBCECDCBCECDCBCECDCBCECDCBCECDCBCECDCBCECDCBCECDCBCECDCBCE
1157CDCBCECDCBCECDCBCECDCBCECDCBCECDCBCECDCBCECDCBCECDCBCECDCBCECDCBCECDCBCECDCBCE
1158CDCBCECDCBCECDCBCECDCBCECDCBCECDCBCECDCBCECDCBCECDCBCECDCBCECDCBCECDCBCECDCBCE
1159CDCBCECDCBCECDCBCECDCBCECDCBCECDCBCECDCBCECDCBCECDCBCECDCBCECDCBCECDCBCECDCBCE
1160CDCBCECDCBCECDCBCECDCBCECDCBCECDCBCECDCBCECDCBCECDCBCECDCBCECDCBCECDCBCECDCBCE
1161CDCBCECDCBCECDCBCECDCBCECDCBCECDCBCECDCBCECDCBCECDCBCECDCBCECDCBCECDCBCECDCBCE
1162CDCBCECDCBCECDCBCECDCBCECDCBCECDCBCECDCBCECDCBCECDCBCECDCBCECDCBCECDCBCECDCBCE
1163CDCBCECDCBCECDCBCECDCBCECDCBCECDCBCECDCBCECDCBCECDCBCECDCBCECDCBCECDCBCECDCBCE
1164CDCBCECDCBCECDCBCECDCBCECDCBCECDCBCECDCBCECDCBCECDCBCECDCBCECDCBCECDCBCECDCBCE
1165CDCBCECDCBCECDCBCECDCBCECDCBCECDCBCECDCBCECDCBCECDCBCECDCBCECDCBCECDCBCECDCBCE
1166CDCBCECDCBCECDCBCECDCBCECDCBCECDCBCECDCBCECDCBCECDCBCECDCBCECDCBCECDCBCECDCBCE
1167CDCBCECDCBCECDCBCECDCBCECDCBCECDCBCECDCBCECECCCDCECCCDCECCCDCECCCDCECCCDCECCCD
1168CECCCDCECCCDCECCCFCECCCFCECCCFCECCCFCECCCFCECCCFCECCCFCECCCFCECCCFCECCCFCECCCF
1169CECCCFCECCCFCECCCFCECCCFCECCCFCECCCFCECCCFCECCCFCECCCFCECCCFCECCCFCECCCFCECCCF
1170CECCCFCECCCFCECCCFCECCCFCECCCFCECCCFCECCCFCECCCFCDCBCECDCBCECDCBCECDCBCECDCBCE
1171CECCCFCECCCFCECCCFCCCACDCCCACDCCCACDCCCACDCCCACDCCCACDCCCACDCCCACDCCCACDCCCACD
1172CCCACDCCCACDCCCACDCCCACDCCCACDCCCACDCCCACDCCCACDCCCACDCCCACDCCCACDCCCACDCCCACD
1173CCCACDCCCACDCCCACDCCCACDCCCACDCCCACDCCCACDCCCACDCCCACDD2D0D1C6C4C5CDCBCCD4D2D3
1174D1CFD0D2D0D1D9D7D8D5D3D4D6D4D7D5D3D6D5D3D6D5D3D6D5D3D6D5D3D6D5D3D6D5D3D6D7D5D8
1175D7D5D8D7D5D8D7D5D8D8D6D9D8D6D9D8D6D9D8D6D9D7D5D8D6D4D7D6D4D7D6D4D7D6D4D7D6D4D7
1176D5D3D6D5D3D6D5D9D8D2D4D1D6D5D1D1D0CBDCDBD7CFD3D4CDD6DBD6E0E9D9D5D2D2CECBDBD7D4
1177DFDBD8DBD7D4D7D3D0D8D4D1D7D3D0DEDAD7D4D0CDD5D1CED8D4D1DCD8D5DAD6D3DAD6D3D9D5D2
1178DBD7D4D8D4D1D8D4D1D9D5D2D9D5D2D7D3D0DFDBD8DAD6D3D2CECBDAD6D3D5D1CEDCD8D5DCD8D5
1179D5D1CEDAD6D3D2CECBD8D4D1DDD9D6D6D2CFDBD7D4D7D3D0DAD6D3DAD6D3DBD7D4998677968374
11809D8A7B9A87789582739986779986779784759B88799B88799380719885769885769A8778988576
11819784759885769683749C897A9582739B88799986779582739A8778968374988576978475998677
11829B8879998677968374988576A08277A485739E7B658F6B4B875F3B8A60388C6238895F35B39571
1183B39571B39571B39571B39571B39571B39571B39571B39571B39571B39571B39571B39571B39571
1184B49672B49672B29470B29470B39571B39571B39571B39571B39571B39571B39571B39571B39571
1185B39571B39571B39571B39571B39571B49674B49674B49674B49674B39573B39573B39573B29472
1186B29472B29472B29472B29472B39573B49674B39573B39573B39573B39573B39573B39573B39573
1187B39573B39573B39573B39573B39573B39573B39573B39573B29472B29472B29472B39571B39571
1188B39571B39571B49672B49672B49672B49672B39571B39571B39571B39571B39571B39571B39571
1189B39571B39571B39571B39571B39571B39571B39571B39571B39571B39571B39571B39571B39571
1190B39571B39571B39571B39571B39571B39571B39571B39571B39571B39571B39571B39571B49672
1191B49672B49672B49672B49672B49672B49672B49672B39571B39571B39571B39571B39571B39571
1192B39571B39571B39571B39571B39571B39571B39571B39571B39571B39571B39571B39571B39571
1193B39571B39571B39571B39571B39571B39571B39571B39571B39571B39571B39571B39571B39571
1194B39571B39571B39571B39571B39571B39571B39571B39571B39571B39571B39571B39571B39571
1195B39571B39571B39571B39571B39571B39571B39571B39571B39571B39571B39571B39571B39571
1196B39571B39571B39571B39571B39571B39571B39571B39571B39571B39571B39571B39571B39571
1197B39571B39571B39571B39571B39571B39571B39571B39571B39571B39573B39573B39573B39573
1198B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573
1199B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573
1200B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573
1201B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573
1202B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573
1203B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39571B39571
1204B39571B39571B39571B39571B39571B39571B39571B39571B39571B39571B39571B39571B39571
1205B39571B39571B39571B39571B39571B39571B39571B39571B39571B39571B39571B39571B39571
1206B39571B39571B39571B39571B39571B39571B39571B39571B39571B39571B39571B39571B39571
1207B39571B39571B39571B39571B39571B39571B39571B39573B39573B39573B39573B39573B39573
1208B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573
1209B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573
1210B49674B49674B39573B39573B39573B39573B39573B29472B39573B39573B39573B39573B39573
1211B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573
1212B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573
1213B39573B1936FB79975B69874AE906CB79975B1936FB49672B39571B49672B49672B39571B39571
1214B39571B49672B49672B39571B29470B29470B29470B39571B39571B39571B29470B1936FB49672
1215B39571B29470B29470B39571B49672B49672B49672B3916E8C66418F633C8B5E358D613A8A6342
1216A3856B99806A9885769A87789986779481729683749A8778927F709B88799481729B88799D8A7B
12179481729C897A988576917E6F9C897A9B88799380719986779C897A938071998677948172988576
12189986779B88799784759683749683749784759B8879998677998677968374998677978475988576
12199A8778927F70998677988576988576988576988576988576988576988576988576988576988576
1220988576988576988576988576988576988576988576988576988576988576988576988576988576
12219885769885769885769885769885769885769885769885769885769B847499847399806A866546
12228A5D34956537885E3693714EB39573B39573B39573B39573B39573B39573B39573B39573B39573
1223B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573
1224B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573
1225B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573
1226B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573
1227B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573
1228B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573
1229B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573
1230B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573
1231B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573
1232B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573
1233B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573
1234B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573
1235B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573
1236B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573
1237B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573
1238B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573
1239B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573
1240B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573
1241B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573
1242B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573
1243B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573
1244B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573
1245B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573
1246B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573
1247B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573
1248B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573
1249B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573
1250B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573
1251B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573
1252B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573
1253B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573
1254B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B09375
125598714A8B603589623B8A633C8C60399F806493857A988576988576988576988576988576988576
1256988576988576988576988576988576988576988576988576988576988576988576988576988576
1257988576988576988576988576988576988576988576988576988576988576988576988576988576
1258988576988576988576988576988576988576988576988576988576988576988576988576988576
1259988576988576988576988576988576988576988576988576988576988576988576988576988576
1260988576988576988576988576988576988576988576988576988576988576988576988576988576
12619885769B84749A8373947A63866343895E34936438895F379E7C59B39573B39573B39573B39573
1262B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573
1263B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573
1264B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573
1265B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573
1266B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573
1267B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573
1268B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573
1269B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573
1270B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573
1271B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573
1272B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573
1273B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573
1274B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573
1275B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573
1276B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573
1277B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573
1278B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573
1279B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573
1280B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573
1281B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573
1282B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573
1283B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573
1284B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573
1285B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573
1286B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573
1287B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573
1288B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573
1289B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573
1290B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573
1291B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573
1292B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573
1293B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573
1294B39573B39573B39573B39573B49779A17A538D623889623B89623B8B5F3898765A948477988576
1295988576988576988576988576988576988576988576988576988576988576988576988576988576
1296988576988576988576988576988576988576988576988576988576988576988576988576988576
1297988576988576988576988576988576988576988576988576988576988576988576988576988576
1298988576988576988576988576988576988576988576988576988576988576988576988576988576
1299988576988576988576988576988576988576988576988576988576988576988576988576988576
13009885769885769885769885769885769885769A83739D84708F715785613D8A5F358F623889623B
1301AD8B68B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573
1302B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573
1303B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573
1304B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573
1305B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573
1306B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573
1307B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573
1308B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573
1309B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573
1310B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573
1311B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573
1312B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573
1313B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573
1314B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573
1315B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573
1316B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573
1317B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573
1318B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573
1319B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573
1320B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573
1321B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573
1322B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573
1323B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573
1324B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573
1325B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573
1326B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573
1327B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573
1328B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573
1329B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573
1330B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573
1331B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573
1332B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573
1333B39573B39573B39573B39573B39573B39573B39573B39573B39573B4997BAC865F8F653B87613A
133489623B8C5F368F6C4E958474988576988576988576988576988576988576988576988576988576
1335988576988576988576988576988576988576988576988576988576988576988576988576988576
1336988576988576988576988576988576988576988576988576988576988576988576988576988576
1337988576988576988576988576988576988576988576988576988576988576988576988576988576
1338988576988576988576988576988576988576988576988576988576988576988576988576988576
13399885769885769885769885769885769885769885769885769885769885769885769A83739D826D
13408A684C88603C8C61378C61378C663FB79572B39573B39573B39573B39573B39573B39573B39573
1341B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573
1342B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573
1343B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573
1344B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573
1345B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573
1346B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573
1347B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573
1348B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573
1349B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573
1350B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573
1351B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573
1352B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573
1353B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573
1354B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573
1355B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573
1356B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573
1357B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573
1358B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573
1359B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573
1360B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573
1361B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573
1362B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573
1363B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573
1364B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573
1365B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573
1366B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573
1367B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573
1368B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573
1369B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573
1370B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573
1371B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573
1372B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573
1373B39573B2977AB48E69946A4286603B89623B8E613789654399846F988576988576988576988576
1374988576988576988576988576988576988576988576988576988576988576988576988576988576
1375988576988576988576988576988576988576988576988576988576988576988576988576988576
1376988576988576988576988576988576988576988576988576988576988576988576988576988576
1377988576988576988576988576988576988576988576988576988576988576988576988576988576
1378988576988576988576988576988576988576988576988576988576988576988576988576988576
13799885769885769885769B84749B7F678864428A60388D623788613893704AB99875B39573B39573
1380B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573
1381B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573
1382B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573
1383B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573
1384B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573
1385B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573
1386B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573
1387B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573
1388B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573
1389B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573
1390B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573
1391B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573
1392B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573
1393B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573
1394B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573
1395B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573
1396B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573
1397B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573
1398B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573
1399B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573
1400B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573
1401B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573
1402B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573
1403B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573
1404B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573
1405B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573
1406B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573
1407B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573
1408B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573
1409B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573
1410B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573
1411B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573
1412B39573B39573B39573B39573B39573B39573B09578B7946E9A734A85623C89623B91623688613A
1413988066988576988576988576988576988576988576988576988576988576988576988576988576
1414988576988576988576988576988576988576988576988576988576988576988576988576988576
1415988576988576988576988576988576988576988576988576988576988576988576988576988576
1416988576988576988576988576988576988576988576988576988576988576988576988576988576
1417988576988576988576988576988576988576988576988576988576988576988576988576988576
14189885769885769885769885769885769885769885769885769B847497775E89613D8D60368E6338
141989633CA07E59B79673B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573
1420B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573
1421B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573
1422B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573
1423B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573
1424B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573
1425B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573
1426B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573
1427B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573
1428B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573
1429B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573
1430B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573
1431B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573
1432B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573
1433B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573
1434B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573
1435B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573
1436B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573
1437B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573
1438B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573
1439B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573
1440B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573
1441B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573
1442B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573
1443B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573
1444B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573
1445B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573
1446B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573
1447B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573
1448B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573
1449B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573
1450B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573
1451B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573AF9678BA9771
1452A67F588864408A603A926234895F35907557988576988576988576988576988576988576988576
1453988576988576988576988576988576988576988576988576988576988576988576988576988576
1454988576988576988576988576988576988576988576988576988576988576988576988576988576
1455988576988576988576988576988576988576988576988576988576988576988576988576988576
1456988576988576988576988576988576988576988576988576988576988576988576988576988576
1457988576988576988576988576988576988576988576988576988576988576988576988576988576
14589A85748F70548A5E378E5F338E6338896640AF8E6BB49370B39573B39573B39573B39573B39573
1459B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573
1460B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573
1461B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573
1462B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573
1463B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573
1464B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573
1465B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573
1466B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573
1467B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573
1468B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573
1469B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573
1470B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573
1471B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573
1472B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573
1473B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573
1474B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573
1475B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573
1476B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573
1477B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573
1478B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573
1479B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573
1480B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573
1481B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573
1482B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573
1483B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573
1484B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573
1485B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573
1486B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573
1487B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573
1488B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573
1489B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573
1490B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573
1491B39573B39573B39573AF9678B99772B18B648C6846895F399161318C6136886B49988576988576
1492988576988576988576988576988576988576988576988576988576988576988576988576988576
1493988576988576988576988576988576988576988576988576988576988576988576988576988576
1494988576988576988576988576988576988576988576988576988576988576988576988576988576
1495988576988576988576988576988576988576988576988576988576988576988576988576988576
1496988576988576988576988576988576988576988576988576988576988576988576988576988576
14979885769885769885769885769885769A83718B694D8B5E358D5D2F8E63388A6842BA9976B3926F
1498B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573
1499B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573
1500B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573
1501B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573
1502B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573
1503B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573
1504B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573
1505B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573
1506B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573
1507B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573
1508B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573
1509B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573
1510B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573
1511B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573
1512B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573
1513B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573
1514B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573
1515B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573
1516B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573
1517B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573
1518B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573
1519B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573
1520B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573
1521B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573
1522B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573
1523B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573
1524B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573
1525B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573
1526B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573
1527B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573
1528B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573
1529B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573
1530B39573B39573B39573B39573B39573B39573B39573B39573AE9577B89671B7916C8E6A48885E38
15319360318F6336826440988576988576988576988576988576988576988576988576988576988576
1532988576988576988576988576988576988576988576988576988576988576988576988576988576
1533988576988576988576988576988576988576988576988576988576988576988576988576988576
1534988576988576988576988576988576988576988576988576988576988576988576988576988576
1535988576988576988576988576988576988576988576988576988576988576988576988576988576
15369885769885769983759C86789582719885749B88779683749784759983769F81678461418D613A
15378B5E348C62389C7953B49672B29470B39573B39573B39573B39573B39573B39573B39573B39573
1538B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573
1539B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573
1540B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573
1541B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573
1542B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573
1543B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573
1544B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573
1545B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573
1546B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573
1547B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573
1548B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573
1549B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573
1550B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573
1551B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573
1552B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573
1553B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573
1554B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573
1555B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573
1556B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573
1557B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573
1558B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573
1559B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573
1560B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573
1561B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573
1562B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573B39573