Subversion Repositories shark

Compare Revisions

Ignore whitespace Rev 1557 → Rev 1488

/demos/tags/rel_1_5_beta1/base/imdemo.c
File deleted
/demos/tags/rel_1_5_beta1/base/ihello.c
File deleted
/demos/tags/rel_1_5_beta1/base/initgraph.c
File deleted
/demos/tags/rel_1_5_beta1/base/fly.c
File deleted
/demos/tags/rel_1_5_beta1/base/time.c
File deleted
/demos/tags/rel_1_5_beta1/base/intsem.c
File deleted
/demos/tags/rel_1_5_beta1/base/initfile.c
File deleted
/demos/tags/rel_1_5_beta1/base/pcdemo.c
File deleted
/demos/tags/rel_1_5_beta1/base/iaster1.c
File deleted
/demos/tags/rel_1_5_beta1/base/srpdemo.c
File deleted
/demos/tags/rel_1_5_beta1/base/iaster3.c
File deleted
/demos/tags/rel_1_5_beta1/base/ego.c
File deleted
/demos/tags/rel_1_5_beta1/base/iaster4.c
File deleted
/demos/tags/rel_1_5_beta1/base/preempt.c
File deleted
/demos/tags/rel_1_5_beta1/base/readme
File deleted
/demos/tags/rel_1_5_beta1/base/iaster6.c
File deleted
/demos/tags/rel_1_5_beta1/base/pidemo.c
File deleted
/demos/tags/rel_1_5_beta1/base/iaster7.c
File deleted
/demos/tags/rel_1_5_beta1/base/aster.c
File deleted
/demos/tags/rel_1_5_beta1/base/iaster8.c
File deleted
/demos/tags/rel_1_5_beta1/base/pcidemo.c
File deleted
/demos/tags/rel_1_5_beta1/base/sig.c
File deleted
/demos/tags/rel_1_5_beta1/base/condtest.c
File deleted
/demos/tags/rel_1_5_beta1/base/ipcidemo.c
File deleted
/demos/tags/rel_1_5_beta1/base/semdemo.c
File deleted
/demos/tags/rel_1_5_beta1/base/makefile
File deleted
/demos/tags/rel_1_5_beta1/base/cabs.dat
File deleted
/demos/tags/rel_1_5_beta1/base/aster1.c
File deleted
/demos/tags/rel_1_5_beta1/base/jointest.c
File deleted
/demos/tags/rel_1_5_beta1/base/aster2.c
File deleted
/demos/tags/rel_1_5_beta1/base/aster3.c
File deleted
/demos/tags/rel_1_5_beta1/base/mdemo.c
File deleted
/demos/tags/rel_1_5_beta1/base/aster4.c
File deleted
/demos/tags/rel_1_5_beta1/base/isemdemo.c
File deleted
/demos/tags/rel_1_5_beta1/base/aster5.c
File deleted
/demos/tags/rel_1_5_beta1/base/hello.c
File deleted
/demos/tags/rel_1_5_beta1/base/aster6.c
File deleted
/demos/tags/rel_1_5_beta1/base/aster7.c
File deleted
/demos/tags/rel_1_5_beta1/base/aster8.c
File deleted
/demos/tags/rel_1_5_beta1/base/cabs.c
File deleted
/demos/tags/rel_1_5_beta1/helloworld/makefile
File deleted
/demos/tags/rel_1_5_beta1/helloworld/initfile.c
File deleted
/demos/tags/rel_1_5_beta1/helloworld/hello.c
File deleted
/demos/tags/rel_1_5_beta1/readme.txt
File deleted
/demos/tags/rel_1_5_beta1/shutdown/readme.txt
File deleted
/demos/tags/rel_1_5_beta1/shutdown/shutdown.c
File deleted
/demos/tags/rel_1_5_beta1/shutdown/ishut.c
File deleted
/demos/tags/rel_1_5_beta1/shutdown/makefile
File deleted
/demos/tags/rel_1_5_beta1/advtimer/initfile.c
File deleted
/demos/tags/rel_1_5_beta1/advtimer/readme.txt
File deleted
/demos/tags/rel_1_5_beta1/advtimer/advtimer.c
File deleted
/demos/tags/rel_1_5_beta1/advtimer/makefile
File deleted
/demos/tags/rel_1_5_beta1/tftptest/initfile.c
File deleted
/demos/tags/rel_1_5_beta1/tftptest/makefile
File deleted
/demos/tags/rel_1_5_beta1/tftptest/tftptest.c
File deleted
/demos/tags/rel_1_5_beta1/makefile
File deleted
/demos/tags/rel_1_5_beta1/dosfs/makefile
File deleted
/demos/tags/rel_1_5_beta1/dosfs/dosfs.c
File deleted
/demos/tags/rel_1_5_beta1/dosfs/myfile.txt
File deleted
/demos/tags/rel_1_5_beta1/dosfs/initfile.c
File deleted
/demos/tags/rel_1_5_beta1/dosfs/readme.txt
File deleted
/demos/tags/rel_1_5_beta1/orbit/orbit.dat
File deleted
/demos/tags/rel_1_5_beta1/orbit/makefile
File deleted
/demos/tags/rel_1_5_beta1/orbit/orbit.c
File deleted
/demos/tags/rel_1_5_beta1/orbit/initfile.c
File deleted
/demos/tags/rel_1_5_beta1/bttvdemo/readme.txt
File deleted
/demos/tags/rel_1_5_beta1/bttvdemo/makefile
File deleted
/demos/tags/rel_1_5_beta1/bttvdemo/bttv.c
File deleted
/demos/tags/rel_1_5_beta1/bttvdemo/initfile.c
File deleted
/demos/tags/rel_1_5_beta1/bca/bca_lib.c
File deleted
/demos/tags/rel_1_5_beta1/bca/readme
File deleted
/demos/tags/rel_1_5_beta1/bca/bca_raw/aereo1_h.raw
File deleted
\ No newline at end of file
/demos/tags/rel_1_5_beta1/bca/bca_raw/cannon_h.raw
File deleted
\ No newline at end of file
/demos/tags/rel_1_5_beta1/bca/bca_raw/esplo1.raw
File deleted
\ No newline at end of file
/demos/tags/rel_1_5_beta1/bca/bca_raw/aereo2_h.raw
File deleted
\ No newline at end of file
/demos/tags/rel_1_5_beta1/bca/bca_raw/esplo2.raw
File deleted
\ No newline at end of file
/demos/tags/rel_1_5_beta1/bca/bca_raw/esplo3.raw
File deleted
\ No newline at end of file
/demos/tags/rel_1_5_beta1/bca/bca_raw/bca.raw
File deleted
\ No newline at end of file
/demos/tags/rel_1_5_beta1/bca/bca_raw/esplo4.raw
File deleted
\ No newline at end of file
/demos/tags/rel_1_5_beta1/bca/bca_raw/missile1.raw
File deleted
\ No newline at end of file
/demos/tags/rel_1_5_beta1/bca/bca_raw/esplo5.raw
File deleted
\ No newline at end of file
/demos/tags/rel_1_5_beta1/bca/bca_raw/missile2.raw
File deleted
\ No newline at end of file
/demos/tags/rel_1_5_beta1/bca/bca_raw/sfondo.raw
File deleted
\ No newline at end of file
/demos/tags/rel_1_5_beta1/bca/bca_raw/aereo1.raw
File deleted
\ No newline at end of file
/demos/tags/rel_1_5_beta1/bca/bca_raw/cannon.raw
File deleted
\ No newline at end of file
/demos/tags/rel_1_5_beta1/bca/bca_raw/aereo2.raw
File deleted
\ No newline at end of file
/demos/tags/rel_1_5_beta1/bca/fab_lib.c
File deleted
/demos/tags/rel_1_5_beta1/bca/control.c
File deleted
/demos/tags/rel_1_5_beta1/bca/cannone.c
File deleted
/demos/tags/rel_1_5_beta1/bca/esplo.c
File deleted
/demos/tags/rel_1_5_beta1/bca/bca.c
File deleted
/demos/tags/rel_1_5_beta1/bca/bca.h
File deleted
/demos/tags/rel_1_5_beta1/bca/aereo.c
File deleted
/demos/tags/rel_1_5_beta1/bca/dummy.c
File deleted
/demos/tags/rel_1_5_beta1/bca/makefile
File deleted
/demos/tags/rel_1_5_beta1/bca/fab_lib/fab_tool.h
File deleted
/demos/tags/rel_1_5_beta1/bca/fab_lib/fab_grx.h
File deleted
/demos/tags/rel_1_5_beta1/bca/fab_lib/fab_show.h
File deleted
/demos/tags/rel_1_5_beta1/bca/fab_lib/fab_msg.h
File deleted
/demos/tags/rel_1_5_beta1/bca/fab_lib/fab_grx.sys
File deleted
/demos/tags/rel_1_5_beta1/bca/scenario.c
File deleted
/demos/tags/rel_1_5_beta1/bca/initfile.c
File deleted
/demos/tags/rel_1_5_beta1/bca/missile.c
File deleted
/demos/tags/rel_1_5_beta1/first/mpeg2/mpeg2dec.c
File deleted
/demos/tags/rel_1_5_beta1/first/mpeg2/getvlc.h
File deleted
/demos/tags/rel_1_5_beta1/first/mpeg2/const.h
File deleted
/demos/tags/rel_1_5_beta1/first/mpeg2/mpeg2dec.h
File deleted
/demos/tags/rel_1_5_beta1/first/mpeg2/store.c
File deleted
/demos/tags/rel_1_5_beta1/first/mpeg2/getbits.c
File deleted
/demos/tags/rel_1_5_beta1/first/mpeg2/verify.c
File deleted
/demos/tags/rel_1_5_beta1/first/mpeg2/global.h
File deleted
/demos/tags/rel_1_5_beta1/first/mpeg2/motion.c
File deleted
/demos/tags/rel_1_5_beta1/first/mpeg2/recon.c
File deleted
/demos/tags/rel_1_5_beta1/first/mpeg2/systems.c
File deleted
/demos/tags/rel_1_5_beta1/first/mpeg2/subspic.c
File deleted
/demos/tags/rel_1_5_beta1/first/mpeg2/getblk.c
File deleted
/demos/tags/rel_1_5_beta1/first/mpeg2/spatscal.c
File deleted
/demos/tags/rel_1_5_beta1/first/mpeg2/config.h
File deleted
/demos/tags/rel_1_5_beta1/first/mpeg2/getpic.c
File deleted
/demos/tags/rel_1_5_beta1/first/mpeg2/gvideo.c
File deleted
/demos/tags/rel_1_5_beta1/first/mpeg2/gethdr.c
File deleted
/demos/tags/rel_1_5_beta1/first/mpeg2/idctref.c
File deleted
/demos/tags/rel_1_5_beta1/first/mpeg2/idct.c
File deleted
/demos/tags/rel_1_5_beta1/first/mpeg2/getvlc.c
File deleted
/demos/tags/rel_1_5_beta1/first/makefile
File deleted
/demos/tags/rel_1_5_beta1/first/test.c
File deleted
/demos/tags/rel_1_5_beta1/first/test1.c
File deleted
/demos/tags/rel_1_5_beta1/first/test2.c
File deleted
/demos/tags/rel_1_5_beta1/first/initfile.c
File deleted
/demos/tags/rel_1_5_beta1/first/demos.txt
File deleted
/demos/tags/rel_1_5_beta1/astro/asteroid.h
File deleted
/demos/tags/rel_1_5_beta1/astro/initfile.c
File deleted
/demos/tags/rel_1_5_beta1/astro/astro.c
File deleted
/demos/tags/rel_1_5_beta1/astro/asteroid.c
File deleted
/demos/tags/rel_1_5_beta1/astro/stat.c
File deleted
/demos/tags/rel_1_5_beta1/astro/makefile
File deleted
/demos/tags/rel_1_5_beta1/astro/rock.c
File deleted
/demos/tags/rel_1_5_beta1/network/net.c
File deleted
/demos/tags/rel_1_5_beta1/network/talk.c
File deleted
/demos/tags/rel_1_5_beta1/network/makefile
File deleted
/demos/tags/rel_1_5_beta1/network/initfile.c
File deleted
/demos/tags/rel_1_5_beta1/pngdemo/pngdemo.c
File deleted
/demos/tags/rel_1_5_beta1/pngdemo/readme.txt
File deleted
/demos/tags/rel_1_5_beta1/pngdemo/makefile
File deleted
/demos/tags/rel_1_5_beta1/pngdemo/test.png
File deleted
\ No newline at end of file
/demos/tags/rel_1_5_beta1/pngdemo/initfile.c
File deleted
/demos/tags/rel_1_5_beta1/mesademo/initfile.c
File deleted
/demos/tags/rel_1_5_beta1/mesademo/mesademo.c
File deleted
/demos/tags/rel_1_5_beta1/mesademo/readme.txt
File deleted
/demos/tags/rel_1_5_beta1/mesademo/makefile
File deleted
/demos/tags/rel_1_5_beta1/pse51/ptest1.c
File deleted
/demos/tags/rel_1_5_beta1/pse51/ptest2.c
File deleted
/demos/tags/rel_1_5_beta1/pse51/ptest3.c
File deleted
/demos/tags/rel_1_5_beta1/pse51/pinit.c
File deleted
/demos/tags/rel_1_5_beta1/pse51/ptest4.c
File deleted
/demos/tags/rel_1_5_beta1/pse51/ptest5.c
File deleted
/demos/tags/rel_1_5_beta1/pse51/ptest6.c
File deleted
/demos/tags/rel_1_5_beta1/pse51/makefile
File deleted
/demos/tags/rel_1_5_beta1/pci6025e/test_ec.c
File deleted
/demos/tags/rel_1_5_beta1/pci6025e/test_dac.c
File deleted
/demos/tags/rel_1_5_beta1/pci6025e/test_ppi.c
File deleted
/demos/tags/rel_1_5_beta1/pci6025e/test_bec.c
File deleted
/demos/tags/rel_1_5_beta1/pci6025e/test_dio.c
File deleted
/demos/tags/rel_1_5_beta1/pci6025e/readme
File deleted
/demos/tags/rel_1_5_beta1/pci6025e/makefile
File deleted
/demos/tags/rel_1_5_beta1/pci6025e/test_bms.c
File deleted
/demos/tags/rel_1_5_beta1/pci6025e/wave.c
File deleted
/demos/tags/rel_1_5_beta1/pci6025e/initfile.c
File deleted
/demos/tags/rel_1_5_beta1/pci6025e/test_mes.c
File deleted
/demos/tags/rel_1_5_beta1/mix/readme
File deleted
\ No newline at end of file
/demos/tags/rel_1_5_beta1/mix/makefile
File deleted
/demos/tags/rel_1_5_beta1/mix/mix.c
File deleted
/demos/tags/rel_1_5_beta1/mix/mix.dat
File deleted
/demos/tags/rel_1_5_beta1/mix/initfile.c
File deleted
/demos/tags/rel_1_5_beta1/servo/initfile.c
File deleted
Property changes:
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Index: rel_1_5_beta1/servo/README
===================================================================
--- rel_1_5_beta1/servo/README (revision 1557)
+++ rel_1_5_beta1/servo/README (nonexistent)
@@ -1,2 +0,0 @@
-TODO
-
Index: rel_1_5_beta1/servo/makefile
===================================================================
--- rel_1_5_beta1/servo/makefile (revision 1557)
+++ rel_1_5_beta1/servo/makefile (nonexistent)
@@ -1,15 +0,0 @@
-#
-#
-#
-
-ifndef BASE
-BASE=../..
-endif
-include $(BASE)/config/config.mk
-
-PROGS = load
-
-include $(BASE)/config/example.mk
-
-load:
- make -f $(SUBMAKE) APP=load INIT= OTHEROBJS="initfile.o" OTHERINCL= SHARKOPT="__LINUXC26__ __INPUT__ __SERVO__"
/rel_1_5_beta1/servo/makefile
Property changes:
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Index: rel_1_5_beta1/servo/load.c
===================================================================
--- rel_1_5_beta1/servo/load.c (revision 1557)
+++ rel_1_5_beta1/servo/load.c (nonexistent)
@@ -1,46 +0,0 @@
-#include "kernel/kern.h"
-#include "drivers/shark_keyb26.h"
-#include "unistd.h"
-
-#include "servo.h"
-
-#define N_SEND 10000
-
-int main () {
-
- int res, i = 0, k;
-
- srand(sys_gettime(NULL));
-
- cprintf("(Open Com2)");
- res = servo_open(COM2, 19200);
- cprintf("(Res = %d)",res);
-
- cprintf("(Servo Turn On 0)");
- res = servo_turn_on(COM2, 0);
- cprintf("(Res = %d)",res);
-
- while(i < N_SEND) {
-
- cprintf("(Cycle = %d)",i);
-
- k = rand() % 180 - 90;
-
- cprintf("(Set Servo 0 %d)",k);
- res = servo_set_angle_sec(COM2, 0, ANGLE2SEC(k,0,0));
- cprintf("(Res = %d)",res);
-
- udelay(100000);
-
- i++;
-
- }
-
- servo_close(COM2);
-
- exit(0);
-
- return 0;
-
-}
-
Index: rel_1_5_beta1/input/input.c
===================================================================
--- rel_1_5_beta1/input/input.c (revision 1557)
+++ rel_1_5_beta1/input/input.c (nonexistent)
@@ -1,452 +0,0 @@
-
-/*
- * Project: S.Ha.R.K.
- *
- * Coordinators: Giorgio Buttazzo <giorgio@sssup.it>
- *
- * Authors : Mauro Marinoni <mauro.marinoni@unipv.it>
- * (see authors.txt for full list of hartik's authors)
- *
- * ReTiS Lab (Scuola Superiore S.Anna - Pisa - Italy)
- *
- * http://www.sssup.it
- * http://retis.sssup.it
- * http://shark.sssup.it
- */
-
-/*
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- */
-
-#include <kernel/kern.h>
-#include <kernel/func.h>
-#include <stdlib.h>
-#include <string.h>
-
-#include <drivers/shark_fb26.h>
-
-#include <drivers/shark_mouse26.h>
-#include <drivers/shark_keyb26.h>
-#include <drivers/shark_spk26.h>
-#include <drivers/shark_joy26.h>
-
-#define RGB_BLACK rgb16( 0, 0, 0)
-#define RGB_GRAY rgb16(127,127,127)
-#define RGB_WHITE rgb16(255,255,255)
-#define RGB_RED rgb16(255, 0, 0)
-#define RGB_GREEN rgb16( 0,255, 0)
-#define RGB_BLUE rgb16( 0, 0,255)
-#define RGB_YELLOW rgb16(255,255, 0)
-#define RGB_MAGENTA rgb16(255, 0,255)
-#define RGB_CYAN rgb16( 0,255,255)
-#define RGB_D_RED rgb16(127, 0, 0)
-#define RGB_D_GREEN rgb16( 0,127, 0)
-#define RGB_D_BLUE rgb16( 0, 0,127)
-#define RGB_D_YELLOW rgb16(127,127, 0)
-#define RGB_D_MAGENTA rgb16(127, 0,127)
-#define RGB_D_CYAN rgb16( 0,127,127)
-
-void my_sysend(KEY_EVT *e)
-{
- exit(0);
-}
-
-void no_note(KEY_EVT *e)
-{
- speaker_sound(0, 0);
-}
-
-void my_note(KEY_EVT *e)
-{
- switch (e->scan) {
- case KEY_Q:
- speaker_sound(262, 0); /* DO */
- break;
- case KEY_W:
- speaker_sound(277, 0); /* DO# */
- break;
- case KEY_E:
- speaker_sound(294, 0); /* RE */
- break;
- case KEY_R:
- speaker_sound(311, 0); /* RE# */
- break;
- case KEY_T:
- speaker_sound(330, 0); /* MI */
- break;
- case KEY_Y:
- speaker_sound(349, 0); /* FA */
- break;
- case KEY_U:
- speaker_sound(370, 0); /* FA# */
- break;
- case KEY_I:
- speaker_sound(392, 0); /* SOL */
- break;
- case KEY_O:
- speaker_sound(415, 0); /* SOL# */
- break;
- case KEY_P:
- speaker_sound(440, 0); /* LA */
- break;
- case KEY_BRL:
- speaker_sound(466, 0); /* LA# */
- break;
- case KEY_BRR:
- speaker_sound(494, 0); /* SI */
- break;
- }
-}
-
-TASK my_getjoy(void *arg)
-{
- int a0, a1, a2, a3, btn;
- char st[20];
-
- while (1) {
- joy_getstatus(&a0, &a1, &a2, &a3, &btn);
-
- sprintf(st, "X Axis : %6d ", a0);
- grx_text(st, 100, 64, RGB_CYAN, RGB_BLACK);
- sprintf(st, "Y Axis : %6d ", a1);
- grx_text(st, 100, 114, RGB_CYAN, RGB_BLACK);
- sprintf(st, "Buttons: %2x ", btn);
- grx_text(st, 100, 164, RGB_CYAN, RGB_BLACK);
-
- task_endcycle();
- if (btn == 0xF)
- my_sysend(NULL);
- }
-}
-
-TASK my_getch(void *arg)
-{
-#define MYNCHAR 25
-
- BYTE ch;
- int i = 0;
- char st[20];
-
- while (1) {
- ch = keyb_getch(NON_BLOCK);
- if (ch) {
- if (ch == BACKSPACE) { //backspace
- i--;
- //ch = 0x20;
- }
- if (ch == ENTER) { //enter
- i = ((i / MYNCHAR) + 1) * MYNCHAR - 1;
- ch = 0x20;
- }
- sprintf(st, "%c", ch);
- grx_text(st, 340 + 10 * (i%MYNCHAR), 25 + 20 * (i/MYNCHAR), RGB_BLUE, RGB_BLACK);
-
- if (ch == BACKSPACE) //backspace
- i--;
- if (++i >= MYNCHAR * 9) {
- i = 0;
- grx_box(315, 15, 623, 223, RGB_BLACK);
- }
- }
-
- task_endcycle();
- }
-}
-
-void my_mouse(MOUSE_EVT *e)
-{
- char st[20];
- char pressed = 0;
-
- sprintf(st, "X Axis : %3d (%4d)", e->x, e->dx);
- grx_text(st, 100, 280, RGB_YELLOW, RGB_BLACK);
- sprintf(st, "Y Axis : %3d (%4d)", e->y, e->dy);
- grx_text(st, 100, 320, RGB_YELLOW, RGB_BLACK);
- sprintf(st, "Z Axis : %3d (%4d)", e->z, e->dz);
- grx_text(st, 100, 360, RGB_YELLOW, RGB_BLACK);
- sprintf(st, "Buttons: %6x ", (int)e->buttons);
- grx_text(st, 100, 400, RGB_YELLOW, RGB_BLACK);
-
- if ((e->x > 377) && (e->x < 401) && (e->y > 300) && (e->y < 360) && (e->buttons == MOUSE_LBUTTON)){
- if (!pressed) {
- speaker_sound(277, 0); /* DO# */
- pressed = 1;
- }
- return;
- }
- if ((e->x > 407) && (e->x < 431) && (e->y > 300) && (e->y < 360) && (e->buttons == MOUSE_LBUTTON)){
- if (!pressed) {
- speaker_sound(311, 0); /* RE# */
- pressed = 1;
- }
- return;
- }
- if ((e->x > 467) && (e->x < 491) && (e->y > 300) && (e->y < 360) && (e->buttons == MOUSE_LBUTTON)){
- if (!pressed) {
- speaker_sound(370, 0); /* FA# */
- pressed = 1;
- }
- return;
- }
- if ((e->x > 497) && (e->x < 521) && (e->y > 300) && (e->y < 360) && (e->buttons == MOUSE_LBUTTON)){
- if (!pressed) {
- speaker_sound(415, 0); /* SOL# */
- pressed = 1;
- }
- return;
- }
- if ((e->x > 527) && (e->x < 551) && (e->y > 300) && (e->y < 360) && (e->buttons == MOUSE_LBUTTON)){
- if (!pressed) {
- speaker_sound(466, 0); /* LA# */
- pressed = 1;
- }
- return;
- }
-
- if ((e->x > 360) && (e->x < 388) && (e->y > 300) && (e->y < 400) && (e->buttons == MOUSE_LBUTTON)){
- if (!pressed) {
- speaker_sound(262, 0); /* DO */
- pressed = 1;
- }
- return;
- }
- if ((e->x > 390) && (e->x < 418) && (e->y > 300) && (e->y < 400) && (e->buttons == MOUSE_LBUTTON)) {
- if (!pressed) {
- speaker_sound(294, 0); /* RE */
- pressed = 1;
- }
- return;
- }
- if ((e->x > 420) && (e->x < 448) && (e->y > 300) && (e->y < 400) && (e->buttons == MOUSE_LBUTTON)) {
- if (!pressed) {
- speaker_sound(330, 0); /* MI */
- pressed = 1;
- }
- return;
- }
- if ((e->x > 450) && (e->x < 478) && (e->y > 300) && (e->y < 400) && (e->buttons == MOUSE_LBUTTON)) {
- if (!pressed) {
- speaker_sound(349, 0); /* FA */
- pressed = 1;
- }
- return;
- }
- if ((e->x > 480) && (e->x < 508) && (e->y > 300) && (e->y < 400) && (e->buttons == MOUSE_LBUTTON)) {
- if (!pressed) {
- speaker_sound(392, 0); /* SOL */
- pressed = 1;
- }
- return;
- }
- if ((e->x > 510) && (e->x < 538) && (e->y > 300) && (e->y < 400) && (e->buttons == MOUSE_LBUTTON)) {
- if (!pressed) {
- speaker_sound(440, 0); /* LA */
- pressed = 1;
- }
- return;
- }
- if ((e->x > 540) && (e->x < 568) && (e->y > 300) && (e->y < 400) && (e->buttons == MOUSE_LBUTTON)) {
- if (!pressed) {
- speaker_sound(494, 0); /* SI */
- pressed = 1;
- }
- return;
- }
-
- speaker_sound(0, 0);
- pressed = 0;
-}
-
-void graph_init(void)
-{
- grx_rect( 4, 4, 634, 474, RGB_WHITE);
- grx_rect( 14, 14, 304, 224, RGB_YELLOW);
- grx_rect(314, 14, 624, 224, RGB_RED);
- grx_rect( 14, 234, 304, 464, RGB_GREEN);
- grx_rect(314, 234, 624, 464, RGB_BLUE);
-
- /* Draw Teyboard */
- grx_box(360, 300, 388, 400, RGB_WHITE); /* DO */
- grx_box(390, 300, 418, 400, RGB_WHITE); /* RE */
- grx_box(420, 300, 448, 400, RGB_WHITE); /* MI */
- grx_box(450, 300, 478, 400, RGB_WHITE); /* FA */
- grx_box(480, 300, 508, 400, RGB_WHITE); /* SOL */
- grx_box(510, 300, 538, 400, RGB_WHITE); /* LA */
- grx_box(540, 300, 568, 400, RGB_WHITE); /* SI */
-
- grx_box(377, 301, 401, 360, RGB_BLACK); /* DO# */
- grx_box(407, 301, 431, 360, RGB_BLACK); /* RE# */
- grx_box(467, 301, 491, 360, RGB_BLACK); /* FA# */
- grx_box(497, 301, 521, 360, RGB_BLACK); /* SOL# */
- grx_box(527, 301, 551, 360, RGB_BLACK); /* LA# */
-}
-
-void start_sound(void)
-{
- KEY_EVT ev;
-
- speaker_sound(440, 400);
- while ( (sys_gettime(NULL)/1000) < 1000);
-
- ev.ascii = 'q';
- ev.scan = KEY_Q;
- ev.flag = 0;
- ev.status = KEY_PRESSED;
- keyb_hook(ev, my_note, FALSE);
- ev.status = KEY_RELEASED;
- keyb_hook(ev, no_note, FALSE);
-
- ev.ascii = 'w';
- ev.scan = KEY_W;
- ev.flag = 0;
- ev.status = KEY_PRESSED;
- keyb_hook(ev, my_note, FALSE);
- ev.status = KEY_RELEASED;
- keyb_hook(ev, no_note, FALSE);
-
- ev.ascii = 'e';
- ev.scan = KEY_E;
- ev.flag = 0;
- ev.status = KEY_PRESSED;
- keyb_hook(ev, my_note, FALSE);
- ev.status = KEY_RELEASED;
- keyb_hook(ev, no_note, FALSE);
-
- ev.ascii = 'r';
- ev.scan = KEY_R;
- ev.flag = 0;
- ev.status = KEY_PRESSED;
- keyb_hook(ev, my_note, FALSE);
- ev.status = KEY_RELEASED;
- keyb_hook(ev, no_note, FALSE);
-
- ev.ascii = 't';
- ev.scan = KEY_T;
- ev.flag = 0;
- ev.status = KEY_PRESSED;
- keyb_hook(ev, my_note, FALSE);
- ev.status = KEY_RELEASED;
- keyb_hook(ev, no_note, FALSE);
-
- ev.ascii = 'y';
- ev.scan = KEY_Y;
- ev.flag = 0;
- ev.status = KEY_PRESSED;
- keyb_hook(ev, my_note, FALSE);
- ev.status = KEY_RELEASED;
- keyb_hook(ev, no_note, FALSE);
-
- ev.ascii = 'u';
- ev.scan = KEY_U;
- ev.flag = 0;
- ev.status = KEY_PRESSED;
- keyb_hook(ev, my_note, FALSE);
- ev.status = KEY_RELEASED;
- keyb_hook(ev, no_note, FALSE);
-
- ev.ascii = 'i';
- ev.scan = KEY_I;
- ev.flag = 0;
- ev.status = KEY_PRESSED;
- keyb_hook(ev, my_note, FALSE);
- ev.status = KEY_RELEASED;
- keyb_hook(ev, no_note, FALSE);
-
- ev.ascii = 'o';
- ev.scan = KEY_O;
- ev.flag = 0;
- ev.status = KEY_PRESSED;
- keyb_hook(ev, my_note, FALSE);
- ev.status = KEY_RELEASED;
- keyb_hook(ev, no_note, FALSE);
-
- ev.ascii = 'p';
- ev.scan = KEY_P;
- ev.flag = 0;
- ev.status = KEY_PRESSED;
- keyb_hook(ev, my_note, FALSE);
- ev.status = KEY_RELEASED;
- keyb_hook(ev, no_note, FALSE);
-
- ev.ascii = '[';
- ev.scan = KEY_BRL;
- ev.flag = 0;
- ev.status = KEY_PRESSED;
- keyb_hook(ev, my_note, FALSE);
- ev.status = KEY_RELEASED;
- keyb_hook(ev, no_note, FALSE);
-
- ev.ascii = ']';
- ev.scan = KEY_BRR;
- ev.flag = 0;
- ev.status = KEY_PRESSED;
- keyb_hook(ev, my_note, FALSE);
- ev.status = KEY_RELEASED;
- keyb_hook(ev, no_note, FALSE);
-}
-
-int main(int argc, char **argv)
-{
- SOFT_TASK_MODEL mp;
- PID pid;
-
- KEY_EVT ev;
-
- ev.ascii = 'c';
- ev.scan = KEY_C;
- ev.status = KEY_PRESSED;
- ev.flag = CNTL_BIT;
- keyb_hook(ev, my_sysend, FALSE);
- ev.flag = CNTR_BIT;
- keyb_hook(ev, my_sysend, FALSE);
-
- graph_init();
-
- mouse_grxlimits(639, 479);
- mouse_setposition(319, 239, 0);
- mouse_hook(my_mouse);
- mouse_grxcursor(ENABLE, 2);
-
- soft_task_default_model(mp);
- soft_task_def_level(mp,2);
- soft_task_def_ctrl_jet(mp);
- soft_task_def_met(mp,700);
- soft_task_def_period(mp,10000);
- soft_task_def_usemath(mp);
- pid = task_create("Key_Print", my_getch, &mp, NULL);
- if (pid == NIL) {
- sys_shutdown_message("Could not create task <Key_Print>\n");
- exit(1);
- } else
- task_activate(pid);
-
- if (JOY26_installed()) {
- soft_task_default_model(mp);
- soft_task_def_level(mp,2);
- soft_task_def_ctrl_jet(mp);
- soft_task_def_met(mp,700);
- soft_task_def_period(mp,10000);
- soft_task_def_usemath(mp);
- pid = task_create("Joy_Print", my_getjoy, &mp, NULL);
- if (pid == NIL) {
- sys_shutdown_message("Could not create task <Joy_Print>\n");
- exit(1);
- } else
- task_activate(pid);
- }
-
- start_sound();
- return 0;
-}
Index: rel_1_5_beta1/input/initspk.c
===================================================================
--- rel_1_5_beta1/input/initspk.c (revision 1557)
+++ rel_1_5_beta1/input/initspk.c (nonexistent)
@@ -1,153 +0,0 @@
-/*
- * Project: HARTIK (HA-rd R-eal TI-me K-ernel)
- *
- * Coordinators: Giorgio Buttazzo <giorgio@sssup.it>
- * Gerardo Lamastra <gerardo@sssup.it>
- *
- * Authors : Mauro Marinoni <mauro.marinoni@unipv.it>
- * (see authors.txt for full list of hartik's authors)
- *
- * ReTiS Lab (Scuola Superiore S.Anna - Pisa - Italy)
- *
- * http://www.sssup.it
- * http://retis.sssup.it
- * http://hartik.sssup.it
- */
-
-/*
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- */
-
-
-#include <kernel/kern.h>
-
-#include "edf/edf/edf.h"
-#include "cbs/cbs/cbs.h"
-#include "rr/rr/rr.h"
-#include "dummy/dummy/dummy.h"
-#include "intdrive/intdrive/intdrive.h"
-
-#include "sem/sem/sem.h"
-#include "hartport/hartport/hartport.h"
-
-#include <drivers/shark_linuxc26.h>
-#include <drivers/shark_input26.h>
-#include <drivers/shark_keyb26.h>
-#include <drivers/shark_spk26.h>
-
-/*+ sysyem tick in us +*/
-#define TICK 0
-
-/*+ RR tick in us +*/
-#define RRTICK 10000
-
-/*+ Interrupt Server +*/
-#define INTDRIVE_Q 1000
-#define INTDRIVE_T 10000
-#define INTDRIVE_FLAG 0
-
-PID shutdown_task_PID = 1;
-
-TIME __kernel_register_levels__(void *arg)
-{
- struct multiboot_info *mb = (struct multiboot_info *)arg;
-
- INTDRIVE_register_level(INTDRIVE_Q, INTDRIVE_T, INTDRIVE_FLAG);
- EDF_register_level(EDF_ENABLE_ALL);
- CBS_register_level(CBS_ENABLE_ALL, 1);
- RR_register_level(RRTICK, RR_MAIN_YES, mb);
- dummy_register_level();
-
- SEM_register_module();
-
- return TICK;
-}
-
-int device_drivers_close() {
-
- KEYB26_close();
- SPEAK26_close();
- INPUT26_close();
-
- return 0;
-}
-
-int device_drivers_init() {
-
- KEYB_PARMS kparms = BASE_KEYB;
-
- LINUXC26_register_module();
- INPUT26_init();
-
- /*keyb_def_map(kparms, KEYMAP_IT);*/
- keyb_def_ctrlC(kparms, NULL);
- KEYB26_init(&kparms);
-
- SPEAK26_init();
- return 0;
-}
-
-TASK shutdown_task_body(void *arg) {
-
- device_drivers_close();
- sys_shutdown_message("-- S.Ha.R.K. Closed --\n");
- return NULL;
-}
-
-void set_shutdown_task() {
-
- NRT_TASK_MODEL nrt;
-
- nrt_task_default_model(nrt);
- nrt_task_def_system(nrt);
-
- shutdown_task_PID = task_create("Shutdown Task", shutdown_task_body, &nrt, NULL);
- if (shutdown_task_PID == NIL) {
- sys_shutdown_message("Error: Cannot create shutdown task\n");
- exit(1);
- }
-
-}
-
-#define SHUTDOWN_TIMEOUT_SEC 3
-
-void call_shutdown_task(void *arg) {
- struct timespec t;
-
- sys_gettime(&t);
- t.tv_sec += SHUTDOWN_TIMEOUT_SEC;
-
- /* Emergency timeout to exit from RUNLEVEL_SHUTDOWN */
- kern_event_post(&t,(void *)((void *)sys_abort_shutdown),(void *)0);
-
- task_activate(shutdown_task_PID);
-}
-
-TASK __init__(void *arg)
-{
- struct multiboot_info *mb = (struct multiboot_info *)arg;
-
- HARTPORT_init();
-
- set_shutdown_task();
-
- device_drivers_init();
-
- sys_atrunlevel(call_shutdown_task, NULL, RUNLEVEL_SHUTDOWN);
-
- __call_main__(mb);
-
- return (void *)0;
-}
Index: rel_1_5_beta1/input/joy.c
===================================================================
--- rel_1_5_beta1/input/joy.c (revision 1557)
+++ rel_1_5_beta1/input/joy.c (nonexistent)
@@ -1,76 +0,0 @@
-
-/*
- * Project: S.Ha.R.K.
- *
- * Coordinators: Giorgio Buttazzo <giorgio@sssup.it>
- *
- * Authors : Mauro Marinoni <mauro.marinoni@unipv.it>
- * (see authors.txt for full list of hartik's authors)
- *
- * ReTiS Lab (Scuola Superiore S.Anna - Pisa - Italy)
- *
- * http://www.sssup.it
- * http://retis.sssup.it
- * http://shark.sssup.it
- */
-
-/*
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- */
-
-#include <kernel/kern.h>
-#include <kernel/func.h>
-#include <stdlib.h>
-#include <string.h>
-
-#include <drivers/shark_joy26.h>
-
-TASK my_getjoy(void *arg) {
-
- int a0, a1, a2, a3, btn;
-
- while (1) {
- joy_getstatus(&a0, &a1, &a2, &a3, &btn);
- cprintf("(%6d %6d) %2x\n", a0, a1, btn);
- task_endcycle();
- if (btn == 0xF)
- exit(1);
- }
-}
-
-int main(int argc, char **argv)
-{
- SOFT_TASK_MODEL mp;
- PID pid;
-
- if (!JOY26_installed()) {
- cprintf("No Joystick found.");
- exit(1);
- }
- soft_task_default_model(mp);
- soft_task_def_level(mp,2);
- soft_task_def_ctrl_jet(mp);
- soft_task_def_met(mp,700);
- soft_task_def_period(mp,10000);
- soft_task_def_usemath(mp);
- pid = task_create("Joy_Print", my_getjoy, &mp, NULL);
- if (pid == NIL) {
- sys_shutdown_message("Could not create task <Joy_Print>\n");
- exit(1);
- } else
- task_activate(pid);
-
- return 0;
-}
/rel_1_5_beta1/input/joy.c
Property changes:
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Index: rel_1_5_beta1/input/speak.c
===================================================================
--- rel_1_5_beta1/input/speak.c (revision 1557)
+++ rel_1_5_beta1/input/speak.c (nonexistent)
@@ -1,208 +0,0 @@
-
-/*
- * Project: S.Ha.R.K.
- *
- * Coordinators: Giorgio Buttazzo <giorgio@sssup.it>
- *
- * Authors : Mauro Marinoni <mauro.marinoni@unipv.it>
- * (see authors.txt for full list of hartik's authors)
- *
- * ReTiS Lab (Scuola Superiore S.Anna - Pisa - Italy)
- *
- * http://www.sssup.it
- * http://retis.sssup.it
- * http://shark.sssup.it
- */
-
-/*
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- */
-
-#include <kernel/kern.h>
-#include <kernel/func.h>
-#include <stdlib.h>
-#include <string.h>
-
-#include <drivers/shark_keyb26.h>
-#include <drivers/shark_spk26.h>
-
-void my_sysclose(KEY_EVT *e)
-{
- speaker_sound(0, 0);
-
- kern_printf("S.Ha.R.K. closed.\n\n");
- exit(0);
-}
-
-void no_note(KEY_EVT *e){
- speaker_sound(0, 0);
-}
-
-void my_note(KEY_EVT *e){
-
- switch (e->scan) {
- case KEY_Q:
- speaker_sound(262, 0);
- break;
- case KEY_W:
- speaker_sound(277, 0);
- break;
- case KEY_E:
- speaker_sound(294, 0);
- break;
- case KEY_R:
- speaker_sound(311, 0);
- break;
- case KEY_T:
- speaker_sound(330, 0);
- break;
- case KEY_Y:
- speaker_sound(349, 0);
- break;
- case KEY_U:
- speaker_sound(370, 0);
- break;
- case KEY_I:
- speaker_sound(392, 0);
- break;
- case KEY_O:
- speaker_sound(415, 0);
- break;
- case KEY_P:
- speaker_sound(440, 0);
- break;
- case KEY_BRL:
- speaker_sound(466, 0);
- break;
- case KEY_BRR:
- speaker_sound(494, 0);
- break;
- }
-}
-
-int main(int argc, char **argv)
-{
- KEY_EVT ev;
-
- ev.ascii = 'c';
- ev.scan = KEY_C;
- ev.status = KEY_PRESSED;
- ev.flag = CNTL_BIT;
- keyb_hook(ev, my_sysclose, FALSE);
- ev.flag = CNTR_BIT;
- keyb_hook(ev, my_sysclose, FALSE);
-
- speaker_sound(440, 400);
- while ( (sys_gettime(NULL)/1000) < 1000);
-
- ev.ascii = 'q';
- ev.scan = KEY_Q;
- ev.flag = 0;
- ev.status = KEY_PRESSED;
- keyb_hook(ev, my_note, FALSE);
- ev.status = KEY_RELEASED;
- keyb_hook(ev, no_note, FALSE);
-
- ev.ascii = 'w';
- ev.scan = KEY_W;
- ev.flag = 0;
- ev.status = KEY_PRESSED;
- keyb_hook(ev, my_note, FALSE);
- ev.status = KEY_RELEASED;
- keyb_hook(ev, no_note, FALSE);
-
- ev.ascii = 'e';
- ev.scan = KEY_E;
- ev.flag = 0;
- ev.status = KEY_PRESSED;
- keyb_hook(ev, my_note, FALSE);
- ev.status = KEY_RELEASED;
- keyb_hook(ev, no_note, FALSE);
-
- ev.ascii = 'r';
- ev.scan = KEY_R;
- ev.flag = 0;
- ev.status = KEY_PRESSED;
- keyb_hook(ev, my_note, FALSE);
- ev.status = KEY_RELEASED;
- keyb_hook(ev, no_note, FALSE);
-
- ev.ascii = 't';
- ev.scan = KEY_T;
- ev.flag = 0;
- ev.status = KEY_PRESSED;
- keyb_hook(ev, my_note, FALSE);
- ev.status = KEY_RELEASED;
- keyb_hook(ev, no_note, FALSE);
-
- ev.ascii = 'y';
- ev.scan = KEY_Y;
- ev.flag = 0;
- ev.status = KEY_PRESSED;
- keyb_hook(ev, my_note, FALSE);
- ev.status = KEY_RELEASED;
- keyb_hook(ev, no_note, FALSE);
-
- ev.ascii = 'u';
- ev.scan = KEY_U;
- ev.flag = 0;
- ev.status = KEY_PRESSED;
- keyb_hook(ev, my_note, FALSE);
- ev.status = KEY_RELEASED;
- keyb_hook(ev, no_note, FALSE);
-
- ev.ascii = 'i';
- ev.scan = KEY_I;
- ev.flag = 0;
- ev.status = KEY_PRESSED;
- keyb_hook(ev, my_note, FALSE);
- ev.status = KEY_RELEASED;
- keyb_hook(ev, no_note, FALSE);
-
- ev.ascii = 'o';
- ev.scan = KEY_O;
- ev.flag = 0;
- ev.status = KEY_PRESSED;
- keyb_hook(ev, my_note, FALSE);
- ev.status = KEY_RELEASED;
- keyb_hook(ev, no_note, FALSE);
-
- ev.ascii = 'p';
- ev.scan = KEY_P;
- ev.flag = 0;
- ev.status = KEY_PRESSED;
- keyb_hook(ev, my_note, FALSE);
- ev.status = KEY_RELEASED;
- keyb_hook(ev, no_note, FALSE);
-
- ev.ascii = '[';
- ev.scan = KEY_BRL;
- ev.flag = 0;
- ev.status = KEY_PRESSED;
- keyb_hook(ev, my_note, FALSE);
- ev.status = KEY_RELEASED;
- keyb_hook(ev, no_note, FALSE);
-
- ev.ascii = ']';
- ev.scan = KEY_BRR;
- ev.flag = 0;
- ev.status = KEY_PRESSED;
- keyb_hook(ev, my_note, FALSE);
- ev.status = KEY_RELEASED;
- keyb_hook(ev, no_note, FALSE);
-
- while(1);
- return 0;
-}
Index: rel_1_5_beta1/input/initfile.c
===================================================================
--- rel_1_5_beta1/input/initfile.c (revision 1557)
+++ rel_1_5_beta1/input/initfile.c (nonexistent)
@@ -1,214 +0,0 @@
-/*
- * Project: HARTIK (HA-rd R-eal TI-me K-ernel)
- *
- * Coordinators: Giorgio Buttazzo <giorgio@sssup.it>
- * Gerardo Lamastra <gerardo@sssup.it>
- *
- * Authors : Mauro Marinoni <mauro.marinoni@unipv.it>
- * (see authors.txt for full list of hartik's authors)
- *
- * ReTiS Lab (Scuola Superiore S.Anna - Pisa - Italy)
- *
- * http://www.sssup.it
- * http://retis.sssup.it
- * http://hartik.sssup.it
- */
-
-/*
- * Copyright (C) 2000 Paolo Gai
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- */
-
-
-#include "kernel/kern.h"
-
-#include "intdrive/intdrive/intdrive.h"
-#include "edf/edf/edf.h"
-#include "hardcbs/hardcbs/hardcbs.h"
-#include "rr/rr/rr.h"
-#include "dummy/dummy/dummy.h"
-
-#include "sem/sem/sem.h"
-#include "hartport/hartport/hartport.h"
-#include "cabs/cabs/cabs.h"
-
-#include <drivers/shark_linuxc26.h>
-#include <drivers/shark_pci26.h>
-
-#include <drivers/shark_input26.h>
-#include <drivers/shark_keyb26.h>
-#include <drivers/shark_mouse26.h>
-#include <drivers/shark_spk26.h>
-#include <drivers/shark_joy26.h>
-
-#include <drivers/shark_fb26.h>
-
-#define FRAME_BUFFER_DEVICE 0
-
-/*+ sysyem tick in us +*/
-#define TICK 0
-
-/*+ RR tick in us +*/
-#define RRTICK 2000
-
-/*+ Interrupt Server +*/
-#define INTDRIVE_Q 1000
-#define INTDRIVE_T 10000
-#define INTDRIVE_FLAG 0
-
-void call_shutdown_task(void *arg);
-int device_drivers_init();
-int device_drivers_close();
-void set_shutdown_task();
-TASK shutdown_task_body(void *arg);
-
-PID shutdown_task_PID = -1;
-
-TIME __kernel_register_levels__(void *arg)
-{
- struct multiboot_info *mb = (struct multiboot_info *)arg;
-
- INTDRIVE_register_level(INTDRIVE_Q,INTDRIVE_T,INTDRIVE_FLAG);
- EDF_register_level(EDF_ENABLE_ALL);
- HCBS_register_level(HCBS_ENABLE_ALL, 1);
- RR_register_level(RRTICK, RR_MAIN_YES, mb);
- dummy_register_level();
-
- SEM_register_module();
- CABS_register_module();
-
- return TICK;
-}
-
-TASK __init__(void *arg)
-{
- struct multiboot_info *mb = (struct multiboot_info *)arg;
-
- HARTPORT_init();
-
- /* Create the shutdown task. It will be activated at RUNLEVEL SHUTDOWN */
- set_shutdown_task();
-
- /* Init the drivers */
- device_drivers_init();
-
- /* Set the shutdown task activation */
- sys_atrunlevel(call_shutdown_task, NULL, RUNLEVEL_SHUTDOWN);
-
- __call_main__(mb);
-
- return (void *)0;
-}
-
-void set_shutdown_task()
-{
-/* WARNING: the shutdown task is a background thread. It cannot execute if the system is overloaded */
- NRT_TASK_MODEL nrt;
-
- nrt_task_default_model(nrt);
- nrt_task_def_system(nrt);
-
- shutdown_task_PID = task_create("Shutdown Task",shutdown_task_body,&nrt,NULL);
- if (shutdown_task_PID == NIL) {
- sys_shutdown_message("Error: Cannot create shutdown task\n");
- exit(1);
- }
-}
-
-int device_drivers_init()
-{
- int res;
- KEYB_PARMS kparms = BASE_KEYB;
- MOUSE_PARMS mparms = BASE_MOUSE;
-
- LINUXC26_register_module();
-
- PCI26_init();
-
- INPUT26_init();
-
- /* keyb_def_map(kparms, KEYMAP_IT);*/
- keyb_def_ctrlC(kparms, NULL);
- KEYB26_init(&kparms);
-
- mouse_def_threshold(mparms, 5);
- mouse_def_xmin(mparms, 0);
- mouse_def_ymin(mparms, 0);
- mouse_def_xmax(mparms, 639);
- mouse_def_ymax(mparms, 479);
- MOUSE26_init(&mparms);
-
- SPEAK26_init();
-
- JOY26_init();
-
- FB26_init();
- res = FB26_open(FRAME_BUFFER_DEVICE);
- if (res) {
- cprintf("Error: Cannot open graphical mode\n");
- MOUSE26_close();
- SPEAK26_close();
- JOY26_close();
- KEYB26_close();
- INPUT26_close();
- exit(1);
- }
-
- FB26_use_grx(FRAME_BUFFER_DEVICE);
- FB26_setmode(FRAME_BUFFER_DEVICE,"640x480-16");
-
- return 0;
-}
-
-int device_drivers_close() {
-
- mouse_grxcursor(DISABLE, 0);
-
- FB26_close(FRAME_BUFFER_DEVICE);
-
- MOUSE26_close();
- SPEAK26_close();
- JOY26_close();
- KEYB26_close();
- INPUT26_close();
-
- return 0;
-}
-
-#define SHUTDOWN_TIMEOUT_SEC 3
-
-void call_shutdown_task(void *arg)
-{
- struct timespec t;
-
- sys_gettime(&t);
- t.tv_sec += SHUTDOWN_TIMEOUT_SEC;
-
- /* Emergency timeout to exit from RUNLEVEL_SHUTDOWN */
- kern_event_post(&t,(void *)((void *)sys_abort_shutdown),(void *)0);
-
- task_activate(shutdown_task_PID);
-}
-
-TASK shutdown_task_body(void *arg)
-{
- device_drivers_close();
-
- sys_shutdown_message("-- S.Ha.R.K. Closed --\n");
-
- return NULL;
-}
Index: rel_1_5_beta1/input/initjoy.c
===================================================================
--- rel_1_5_beta1/input/initjoy.c (revision 1557)
+++ rel_1_5_beta1/input/initjoy.c (nonexistent)
@@ -1,146 +0,0 @@
-/*
- * Project: HARTIK (HA-rd R-eal TI-me K-ernel)
- *
- * Coordinators: Giorgio Buttazzo <giorgio@sssup.it>
- * Gerardo Lamastra <gerardo@sssup.it>
- *
- * Authors : Mauro Marinoni <mauro.marinoni@unipv.it>
- * (see authors.txt for full list of hartik's authors)
- *
- * ReTiS Lab (Scuola Superiore S.Anna - Pisa - Italy)
- *
- * http://www.sssup.it
- * http://retis.sssup.it
- * http://hartik.sssup.it
- */
-
-/*
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- */
-
-#include <kernel/kern.h>
-
-#include "edf/edf/edf.h"
-#include "cbs/cbs/cbs.h"
-#include "rr/rr/rr.h"
-#include "dummy/dummy/dummy.h"
-#include "intdrive/intdrive/intdrive.h"
-
-#include "sem/sem/sem.h"
-#include "hartport/hartport/hartport.h"
-
-#include <drivers/shark_linuxc26.h>
-#include <drivers/shark_input26.h>
-#include <drivers/shark_joy26.h>
-
-/*+ sysyem tick in us +*/
-#define TICK 0
-
-/*+ RR tick in us +*/
-#define RRTICK 10000
-
-/*+ Interrupt Server +*/
-#define INTDRIVE_Q 1000
-#define INTDRIVE_T 10000
-#define INTDRIVE_FLAG 0
-
-PID shutdown_task_PID = 1;
-
-TIME __kernel_register_levels__(void *arg)
-{
- struct multiboot_info *mb = (struct multiboot_info *)arg;
-
- INTDRIVE_register_level(INTDRIVE_Q, INTDRIVE_T, INTDRIVE_FLAG);
- EDF_register_level(EDF_ENABLE_ALL);
- CBS_register_level(CBS_ENABLE_ALL, 1);
- RR_register_level(RRTICK, RR_MAIN_YES, mb);
- dummy_register_level();
-
- SEM_register_module();
-
- return TICK;
-}
-
-int device_drivers_close() {
-
- JOY26_close();
- INPUT26_close();
-
- return 0;
-}
-
-int device_drivers_init() {
-
- LINUXC26_register_module();
- INPUT26_init();
-
- JOY26_init();
-
- return 0;
-
-}
-
-TASK shutdown_task_body(void *arg) {
-
- device_drivers_close();
- sys_shutdown_message("-- S.Ha.R.K. Closed --\n");
- return NULL;
-}
-
-void set_shutdown_task() {
-
- NRT_TASK_MODEL nrt;
-
- nrt_task_default_model(nrt);
- nrt_task_def_system(nrt);
-
- shutdown_task_PID = task_create("Shutdown Task", shutdown_task_body, &nrt, NULL);
- if (shutdown_task_PID == NIL) {
- sys_shutdown_message("Error: Cannot create shutdown task\n");
- exit(1);
- }
-
-}
-
-#define SHUTDOWN_TIMEOUT_SEC 3
-
-void call_shutdown_task(void *arg) {
- struct timespec t;
-
- sys_gettime(&t);
- t.tv_sec += SHUTDOWN_TIMEOUT_SEC;
-
- /* Emergency timeout to exit from RUNLEVEL_SHUTDOWN */
- kern_event_post(&t,(void *)((void *)sys_abort_shutdown),(void *)0);
-
- task_activate(shutdown_task_PID);
-}
-
-TASK __init__(void *arg)
-{
- struct multiboot_info *mb = (struct multiboot_info *)arg;
-
- HARTPORT_init();
-
- set_shutdown_task();
-
- device_drivers_init();
-
- sys_atrunlevel(call_shutdown_task, NULL, RUNLEVEL_SHUTDOWN);
-
- __call_main__(mb);
-
- return (void *)0;
-}
/rel_1_5_beta1/input/initjoy.c
Property changes:
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Index: rel_1_5_beta1/input/key.c
===================================================================
--- rel_1_5_beta1/input/key.c (revision 1557)
+++ rel_1_5_beta1/input/key.c (nonexistent)
@@ -1,106 +0,0 @@
-
-/*
- * Project: S.Ha.R.K.
- *
- * Coordinators: Giorgio Buttazzo <giorgio@sssup.it>
- *
- * Authors : Mauro Marinoni <mauro.marinoni@unipv.it>
- * (see authors.txt for full list of hartik's authors)
- *
- * ReTiS Lab (Scuola Superiore S.Anna - Pisa - Italy)
- *
- * http://www.sssup.it
- * http://retis.sssup.it
- * http://shark.sssup.it
- */
-
-/*
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- */
-
-#include <kernel/kern.h>
-#include <kernel/func.h>
-#include <stdlib.h>
-#include <string.h>
-
-#include <drivers/shark_keyb26.h>
-
-void my_sysclose(KEY_EVT *e)
-{
- kern_printf("S.Ha.R.K. closed.\n\n");
- exit(0);
-}
-
-TASK my_getch(void *arg) {
-
- BYTE ch;
-
- while (1) {
- ch = keyb_getch(NON_BLOCK);
- if (ch)
- cprintf("%c", ch);
- task_endcycle();
- }
-}
-
-void my_pause(KEY_EVT *e){
-
- TIME t;
-
- cprintf("Start Pause.\n");
- keyb_disable();
- cprintf("Keyboard Disabled.\n");
- t = sys_gettime(NULL);
- while ( ( (sys_gettime(NULL) -t) / 1000) < 5000);
- keyb_enable();
- cprintf("Keyboard Enabled.\n");
-}
-
-int main(int argc, char **argv)
-{
- SOFT_TASK_MODEL mp;
- PID pid;
-
- KEY_EVT ev;
-
- ev.ascii = 'p';
- ev.scan = KEY_P;
- ev.status = KEY_PRESSED;
- ev.flag = CNTR_BIT;
- keyb_hook(ev, my_pause, FALSE);
-
- ev.ascii = 'c';
- ev.scan = KEY_C;
- ev.status = KEY_PRESSED;
- ev.flag = CNTR_BIT;
- keyb_hook(ev, my_sysclose, FALSE);
- ev.flag = CNTL_BIT;
- keyb_hook(ev, my_sysclose, FALSE);
-
- soft_task_default_model(mp);
- soft_task_def_level(mp,2);
- soft_task_def_ctrl_jet(mp);
- soft_task_def_met(mp,700);
- soft_task_def_period(mp,1000);
- soft_task_def_usemath(mp);
- pid = task_create("Keyb_Print", my_getch, &mp, NULL);
- if (pid == NIL) {
- perror("Could not create task <Keyb_Print>");
- exit(1);
- } else
- task_activate(pid);
-
- return 0;
-}
Index: rel_1_5_beta1/input/mouse.c
===================================================================
--- rel_1_5_beta1/input/mouse.c (revision 1557)
+++ rel_1_5_beta1/input/mouse.c (nonexistent)
@@ -1,95 +0,0 @@
-
-/*
- * Project: S.Ha.R.K.
- *
- * Coordinators: Giorgio Buttazzo <giorgio@sssup.it>
- *
- * Authors : Mauro Marinoni <mauro.marinoni@unipv.it>
- * (see authors.txt for full list of hartik's authors)
- *
- * ReTiS Lab (Scuola Superiore S.Anna - Pisa - Italy)
- *
- * http://www.sssup.it
- * http://retis.sssup.it
- * http://shark.sssup.it
- */
-
-/*
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- */
-
-#include <kernel/kern.h>
-#include <kernel/func.h>
-#include <stdlib.h>
-#include <string.h>
-
-#include <drivers/shark_mouse26.h>
-#include <drivers/shark_keyb26.h>
-#include <drivers/shark_spk26.h>
-
-void my_sysclose(KEY_EVT *e)
-{
- mouse_txtcursor(DISABLE);
-
- exit(0);
-}
-
-TASK my_putxy(void *arg) {
-
- int x, y, z;
- unsigned long btn;
-
- clear();
-
- while (1) {
- mouse_getposition(&x, &y, &z, &btn);
- place(10, 10);
- cprintf("X: %2d - Y: %2d - Z: %3d - Btn: %4d\n", x, y, z, (int)btn);
-
- task_endcycle();
- }
-}
-
-int main(int argc, char **argv)
-{
- SOFT_TASK_MODEL mp;
- PID pid;
- KEY_EVT ev;
-
- ev.ascii = 'c';
- ev.scan = KEY_C;
- ev.status = KEY_PRESSED;
- ev.flag = CNTL_BIT;
- keyb_hook(ev, my_sysclose, FALSE);
- ev.flag = CNTR_BIT;
- keyb_hook(ev, my_sysclose, FALSE);
-
- mouse_txtcursor(ENABLE);
-
- soft_task_default_model(mp);
- soft_task_def_level(mp,2);
- soft_task_def_ctrl_jet(mp);
- soft_task_def_met(mp,700);
- soft_task_def_period(mp,1000);
- soft_task_def_usemath(mp);
- pid = task_create("Mouse_Print", my_putxy, &mp, NULL);
- if (pid == NIL) {
- sys_shutdown_message("Could not create task <Mouse_Print>\n");
- my_sysclose(NULL);
- } else
- task_activate(pid);
-
- return 0;
-}
/rel_1_5_beta1/input/mouse.c
Property changes:
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Index: rel_1_5_beta1/input/initkey.c
===================================================================
--- rel_1_5_beta1/input/initkey.c (revision 1557)
+++ rel_1_5_beta1/input/initkey.c (nonexistent)
@@ -1,158 +0,0 @@
-/*
- * Project: HARTIK (HA-rd R-eal TI-me K-ernel)
- *
- * Coordinators: Giorgio Buttazzo <giorgio@sssup.it>
- * Gerardo Lamastra <gerardo@sssup.it>
- *
- * Authors : Mauro Marinoni <mauro.marinoni@unipv.it>
- * (see authors.txt for full list of hartik's authors)
- *
- * ReTiS Lab (Scuola Superiore S.Anna - Pisa - Italy)
- *
- * http://www.sssup.it
- * http://retis.sssup.it
- * http://hartik.sssup.it
- */
-
-/*
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- */
-
-
-#include <kernel/kern.h>
-
-#include "edf/edf/edf.h"
-#include "cbs/cbs/cbs.h"
-#include "rr/rr/rr.h"
-#include "dummy/dummy/dummy.h"
-#include "intdrive/intdrive/intdrive.h"
-
-#include "sem/sem/sem.h"
-#include "hartport/hartport/hartport.h"
-
-#include <drivers/shark_linuxc26.h>
-#include <drivers/shark_input26.h>
-#include <drivers/shark_keyb26.h>
-
-/*+ sysyem tick in us +*/
-#define TICK 0
-
-/*+ RR tick in us +*/
-#define RRTICK 10000
-
-/*+ Interrupt Server +*/
-#define INTDRIVE_Q 1000
-#define INTDRIVE_T 10000
-#define INTDRIVE_FLAG 0
-
-void call_shutdown_task(void *arg);
-int device_drivers_init();
-int device_drivers_close();
-void set_shutdown_task();
-TASK shutdown_task_body(void *arg);
-
-PID shutdown_task_PID = 1;
-
-TIME __kernel_register_levels__(void *arg)
-{
- struct multiboot_info *mb = (struct multiboot_info *)arg;
-
- INTDRIVE_register_level(INTDRIVE_Q, INTDRIVE_T, INTDRIVE_FLAG);
- EDF_register_level(EDF_ENABLE_ALL);
- CBS_register_level(CBS_ENABLE_ALL, 1);
- RR_register_level(RRTICK, RR_MAIN_YES, mb);
- dummy_register_level();
-
- SEM_register_module();
-
- return TICK;
-}
-
-int device_drivers_close() {
-
- KEYB26_close();
- INPUT26_close();
-
- return 0;
-
-}
-
-int device_drivers_init() {
-
- KEYB_PARMS kparms = BASE_KEYB;
-
- LINUXC26_register_module();
- INPUT26_init();
-
- /*keyb_def_map(kparms, KEYMAP_IT);*/
- keyb_def_ctrlC(kparms, NULL);
- KEYB26_init(&kparms);
-
- return 0;
-}
-
-TASK shutdown_task_body(void *arg) {
-
- device_drivers_close();
- sys_shutdown_message("-- S.Ha.R.K. Closed --\n");
- return NULL;
-}
-
-#define SHUTDOWN_TIMEOUT_SEC 3
-
-void set_shutdown_task() {
-
- NRT_TASK_MODEL nrt;
-
- nrt_task_default_model(nrt);
- nrt_task_def_system(nrt);
-
- shutdown_task_PID = task_create("Shutdown Task", shutdown_task_body, &nrt, NULL);
- if (shutdown_task_PID == NIL) {
- sys_shutdown_message("Error: Cannot create shutdown task\n");
- exit(1);
- }
-
-}
-
-void call_shutdown_task(void *arg) {
-
- struct timespec t;
-
- sys_gettime(&t);
- t.tv_sec += SHUTDOWN_TIMEOUT_SEC;
-
- /* Emergency timeout to exit from RUNLEVEL_SHUTDOWN */
- kern_event_post(&t,(void *)((void *)sys_abort_shutdown),(void *)0);
-
- task_activate(shutdown_task_PID);
-}
-
-TASK __init__(void *arg)
-{
- struct multiboot_info *mb = (struct multiboot_info *)arg;
-
- HARTPORT_init();
-
- set_shutdown_task();
-
- device_drivers_init();
-
- sys_atrunlevel(call_shutdown_task, NULL, RUNLEVEL_SHUTDOWN);
-
- __call_main__(mb);
-
- return (void *)0;
-}
Index: rel_1_5_beta1/input/makefile
===================================================================
--- rel_1_5_beta1/input/makefile (revision 1557)
+++ rel_1_5_beta1/input/makefile (nonexistent)
@@ -1,28 +0,0 @@
-#
-#
-#
-
-ifndef BASE
-BASE=../..
-endif
-include $(BASE)/config/config.mk
-
-PROGS= input speak key mouse joy
-
-include $(BASE)/config/example.mk
-
-input:
- make -f $(SUBMAKE) APP=input INIT= OTHEROBJS="initfile.o" SHARKOPT="__INPUT__ __LINUXC26__ __PCI__ __FB__"
-
-speak:
- make -f $(SUBMAKE) APP=speak INIT= OTHEROBJS="initspk.o" SHARKOPT="__INPUT__ __LINUXC26__ __PCI__"
-
-key:
- make -f $(SUBMAKE) APP=key INIT= OTHEROBJS="initkey.o" SHARKOPT="__INPUT__ __LINUXC26__ __PCI__"
-
-mouse:
- make -f $(SUBMAKE) APP=mouse INIT= OTHEROBJS="initcur.o" SHARKOPT="__INPUT__ __LINUXC26__ __PCI__"
-
-joy:
- make -f $(SUBMAKE) APP=joy INIT= OTHEROBJS="initjoy.o" SHARKOPT="__INPUT__ __LINUXC26__ __PCI__"
-
Index: rel_1_5_beta1/input/initcur.c
===================================================================
--- rel_1_5_beta1/input/initcur.c (revision 1557)
+++ rel_1_5_beta1/input/initcur.c (nonexistent)
@@ -1,161 +0,0 @@
-/*
- * Project: HARTIK (HA-rd R-eal TI-me K-ernel)
- *
- * Coordinators: Giorgio Buttazzo <giorgio@sssup.it>
- * Gerardo Lamastra <gerardo@sssup.it>
- *
- * Authors : Mauro Marinoni <mauro.marinoni@unipv.it>
- * (see authors.txt for full list of hartik's authors)
- *
- * ReTiS Lab (Scuola Superiore S.Anna - Pisa - Italy)
- *
- * http://www.sssup.it
- * http://retis.sssup.it
- * http://hartik.sssup.it
- */
-
-/*
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- */
-
-#include <kernel/kern.h>
-
-#include "edf/edf/edf.h"
-#include "cbs/cbs/cbs.h"
-#include "rr/rr/rr.h"
-#include "dummy/dummy/dummy.h"
-#include "intdrive/intdrive/intdrive.h"
-
-#include "sem/sem/sem.h"
-#include "hartport/hartport/hartport.h"
-
-#include <drivers/shark_linuxc26.h>
-#include <drivers/shark_input26.h>
-#include <drivers/shark_mouse26.h>
-#include <drivers/shark_keyb26.h>
-
-/*+ sysyem tick in us +*/
-#define TICK 0
-
-/*+ RR tick in us +*/
-#define RRTICK 10000
-
-/*+ Interrupt Server +*/
-#define INTDRIVE_Q 1000
-#define INTDRIVE_T 10000
-#define INTDRIVE_FLAG 0
-
-void call_shutdown_task(void *arg);
-int device_drivers_init();
-int device_drivers_close();
-void set_shutdown_task();
-TASK shutdown_task_body(void *arg);
-
-PID shutdown_task_PID = 1;
-
-TIME __kernel_register_levels__(void *arg)
-{
- struct multiboot_info *mb = (struct multiboot_info *)arg;
-
- INTDRIVE_register_level(INTDRIVE_Q, INTDRIVE_T, INTDRIVE_FLAG);
- EDF_register_level(EDF_ENABLE_ALL);
- CBS_register_level(CBS_ENABLE_ALL, 1);
- RR_register_level(RRTICK, RR_MAIN_YES, mb);
- dummy_register_level();
-
- SEM_register_module();
-
- return TICK;
-}
-
-int device_drivers_close() {
-
- MOUSE26_close();
- KEYB26_close();
- INPUT26_close();
-
- return 0;
-}
-
-int device_drivers_init() {
-
- KEYB_PARMS kparms = BASE_KEYB;
- MOUSE_PARMS mparms = BASE_MOUSE;
-
- LINUXC26_register_module();
- INPUT26_init();
-
- /*keyb_def_map(kparms, KEYMAP_IT);*/
- keyb_def_ctrlC(kparms, NULL);
- KEYB26_init(&kparms);
-
- MOUSE26_init(&mparms);
-
- return 0;
-
-}
-
-TASK shutdown_task_body(void *arg) {
-
- device_drivers_close();
- sys_shutdown_message("-- S.Ha.R.K. Closed --\n");
- return NULL;
-}
-
-void set_shutdown_task() {
-
- NRT_TASK_MODEL nrt;
-
- nrt_task_default_model(nrt);
- nrt_task_def_system(nrt);
-
- shutdown_task_PID = task_create("Shutdown Task", shutdown_task_body, &nrt, NULL);
- if (shutdown_task_PID == NIL) {
- sys_shutdown_message("Error: Cannot create shutdown task\n");
- exit(1);
- }
-
-}
-
-#define SHUTDOWN_TIMEOUT_SEC 3
-
-void call_shutdown_task(void *arg) {
- struct timespec t;
-
- sys_gettime(&t);
- t.tv_sec += SHUTDOWN_TIMEOUT_SEC;
-
- /* Emergency timeout to exit from RUNLEVEL_SHUTDOWN */
- kern_event_post(&t,(void *)((void *)sys_abort_shutdown),(void *)0);
-
- task_activate(shutdown_task_PID);
-}
-
-TASK __init__(void *arg)
-{
- struct multiboot_info *mb = (struct multiboot_info *)arg;
-
- HARTPORT_init();
-
- set_shutdown_task();
-
- device_drivers_init();
-
- sys_atrunlevel(call_shutdown_task, NULL, RUNLEVEL_SHUTDOWN);
-
- __call_main__(mb);
-
- return (void *)0;
-}
/rel_1_5_beta1/input/initcur.c
Property changes:
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Index: rel_1_5_beta1/cpufreq/initfile.c
===================================================================
--- rel_1_5_beta1/cpufreq/initfile.c (revision 1557)
+++ rel_1_5_beta1/cpufreq/initfile.c (nonexistent)
@@ -1,184 +0,0 @@
-/*
- * Project: S.Ha.R.K.
- *
- * Coordinators:
- * Giorgio Buttazzo <giorgio@sssup.it>
- * Paolo Gai <pj@gandalf.sssup.it>
- *
- * Authors :
- * Giacomo Guidi <giacomo@gandalf.sssup.it>
- * (see the web pages for full authors list)
- *
- * ReTiS Lab (Scuola Superiore S.Anna - Pisa - Italy)
- *
- * http://www.sssup.it
- * http://retis.sssup.it
- * http://shark.sssup.it
- */
-
-/*
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- */
-
-#include "kernel/kern.h"
-#include "intdrive/intdrive/intdrive.h"
-#include "edf/edf/edf.h"
-#include "hardcbs/hardcbs/hardcbs.h"
-#include "rr/rr/rr.h"
-#include "dummy/dummy/dummy.h"
-
-#include "sem/sem/sem.h"
-#include "hartport/hartport/hartport.h"
-#include "cabs/cabs/cabs.h"
-
-#include "drivers/shark_linuxc26.h"
-#include "drivers/shark_input26.h"
-#include "drivers/shark_keyb26.h"
-
-#include <drivers/shark_cpu26.h>
-
-/*+ sysyem tick in us +*/
-#define TICK 0
-
-/*+ RR tick in us +*/
-#define RRTICK 10000
-
-/*+ IntDrive Server +*/
-#define INTDRIVE_Q 1000
-#define INTDRIVE_T 10000
-#define INTDRIVE_FLAGS 0
-
-void call_shutdown_task(void *arg);
-int device_drivers_init();
-int device_drivers_close();
-void set_shutdown_task();
-TASK shutdown_task_body(void *arg);
-
-PID shutdown_task_PID = -1;
-
-TIME __kernel_register_levels__(void *arg)
-{
- struct multiboot_info *mb = (struct multiboot_info *)arg;
-
- INTDRIVE_register_level(INTDRIVE_Q, INTDRIVE_T, INTDRIVE_FLAGS);
- EDF_register_level(EDF_ENABLE_ALL);
- HCBS_register_level(HCBS_ENABLE_ALL, 1);
- RR_register_level(RRTICK, RR_MAIN_YES, mb);
- dummy_register_level();
-
- SEM_register_module();
-
- CABS_register_module();
-
- return TICK;
-}
-
-TASK __init__(void *arg)
-{
- struct multiboot_info *mb = (struct multiboot_info *)arg;
-
- HARTPORT_init();
-
- /* Create the shutdown task. It will be activated at RUNLEVEL
- SHUTDOWN */
- set_shutdown_task();
-
- /* Init the drivers */
- device_drivers_init();
-
- /* Set the shutdown task activation */
- sys_atrunlevel(call_shutdown_task, NULL, RUNLEVEL_SHUTDOWN);
-
- //sys_set_reboot(EXIT_MODE_HALT);
-
- __call_main__(mb);
-
- return (void *)0;
-}
-
-void set_shutdown_task() {
-
- /* WARNING: the shutdown task is a background thread. It cannot execute
- if the system is overloaded */
- NRT_TASK_MODEL nrt;
-
- nrt_task_default_model(nrt);
- nrt_task_def_system(nrt);
-
- shutdown_task_PID = task_create("Shutdown Task",shutdown_task_body,&nrt,NULL);
- if (shutdown_task_PID == NIL) {
- sys_shutdown_message("Error: Cannot create shutdown task\n");
- exit(1);
- }
-
-}
-
-int device_drivers_init() {
-
- KEYB_PARMS kparms = BASE_KEYB;
-
- LINUXC26_register_module();
-
- CPU26_init();
-
- CPU26_DVS_init();
-
- INPUT26_init();
-
- keyb_def_ctrlC(kparms, NULL);
-
- KEYB26_init(&kparms);
-
- return 0;
-
-}
-
-int device_drivers_close() {
-
- //CPU26_DVS_close();
-
- KEYB26_close();
-
- INPUT26_close();
-
- return 0;
-
-}
-
-#define SHUTDOWN_TIMEOUT_SEC 3
-
-void call_shutdown_task(void *arg)
-{
- struct timespec t;
-
- sys_gettime(&t);
- t.tv_sec += SHUTDOWN_TIMEOUT_SEC;
-
- /* Emergency timeout to exit from RUNLEVEL_SHUTDOWN */
- kern_event_post(&t,(void *)((void *)sys_abort_shutdown),(void *)0);
-
- task_activate(shutdown_task_PID);
-}
-
-TASK shutdown_task_body(void *arg) {
-
- device_drivers_close();
-
- sys_shutdown_message("-- S.Ha.R.K. Closed --\n");
-
- return NULL;
-
-}
-
Index: rel_1_5_beta1/cpufreq/cpufreq.c
===================================================================
--- rel_1_5_beta1/cpufreq/cpufreq.c (revision 1557)
+++ rel_1_5_beta1/cpufreq/cpufreq.c (nonexistent)
@@ -1,75 +0,0 @@
-
-/*
- * Project: S.Ha.R.K.
- *
- * Coordinators: Giorgio Buttazzo <giorgio@sssup.it>
- *
- * Authors : Mauro Marinoni
- * Giacomo Guidi <giacomo@gandalf.sssup.it>
- * (see authors.txt for full list of hartik's authors)
- *
- * ReTiS Lab (Scuola Superiore S.Anna - Pisa - Italy)
- *
- * http://www.sssup.it
- * http://retis.sssup.it
- * http://shark.sssup.it
- */
-
-/*
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- */
-
-#include <kernel/kern.h>
-
-#include <drivers/shark_keyb26.h>
-#include <drivers/shark_cpu26.h>
-
-void endfunc(KEY_EVT *e)
-{
- exit(0);
-}
-
-int main(int argc, char **argv)
-{
- int val, num;
- char buf[1000];
-
- CPU26_showinfo();
-
- val = CPU26_get_min_frequency();
- cprintf("Min freq: %d\n", val);
-
- val = CPU26_get_max_frequency();
- cprintf("Max freq: %d\n", val);
-
- val = CPU26_get_cur_frequency();
- cprintf("Current freq: %d\n", val);
-
- num = CPU26_show_frequencies(buf);
- if (num>0)
- cprintf("Allowed frequencys: %s\n", buf);
- num = CPU26_get_frequencies(cpu26_freqs);
-
- if (num>0) {
- CPU26_set_frequency(cpu26_freqs[0], DVS_RELATION_L);
- val = CPU26_get_cur_frequency();
- cprintf("Actual freq: %d\n", val);
- }
-
- endfunc(NULL);
-
- return 0;
-}
/rel_1_5_beta1/cpufreq/cpufreq.c
Property changes:
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Index: rel_1_5_beta1/cpufreq/makefile
===================================================================
--- rel_1_5_beta1/cpufreq/makefile (revision 1557)
+++ rel_1_5_beta1/cpufreq/makefile (nonexistent)
@@ -1,16 +0,0 @@
-#
-#
-#
-
-ifndef BASE
-BASE=../..
-endif
-include $(BASE)/config/config.mk
-
-PROGS= cpufreq
-
-include $(BASE)/config/example.mk
-
-cpufreq:
- make -f $(SUBMAKE) APP=cpufreq INIT= OTHEROBJS="initfile.o" SHARKOPT="__INPUT__ __CPU__ __LINUXC26__ __PCI__"
-
Index: rel_1_5_beta1/loader/makefile
===================================================================
--- rel_1_5_beta1/loader/makefile (revision 1557)
+++ rel_1_5_beta1/loader/makefile (nonexistent)
@@ -1,88 +0,0 @@
-#
-# help can be found in readme.txt
-#
-
-# -----------------------------------------------------
-#
-# OS dependent variables:
-
-# all the OS dependent variables and dependencies are under $(OS)/makefile.in
-
-# This makefile will execute the dependency os_specific_dep to "fill"
-# the out directory with OS-specific stuffs; Then, the makefile
-# generated in the out directory will be executed with $(TEST) as
-# parameter.
-
-ifndef $(BASE)
-BASE=../..
-endif
-
-include $(BASE)/config/config.mk
-
-ifeq ($(OS),MARTE)
-OSINCLUDE=marte/makefile.in
-endif
-
-ifeq ($(OS),SHARK)
-OSINCLUDE=shark/makefile.in
-endif
-
-# -----------------------------------------------------
-
-.PHONY: all clean help
-
-help:
-ifeq ($(CAT),cat)
- cat readme.txt
-endif
-
-all: out out/common.done out/$(TEST).done os_specific_dep
- make -C out $(TEST)
-
-clean:
- make -C generators clean
- make -C generators/java clean
- rm -rf out
-
-out/common.done:
- cd out; cp -sf ../common/*.c .
- cd out; cp -sf ../common/*.h .
- touch out/common.done
-
-# note: the out dependency is present only in the "all" dependency
-# (there is some strange case with the updating of the out date that I
-# do not know how to resolve...
-out:
- mkdir out
-
-# -----------------------------------------------------
-#
-# Testcase generation
-
-# .FSF Format
-# -----------------------
-
-generators/event_gen:
- make -C generators event_gen
-
-out/%.done: loadfile/%.fsf generators/event_gen
- cd out; ../generators/event_gen ../loadfile/$(TEST).fsf
- touch out/$*.done
-
-# .FSF2 Format
-# -----------------------
-
-generators/java/Applicazione.class:
- make -C generators/java all
-
-out/%.done: loadfile/%.fsf2 generators/java/Applicazione.class
- cd generators/java; ./java_gen ../../loadfile/$(TEST).fsf2; mv event.c ../../out/
- touch out/$*.done
-
-# other file formats
-# -----------------------
-out/%.done: loadfile/%.otherformat
- echo Other file formats that are not specified yet...
- touch out/$*.done
-
-include $(OSINCLUDE)
Index: rel_1_5_beta1/loader/loadfile/loadm.fsf
===================================================================
--- rel_1_5_beta1/loader/loadfile/loadm.fsf (revision 1557)
+++ rel_1_5_beta1/loader/loadfile/loadm.fsf (nonexistent)
@@ -1,72 +0,0 @@
-# CONTRACT SECTION
-#
-# CONTRACT NUMBER:CMIN:TMAX:CMAX:TMIN:WORKLOAD:DEADLINE:LOCAL SCHEDULER
-#
-# YOU WILL HAVE A SERVER FOR EACH SPECIFIED CONTRACT,
-# SO IN THE TASK SECTION YOU CAN SPECIFY THE "CONTRACT NUMBER"
-# INSTEAD OF THE SERVER NUMBER, WHICH IS CALCULATED INSIDE THE
-# LOADER
-#
-# ALL THE TIME PARAMETERS INSIDE THIS FILE ARE ALWAYS EXPRESSED AS
-# "[SECONDS][MICROSECONDS]" TO AVOID FLOATING POINT CALCULATIONS
-#
-# WORKLOAD
-# 0 BOUNDED
-# 1 INDETERMINATED
-#
-# LOCAL SCHEDULER
-# NONE - DEFAULT FOR THE FRAMEWORK
-# POSIX
-# EDF
-# RM
-#
-# TASK SECTION
-#
-# TASK TYPE:CONTRACT NUMBER:LOCAL SCHEDULER:NUMBER OF TASK:DEADLINE:WCET:TASK ACT TYPE (PAR1,PAR2,...):
-# :TASK EXEC TYPE (PAR1,PAR2,...):CRITICAL SESSION (PAR1,PAR2,PAR3,PAR4);
-#
-# TASK TYPE
-# OS - ONE_SHOT
-# CT - CYCLICAL_TASK
-# BT - BACKGROUND_TASK
-#
-# TASK EXEC TYPE
-# EXEC_CONST(TIME)
-# - CONSTANT EXEC TIME
-# EXEC_MEAN(MEAN, DELTA)
-# - VARIABLE EXEC TIME WITH CONSTANT DISTRIBUTION
-#
-# TASK ACTIVATION TIME
-# ACT_SINGLE(START_TIME)
-# ACT_PERIODIC(START_TIME, PERIOD)
-# ACT_MEAN(START_TIME, MEAN, DELTA)
-#
-# CRITICAL SESSION
-# CRIT(RES NUMBER, BLOCKING_TIME)
-# NO_CRIT
-#
-
-TOTAL_EXEC_TIME:[20][0];
-# SIMULATION TOTAL TIME
-
-CONTRACT SECTION
-
-[0]:[0][6000]:[0][30000]:[0][6000]:[0][30000]:[0]:[0][0]:EDF;
-[1]:[0][6000]:[0][60000]:[0][6000]:[0][60000]:[0]:[0][0]:EDF;
-[2]:[0][12000]:[0][60000]:[0][12000]:[0][60000]:[0]:[0][0]:POSIX;
-
-END
-
-TASK SECTION
-
-CT:[0]:EDF:[2]:[1][0]:[0][40000]:ACT_PERIODIC([1][0],[1][0]):
-:EXEC_CONST([0][16000]):CRIT([0],[0][2000]);
-
-CT:[1]:EDF:[2]:[1][0]:[0][40000]:ACT_PERIODIC([2][0],[1][0]):
-:EXEC_MEAN([0][16000],[0][10000]):CRIT([0],[0][2000]);
-
-BT:[2]:POSIX:[2]:[0][0]:[0][0]:ACT_SINGLE([3][0]):
-:EXEC_CONST([0][10000]):CRIT([0],[0][2000]);
-
-END
-
Index: rel_1_5_beta1/loader/loadfile/load.fsf
===================================================================
--- rel_1_5_beta1/loader/loadfile/load.fsf (revision 1557)
+++ rel_1_5_beta1/loader/loadfile/load.fsf (nonexistent)
@@ -1,76 +0,0 @@
-# CONTRACT SECTION
-#
-# CONTRACT NUMBER:CMIN:TMAX:CMAX:TMIN:WORKLOAD:DEADLINE:LOCAL SCHEDULER
-#
-# YOU WILL HAVE A SERVER FOR EACH SPECIFIED CONTRACT,
-# SO IN THE TASK SECTION YOU CAN SPECIFY THE "CONTRACT NUMBER"
-# INSTEAD OF THE SERVER NUMBER, WHICH IS CALCULATED INSIDE THE
-# LOADER
-#
-# ALL THE TIME PARAMETERS INSIDE THIS FILE ARE ALWAYS EXPRESSED AS
-# "[SECONDS][MICROSECONDS]" TO AVOID FLOATING POINT CALCULATIONS
-#
-# WORKLOAD
-# 0 BOUNDED
-# 1 INDETERMINATED
-#
-# LOCAL SCHEDULER
-# POSIX
-# EDF
-# RM
-# NONE DEFAULT FROM THE FRAMEWORK
-#
-# TASK SECTION
-#
-# TASK TYPE:CONTRACT NUMBER:LOCAL SCHEDULER:NUMBER OF TASK:DEADLINE:WCET:TASK ACT TYPE (PAR1,PAR2,...):
-# :TASK EXEC TYPE (PAR1,PAR2,...):CRITICAL SESSION (PAR1,PAR2,PAR3,PAR4);
-#
-# TASK TYPE
-# OS - ONE_SHOT
-# CT - CYCLICAL_TASK
-# BT - BACKGROUND_TASK
-#
-# TASK EXEC TYPE
-# EXEC_CONST(TIME)
-# - CONSTANT EXEC TIME
-# EXEC_MEAN(MEAN, DELTA)
-# - VARIABLE EXEC TIME WITH CONSTANT DISTRIBUTION
-#
-# TASK ACTIVATION TIME
-# ACT_SINGLE(START_TIME)
-# ACT_PERIODIC(START_TIME, PERIOD)
-# ACT_MEAN(START_TIME, MEAN, DELTA)
-#
-# CRITICAL SESSION
-# CRIT(RES NUMBER, BLOCKING_TIME)
-# NO_CRIT
-#
-
-TOTAL_EXEC_TIME:[20][0];
-# SIMULATION TOTAL TIME
-
-CONTRACT SECTION
-
-[0]:[0][3000]:[0][10000]:[0][3000]:[0][10000]:[0]:[0][9000]:POSIX;
-[1]:[0][6000]:[0][30000]:[0][6000]:[0][30000]:[0]:[0][0]:POSIX;
-[2]:[0][3000]:[0][30000]:[0][3000]:[0][30000]:[0]:[0][0]:POSIX;
-[3]:[0][3000]:[0][20000]:[0][3000]:[0][20000]:[0]:[0][0]:POSIX;
-
-END
-
-TASK SECTION
-
-BT:[0]:POSIX:[1]:[0][0]:[0][0]:ACT_SINGLE([1][0]):
-:EXEC_CONST([0][25000]):NO_CRIT;
-
-BT:[1]:POSIX:[1]:[0][0]:[0][0]:ACT_SINGLE([2][0]):
-:EXEC_CONST([0][16000]):NO_CRIT;
-
-OS:[2]:POSIX:[1]:[0][0]:[0][0]:ACT_SINGLE([3][0]):
-:EXEC_CONST([1][0]):NO_CRIT;
-
-BT:[3]:POSIX:[5]:[0][0]:[0][0]:ACT_SINGLE([4][0]):
-:EXEC_CONST([0][10000]):NO_CRIT;
-
-END
-
Index: rel_1_5_beta1/loader/loadfile/loadxml.fsf2
===================================================================
--- rel_1_5_beta1/loader/loadfile/loadxml.fsf2 (revision 1557)
+++ rel_1_5_beta1/loader/loadfile/loadxml.fsf2 (nonexistent)
@@ -1,59 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fsf_framework xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../generators/java/fsf-schema.xsd">
-
-<simulation>
-<time>20s 0u</time>
-</simulation>
-<contract>
- <cmin>0s 3000u</cmin>
- <tmax>0s 10000u</tmax>
- <cmax>0s 3000u</cmax>
- <tmin>0s 10000u</tmin>
- <workload>0</workload>
- <localscheduler type="POSIX">
- <task_section type="BackTask">
- <number>1</number>
- <act_section>
- <start_time>3s 0u</start_time>
- </act_section>
- <exec_section>
- <exec_time>3s 0u</exec_time>
- </exec_section>
- </task_section>
- <task_section type="OneShot">
- <number>2</number>
- <dline>0s 0u</dline>
- <wcet>0s 0u</wcet>
- <act_section>
- <start_time>3s 0u</start_time>
- </act_section>
- <exec_section>
- <exec_time>3s 0u</exec_time>
- </exec_section>
- </task_section>
- </localscheduler>
-</contract>
-<contract>
- <cmin>0s 3000u</cmin>
- <tmax>0s 10000u</tmax>
- <cmax>0s 3000u</cmax>
- <tmin>0s 10000u</tmin>
- <workload>0</workload>
- <localscheduler type="EDF">
- <task_section type="CyclicalTask">
- <number>1</number>
- <dline>1s 0u</dline>
- <wcet>0s 100000u</wcet>
- <act_section>
- <start_time>3s 0u</start_time>
- <period_time>1s 0u</period_time>
- </act_section>
- <exec_section>
- <exec_time>0s 10000u</exec_time>
- <delta_time>0s 10000u</delta_time>
- </exec_section>
- </task_section>
- </localscheduler>
-</contract>
-
-</fsf_framework>
Index: rel_1_5_beta1/loader/common/time.h
===================================================================
--- rel_1_5_beta1/loader/common/time.h (revision 1557)
+++ rel_1_5_beta1/loader/common/time.h (nonexistent)
@@ -1,65 +0,0 @@
-#ifndef __TIME_H__
-#define __TIME_H__
-
-#define TIMESPEC2NANOSEC(t) ((t)->tv_sec * 1000000000 + (t)->tv_nsec)
-#define TIMESPEC2USEC(t) ((t)->tv_sec * 1000000 + (t)->tv_nsec / 1000)
-#define NULL_TIMESPEC(t) ((t)->tv_sec = (t)->tv_nsec = 0)
-#define ADDNANO2TIMESPEC(n, t) ((t)->tv_nsec += (n), \
- (t)->tv_sec += (t)->tv_nsec / 1000000000, \
- (t)->tv_nsec %= 1000000000)
-
-#define SUBTIMESPEC(s1, s2, d) \
- ((d)->tv_nsec = ((s1)->tv_nsec >= (s2)->tv_nsec) ? \
- (((d)->tv_sec = (s1)->tv_sec - (s2)->tv_sec), \
- (s1)->tv_nsec - (s2)->tv_nsec) \
- : \
- (((d)->tv_sec = (s1)->tv_sec - (s2)->tv_sec - 1), \
- (1000000000 + (s1)->tv_nsec - (s2)->tv_nsec)))
-
-/*
- * ...and these not!
- */
-
-extern __inline__ void ADDTIMESPEC(const struct timespec *s1,
- const struct timespec *s2,
- struct timespec *d)
-{
- d->tv_sec = s1->tv_sec + s2->tv_sec;
- d->tv_nsec = s1->tv_nsec + s2->tv_nsec;
-
- if (d->tv_nsec < 0) {
- d->tv_sec--;
- d->tv_nsec += 1000000000;
- } else if (d->tv_nsec >= 1000000000) {
- d->tv_sec++;
- d->tv_nsec -= 1000000000;
- }
-}
-
-
-#define ADDUSEC2TIMESPEC(m, t) ((t)->tv_nsec += (m%1000000)*1000, \
- (t)->tv_sec += ((t)->tv_nsec / 1000000000) + (m/1000000), \
- (t)->tv_nsec %= 1000000000)
-
-#define TIMESPEC_A_LT_B(a,b) \
- ( \
- ((a)->tv_sec < (b)->tv_sec) || \
- ((a)->tv_sec == (b)->tv_sec && (a)->tv_nsec < (b)->tv_nsec) \
- )
-
-#define TIMESPEC_A_GT_B(a,b) \
- ( \
- ((a)->tv_sec > (b)->tv_sec) || \
- ((a)->tv_sec == (b)->tv_sec && (a)->tv_nsec > (b)->tv_nsec) \
- )
-
-#define TIMESPEC_A_EQ_B(a,b) \
- ((a)->tv_sec == (b)->tv_sec && (a)->tv_nsec == (b)->tv_nsec)
-
-#define TIMESPEC_A_NEQ_B(a,b) \
- ((a)->tv_sec != (b)->tv_sec || (a)->tv_nsec != (b)->tv_nsec)
-
-#define TIMESPEC_ASSIGN(t1,t2) \
- ((t1)->tv_sec = (t2)->tv_sec, (t1)->tv_nsec = (t2)->tv_nsec)
-
-#endif
Index: rel_1_5_beta1/loader/common/lconst.h
===================================================================
--- rel_1_5_beta1/loader/common/lconst.h (revision 1557)
+++ rel_1_5_beta1/loader/common/lconst.h (nonexistent)
@@ -1,37 +0,0 @@
-#define PAR_TOTAL_EXEC_TIME 0
-#define PAR_TIME 1
-#define PAR_ACT_TYPE 2
-#define PAR_TASK_NUMBER 3
-#define PAR_EXEC_TYPE 4
-#define PAR_TASK_TYPE 5
-#define PAR_NOTHING 6
-#define PAR_DEADLINE 7
-#define PAR_ERROR 8
-#define PAR_FOUND 9
-#define PAR_CRIT_SESSION 10
-#define PAR_END 11
-
-#define PAR_EXEC_CONST 12
-#define PAR_EXEC_MEAN 13
-
-#define PAR_CONTRACT_SECTION 14
-#define PAR_TASK_SECTION 15
-
-#define PAR_ACT_SINGLE 16
-#define PAR_ACT_PERIODIC 17
-#define PAR_ACT_MEAN 18
-
-#define PAR_TASK_OS 21
-#define PAR_TASK_CT 22
-#define PAR_TASK_BT 23
-
-#define PAR_NO_CRIT 26
-#define PAR_CRIT 27
-
-#define PAR_LOCAL_SCHEDULER 29
-#define PAR_POSIX 30
-#define PAR_EDF 31
-#define PAR_RM 32
-#define PAR_NONE 33
-
-#define PAR_FSF_SERVER 34
Index: rel_1_5_beta1/loader/common/calibrate.h
===================================================================
--- rel_1_5_beta1/loader/common/calibrate.h (revision 1557)
+++ rel_1_5_beta1/loader/common/calibrate.h (nonexistent)
@@ -1,8 +0,0 @@
-
-/* Nunber of calibration iterations */
-#define CALIBRATION_DELTA 100000
-
-/* Usec of exec time for CALIBRATING_DELTA iterations
- Set to 0 if you calibrate during loader execution */
-#define CALIBRATION_RESULT 0
-
Index: rel_1_5_beta1/loader/common/nload.c
===================================================================
--- rel_1_5_beta1/loader/common/nload.c (revision 1557)
+++ rel_1_5_beta1/loader/common/nload.c (nonexistent)
@@ -1,315 +0,0 @@
-/* FSF Loader
- *
- * Load and run a specific set of tasks/contracts
- *
- * This is the system indipendent part
- *
- * Giacomo Guidi <giacomo@gandalf.sssup.it>
- * Michael Timarchi <trimarchi@gandalf.sssup.it>
- *
- */
-
-#include "fsf.h"
-
-#include "calibrate.h"
-#include "func.h" //Generic function definitions
-#include "lconst.h"
-
-/* Activate task output debug */
-#define TASK_OUTPUT
-
-int cal_cycles = CALIBRATION_RESULT; //Calibration const, it converts usec to cycles
-struct timespec zero_time; //Zero time of the simulation
-extern struct loader_task loader_task_list[]; //Loader task array
-extern int total_loader_task; //Loader task number
-
-/* OS: Oneshot Task:
- begin
- - execution
- end
-*/
-void *oneshot_task(void *arg)
-{
- long long i,exec_cycles = 0;
- struct loader_task *l = (struct loader_task *)(arg);
- #ifdef TASK_OUTPUT
- #ifdef OS_SHARK
- char tmp[20];
- #endif
- #endif
-
- start_oneshot_task();
-
- /* to avoid problem if the task start inside the create function */
- if (l->act_current == 0) l->act_current = 1;
- #ifdef TASK_OUTPUT
- #ifdef OS_SHARK
- sprintf(tmp,"[ONESHOT]");
- printf_xy((get_current_exec_task() % 5) * 9 + 34,get_current_exec_task() / 5 + 5, GREEN, tmp);
- #endif
- #endif
-
- exec_cycles = (long long)(TIMESPEC2USEC(&l->exec[l->act_current-1])) * CALIBRATION_DELTA / cal_cycles;
-
- /* Execution delay */
- for (i=0;i<exec_cycles;i++)
- __asm__ __volatile__ ("xorl %%eax,%%eax\n\t"
- "cpuid\n\t"
- :::"eax","ebx","ecx","edx");
-
- end_oneshot_task();
-
- #ifdef TASK_OUTPUT
- #ifdef OS_SHARK
- sprintf(tmp,"[--END--]");
- printf_xy((get_current_exec_task() % 5) * 9 + 34,get_current_exec_task() / 5 + 5, GREEN, tmp);
- #endif
- #endif
-
- return NULL;
-
-}
-
-/* CT: Cyclical Task:
- begin
- while (1) {
- - execution
- - end_cycle
- }
- end (never end)
-*/
-void *periodic_task(void *arg)
-{
- long long i,exec_cycles = 0,block_cycles = 0;
- int act = 0;
- struct loader_task *l = (struct loader_task *)(arg);
-
- #ifdef TASK_OUTPUT
- #ifdef OS_SHARK
- char tmp[20];
- #endif
- #endif
-
- start_periodic_task();
-
- if (l->act_current == 0) l->act_current = 1;
-
- while(1) {
-
- start_job_periodic_task();
-
- #ifdef TASK_OUTPUT
- #ifdef OS_SHARK
- sprintf(tmp,"C[%06d]",act);
- printf_xy((get_current_exec_task() % 5) * 9 + 34,get_current_exec_task() / 5 + 5, GREEN, tmp);
- #endif
- #endif
-
- exec_cycles = (long long)(TIMESPEC2USEC(&l->exec[l->act_current-1])) * CALIBRATION_DELTA / cal_cycles;
- block_cycles = (long long)(TIMESPEC2USEC(&l->block[l->act_current-1])) * CALIBRATION_DELTA / cal_cycles;
-
- /* Execution delay */
- for (i=0;i<exec_cycles;i++)
- __asm__ __volatile__ ("xorl %%eax,%%eax\n\t"
- "cpuid\n\t"
- :::"eax","ebx","ecx","edx");
- if (l->muxstatus == 2) {
-
- #ifdef TASK_OUTPUT
- #ifdef OS_SHARK
- sprintf(tmp,"C[LOCK%02d]",l->resource);
- printf_xy((get_current_exec_task() % 5) * 9 + 34,get_current_exec_task() / 5 + 5, RED, tmp);
- #endif
- #endif
-
- generic_lock_mutex(l->resource);
- for (i=0;i<block_cycles;i++)
- __asm__ __volatile__ ("xorl %%eax,%%eax\n\t"
- "cpuid\n\t"
- :::"eax","ebx","ecx","edx");
- generic_unlock_mutex(l->resource);
-
- #ifdef TASK_OUTPUT
- #ifdef OS_SHARK
- sprintf(tmp,"C[FREE%02d]",l->resource);
- printf_xy((get_current_exec_task() % 5) * 9 + 34,get_current_exec_task() / 5 + 5, GREEN, tmp);
- #endif
- #endif
-
- }
-
- end_job_periodic_task();
-
- generic_task_endcycle();
-
- act++;
-
- }
-
- end_periodic_task();
-
- #ifdef TASK_OUTPUT
- #ifdef OS_SHARK
- sprintf(tmp,"[--END--]");
- printf_xy((get_current_exec_task() % 5) * 9 + 34,get_current_exec_task() / 5 + 5, GREEN, tmp);
- #endif
- #endif
-
- return NULL;
-
-}
-
-/* BT: Background Task:
- begin
- while (1) {
- - execution
- }
- end (never end)
-*/
-void *back_task(void *arg)
-{
- long long i,exec_cycles = 0,block_cycles = 0;
- int act = 0;
- struct loader_task *l = (struct loader_task *)(arg);
- #ifdef TASK_OUTPUT
- #ifdef OS_SHARK
- char tmp[20];
- #endif
- #endif
-
- start_back_task();
-
- if (l->act_current == 0) l->act_current = 1;
-
- while(1) {
-
- start_job_back_task();
-
- #ifdef TASK_OUTPUT
- #ifdef OS_SHARK
- sprintf(tmp,"B[%06d]",act);
- printf_xy((get_current_exec_task() % 5) * 9 + 34,get_current_exec_task() / 5 + 5, GREEN, tmp);
- #endif
- #endif
-
- exec_cycles = (long long)(TIMESPEC2USEC(&l->exec[l->act_current-1])) * CALIBRATION_DELTA / cal_cycles;
- block_cycles = (long long)(TIMESPEC2USEC(&l->block[l->act_current-1])) * CALIBRATION_DELTA / cal_cycles;
-
- /* Execution delay */
- for (i=0;i<exec_cycles;i++)
- __asm__ __volatile__ ("xorl %%eax,%%eax\n\t"
- "cpuid\n\t"
- :::"eax","ebx","ecx","edx");
- if (l->muxstatus == 2) {
-
- #ifdef TASK_OUTPUT
- #ifdef OS_SHARK
- sprintf(tmp,"B[LOCK%02d]",l->resource);
- printf_xy((get_current_exec_task() % 5) * 9 + 34,get_current_exec_task() / 5 + 5, RED, tmp);
- #endif
- #endif
-
- generic_lock_mutex(l->resource);
- for (i=0;i<block_cycles;i++)
- __asm__ __volatile__ ("xorl %%eax,%%eax\n\t"
- "cpuid\n\t"
- :::"eax","ebx","ecx","edx");
- generic_unlock_mutex(l->resource);
-
- #ifdef TASK_OUTPUT
- #ifdef OS_SHARK
- sprintf(tmp,"C[FREE%02d]",l->resource);
- printf_xy((get_current_exec_task() % 5) * 9 + 34,get_current_exec_task() / 5 + 5, GREEN, tmp);
- #endif
- #endif
-
- }
-
- end_job_back_task();
-
- act++;
-
- }
-
- end_back_task();
-
- #ifdef TASK_OUTPUT
- #ifdef OS_SHARK
- sprintf(tmp,"[--END--]");
- printf_xy((get_current_exec_task() % 5) * 9 + 34,get_current_exec_task() / 5 + 5, GREEN, tmp);
- #endif
- #endif
-
- return NULL;
-
-}
-
-/* Task create */
-/* this function create the task struct in memory */
-void loader_task_create()
-{
-
- struct loader_task *current = loader_task_list;
- int i=0, k=0;
-
- while (k <total_loader_task) {
- k++;
-
- for (i=0; i < current->number; i++) {
-
- pthread_t j;
- int err = 0;
-
- switch(current->task_type) {
- case PAR_TASK_OS:
- err = fsf_create_local_thread(generic_get_server_from_contract(current->contract),generic_get_task_model(current), &j,NULL,
- oneshot_task,(void *)current);
- break;
- case PAR_TASK_BT:
- err = fsf_create_local_thread(generic_get_server_from_contract(current->contract),generic_get_task_model(current), &j,NULL,
- back_task,(void *)current);
- break;
- case PAR_TASK_CT:
- err = fsf_create_local_thread(generic_get_server_from_contract(current->contract),generic_get_task_model(current), &j,NULL, periodic_task,(void *)current);
- break;
- }
- if (err) {
- printf("Error fsf task creating %d\n", err);
- generic_end_simulation();
- }
-
- }
-
- current = &loader_task_list[k];
-
- }
-
- printf("Created %d loader tasks\n",k);
-
-
-}
-
-/* Main Function */
-int start_environment()
-{
-
- extern struct timespec total_time;
-
- /* Calibrate the exec time */
- generic_calibrate_cycle();
-
- /* Create the servers usign defined contracts */
- generic_fsfinit();
-
- /* Create the tasks */
- loader_task_create();
-
- /* Start the simulation */
- generic_start_simulation();
-
- /* Set the simulation end time */
- generic_set_simulation_time(&total_time);
-
- return 0;
-
-}
Index: rel_1_5_beta1/loader/common/nload.h
===================================================================
--- rel_1_5_beta1/loader/common/nload.h (revision 1557)
+++ rel_1_5_beta1/loader/common/nload.h (nonexistent)
@@ -1,46 +0,0 @@
-/* Generic Struct for loader task */
-#ifndef __NLOAD_H__
-#define __NLOAD_H__
-
-#include "func.h" //Constant definition for loader and linux parser
-
-struct loader_task {
-
- char name[20]; //Task name
- int task_type; //Tast type (OS,CT,BT)
- int contract; //Contract number
- int local_scheduler; //Local scheduler for the task
- int number; //How many copies of this task
- int group; //Group number
-
- struct timespec deadline; //Task deadline
- struct timespec wcet; //Task wcet
-
- int act_number; //Number of activations precalcolated
- int act_current; //Actual activation number
-
- int resource;
- int muxstatus;
-
- struct timespec *act; //Activation list
- struct timespec *exec; //Execution time list
- struct timespec *block; //Blocking time
-
-};
-
-struct loader_contract {
-
- int number; //Contract number
- struct timespec cmin;
- struct timespec tmax;
- struct timespec cmax;
- struct timespec tmin;
- int workload;
- struct timespec deadline;
- int local_scheduler;
- int server; //Server number linked to this contract
-
-};
-
-#endif
-
Index: rel_1_5_beta1/loader/marte/makefile.in
===================================================================
--- rel_1_5_beta1/loader/marte/makefile.in (revision 1557)
+++ rel_1_5_beta1/loader/marte/makefile.in (nonexistent)
@@ -1,7 +0,0 @@
-#
-# MaRTE OS dependecies
-#
-
-os_specific_dep:
- echo MaRTE dependencies here
-
Index: rel_1_5_beta1/loader/shark/shark.c
===================================================================
--- rel_1_5_beta1/loader/shark/shark.c (revision 1557)
+++ rel_1_5_beta1/loader/shark/shark.c (nonexistent)
@@ -1,258 +0,0 @@
-#include "func.h"
-#include "calibrate.h"
-#include <tracer.h>
-
-#include "FTrace_udp.h"
-#include "FTrace_chunk.h"
-
-extern int cal_cycles;
-extern struct timespec zero_time;
-extern struct loader_task loader_task_list[];
-extern struct loader_contract loader_contract_list[];
-extern int total_loader_task;
-extern int total_loader_contract;
-
-mutex_t mutex_table[MAX_MUTEX];
-int main_chunk;
-
-/* Runtime Calibration */
-int calibrate_cycle()
-{
- long long i;
- struct timespec start,end,diff;
-
- if (cal_cycles != 0) return 0;
-
- kern_cli();
- __asm__ __volatile__ ("xorl %%eax,%%eax\n\t"
- "cpuid\n\t"
- :::"eax","ebx","ecx","edx");
- kern_gettime(&start);
- for (i=0;i<CALIBRATION_DELTA;i++)
- __asm__ __volatile__ ("xorl %%eax,%%eax\n\t"
- "cpuid\n\t"
- :::"eax","ebx","ecx","edx");
- __asm__ __volatile__ ("xorl %%eax,%%eax\n\t"
- "cpuid\n\t"
- :::"eax","ebx","ecx","edx");
- kern_gettime(&end);
- kern_sti();
-
- SUBTIMESPEC(&end,&start,&diff);
- cal_cycles = TIMESPEC2USEC(&diff);
- cprintf("Calibration usec/[%d cycles] = %d\n",CALIBRATION_DELTA,cal_cycles);
-
- return 0;
-
-}
-
-int get_server_from_contract(int contract)
-{
-
- int i;
-
- for(i=0;i<total_loader_contract;i++)
- if (loader_contract_list[i].number == contract)
- return loader_contract_list[i].server;
-
- return -1;
-
-}
-
-void *get_task_model(struct loader_task *current) {
- if (current->local_scheduler == PAR_POSIX) {
- static NRT_TASK_MODEL nrt;
- static fsf_sched_params_t pr;
-
- pr.policy=FSF_RR;
- pr.params=&nrt;
-
- nrt_task_default_model(nrt);
- nrt_task_def_save_arrivals(nrt);
- nrt_task_def_ctrl_jet(nrt);
- nrt_task_def_group(nrt,current->group);
- nrt_task_def_usemath(nrt);
-
- return &pr;
-
- }
-
- if (current->local_scheduler == PAR_EDF) {
- static HARD_TASK_MODEL ht;
- static fsf_sched_params_t pr;
-
- pr.policy=FSF_EDF;
- pr.params=&ht;
-
- hard_task_default_model(ht);
- hard_task_def_ctrl_jet(ht);
- hard_task_def_mit(ht,TIMESPEC2USEC(&current->deadline));
- hard_task_def_wcet(ht,TIMESPEC2USEC(&current->wcet));
- hard_task_def_group(ht,current->group);
- hard_task_def_aperiodic(ht);
- hard_task_def_usemath(ht);
- return &pr;
- }
-
- if (current->local_scheduler == PAR_NONE) {
- static DUMMY_TASK_MODEL d;
- static fsf_sched_params_t pr;
-
- pr.policy=FSF_NONE;
- pr.params=&d;
-
- dummy_task_default_model(d);
- dummy_task_def_group(d,current->group);
-
- return &pr;
- }
-
-
- if (current->local_scheduler == PAR_RM) {
- static HARD_TASK_MODEL ht;
- static fsf_sched_params_t pr;
-
- pr.policy=FSF_FP;
- pr.params=&ht;
-
- hard_task_default_model(ht);
- hard_task_def_mit(ht,TIMESPEC2USEC(&current->deadline));
- hard_task_def_wcet(ht,TIMESPEC2USEC(&current->wcet));
- hard_task_def_ctrl_jet(ht);
- hard_task_def_group(ht,current->group);
- hard_task_def_usemath(ht);
-
- return &pr;
- }
-
- return NULL;
-
-}
-
-TASK finish_task() {
-
- #ifdef __NEW_TRACER__
-
- FTrace_OSD_init_udp(1,"192.168.82.43","192.168.82.41");
-
- FTrace_send_chunk(main_chunk, 0, FTRACE_CHUNK_FLAG_FREE | FTRACE_CHUNK_FLAG_CYC);
-
- exit(0);
-
- #else
-
- exit(0);
-
- #endif
-
- return NULL;
-
-}
-
-void end_simulation() {
-
- #ifdef __NEW_TRACER__
-
- int i;
- struct loader_task *l = loader_task_list;
-
- NRT_TASK_MODEL nrt;
-
- TRACER_LOGEVENT(FTrace_EVT_trace_stop,0,0);
-
- FTrace_disable();
-
- i = 0;
- while (i < total_loader_task) {
-
- group_kill(l->group);
-
- i++;
- l=&loader_task_list[i];
-
- }
-
- nrt_task_default_model(nrt);
-
- task_activate(task_create("Finish",finish_task,&nrt,NULL));
-
- #else
-
- exit(0);
-
- #endif
-
-}
-
-void set_simulation_time (struct timespec *total) {
- struct timespec end_time;
-
- ADDTIMESPEC(&zero_time,total,&end_time);
- kern_event_post(&end_time,(void *)((void *)(end_simulation)),NULL);
-
-}
-
-/* Set the zero_time and post the first activation event */
-void start_simulation() {
-
- int i;
- struct loader_task *l = loader_task_list;
- struct timespec end_time;
- PISTAR_mutexattr_t a;
-
- PISTAR_mutexattr_default(a);
-
- i = 0;
-
- #ifdef __NEW_TRACER__
-
- main_chunk = FTrace_chunk_create(10000000, 1000, FTRACE_CHUNK_FLAG_FREE | FTRACE_CHUNK_FLAG_CYC);
-
- FTrace_actual_chunk_select(main_chunk);
-
- FTrace_enable();
-
- #endif
-
- TRACER_LOGEVENT(FTrace_EVT_trace_start,0,0);
-
- kern_gettime(&zero_time);
-
- while (i < total_loader_task) {
-
- if (l->muxstatus == 1) {
- mutex_init(&mutex_table[l->resource],&a);
- l->muxstatus = 2;
- }
-
- if (l->act_number > 0) {
- ADDTIMESPEC(&zero_time, &l->act[0], &end_time);
- l->act_current++;
- kern_event_post(&end_time,(void *)((void *)(loader_task_activate)),l);
- }
-
- i++;
- l=&loader_task_list[i];
-
- }
-
-}
-
-/* Activate task and post the new activation event */
-void loader_task_activate(struct loader_task *l) {
-
- struct timespec actual_time,end_time;
-
- kern_gettime(&actual_time);
- group_activate(l->group);
-
- if (l->act_number > l->act_current) {
-
- ADDTIMESPEC(&actual_time, &l->act[l->act_current], &end_time);
-
- l->act_current++;
- kern_event_post(&end_time,(void *)((void *)(loader_task_activate)),l);
-
- }
-
-}
Index: rel_1_5_beta1/loader/shark/shark.h
===================================================================
--- rel_1_5_beta1/loader/shark/shark.h (revision 1557)
+++ rel_1_5_beta1/loader/shark/shark.h (nonexistent)
@@ -1,19 +0,0 @@
-#ifndef __SHARK_H__
-#define __SHARK_H__
-
-#include "nload.h"
-#include "lconst.h"
-
-#define MAX_MUTEX 20
-
-int calibrate_cycle();
-void start_simulation();
-void *get_task_model(struct loader_task *current);
-void set_simulation_time (struct timespec *total);
-void set_next_activation(struct timespec *next);
-void loader_task_activate(struct loader_task *l);
-int get_server_from_contract(int contract);
-
-void fsfinit();
-
-#endif
Index: rel_1_5_beta1/loader/shark/shark.mak
===================================================================
--- rel_1_5_beta1/loader/shark/shark.mak (revision 1557)
+++ rel_1_5_beta1/loader/shark/shark.mak (nonexistent)
@@ -1,13 +0,0 @@
-ifndef BASE
-BASE=../../..
-endif
-
-include $(BASE)/config/config.mk
-
-PROGS = TEST
-
-include $(BASE)/config/example.mk
-
-TEST:
- make -f $(SUBMAKE) APP="nload" BASE=../../.. INIT= OTHEROBJS="event.o initfile.o shark.o fsfinit.o" OTHERINCL="-I." SHARKOPT="__LINUXC26__ __PCI__ __NET__ __FIRST__"
- cp nload TEST
Index: rel_1_5_beta1/loader/shark/func.h
===================================================================
--- rel_1_5_beta1/loader/shark/func.h (revision 1557)
+++ rel_1_5_beta1/loader/shark/func.h (nonexistent)
@@ -1,112 +0,0 @@
-#ifndef __FUNC_H__
-#define __FUNC_H__
-
-#include "kernel/kern.h"
-#include "fsf_basic_types.h"
-#include "fsf_core.h"
-#include "fsf_server.h"
-#include "shark.h"
-
-#define OS_SHARK
-
-
-#define get_current_exec_task() exec_shadow
-/* Return the PID/pthread_t of calling task */
-
-#define generic_get_server_from_contract get_server_from_contract
-/* Return the server_id from the contract number used
- * inside .fsf file to define contract parameters
- *
- * generic_get_server_from_contract(int contract_number) */
-
-#define generic_calibrate_cycle calibrate_cycle
-/* Set the calibration parameter "cal_cycle"
- * only if it's initialized to 0. The calibration routine
- * calculates cal_cycle from CALIBRATION_DELTA.
- * This step can also be performed outside the demo.
- * Inside calibrate.h you can set the calibration parameters
- * for calibration step performed outside.
- *
- * cal_cycle is the number of cycles that are needed to
- * make CALIBRATION_DELTA number of iteration.
- *
- * kern_cli();
- * kern_gettime(&start);
- * for (i=0;i<CALIBRATION_DELTA;i++)
- * __asm__ __volatile__ ("xorl %%eax,%%eax\n\t"
- * "cpuid\n\t"
- * :::"eax","ebx","ecx","edx");
- * kern_gettime(&end);
- * kern_sti();
- *
- * SUBTIMESPEC(&end,&start,&diff);
- * cal_cycles = TIMESPEC2USEC(&diff);
- *
- */
-
-#define generic_set_next_activation set_next_activation
-/* Set the next activation time. It's like fsf_schedule_next_timed_job
- * but it don't return nothing
- */
-
-#define generic_set_simulation_time set_simulation_time
-/* Set the end time of simulation */
-
-#define generic_get_task_model get_task_model
-/* Return a pointer to the struct that contains the
- * local shceduler parameter */
-
-#define generic_start_simulation start_simulation
-/* Start the simulation */
-
-#define generic_fsfinit() fsfinit()
-/* Create the fsf_server */
-
-#define generic_task_endcycle() task_endcycle()
-/* The job is finished */
-
-#define generic_end_simulation() exit(0)
-/* Exit from simulation */
-
-#define printf cprintf
-/* Printf standard function */
-
-/* Mutex */
-extern __inline__ void generic_lock_mutex(int res) {
- extern mutex_t mutex_table[MAX_MUTEX];
-
- mutex_lock(&mutex_table[res]);
-}
-
-extern __inline__ void generic_unlock_mutex(int res) {
- extern mutex_t mutex_table[MAX_MUTEX];
-
- mutex_unlock(&mutex_table[res]);
-}
-
-/* TASK RUNTIME FUNCTIONS */
-
-extern __inline__ void start_oneshot_task(void) {}
-extern __inline__ void end_oneshot_task(void) {}
-
-extern __inline__ void start_periodic_task(void) {}
-extern __inline__ void start_job_periodic_task(void) {
- task_testcancel();
-}
-extern __inline__ void end_job_periodic_task(void) {
- task_testcancel();
-}
-extern __inline__ void end_periodic_task(void) {}
-
-extern __inline__ void start_back_task(void) {}
-extern __inline__ void start_job_back_task(void) {
- task_testcancel();
-}
-extern __inline__ void end_job_back_task(void) {
- task_testcancel();
-}
-extern __inline__ void end_back_task(void) {}
-
-#endif
-
-
Index: rel_1_5_beta1/loader/shark/makefile.in
===================================================================
--- rel_1_5_beta1/loader/shark/makefile.in (revision 1557)
+++ rel_1_5_beta1/loader/shark/makefile.in (nonexistent)
@@ -1,14 +0,0 @@
-#
-# Shark dependecies
-#
-
-os_specific_dep: out/shark.done out/makefile
-
-
-out/shark.done:
- cd out; cp -sf ../shark/*.c .
- cd out; cp -sf ../shark/*.h .
- touch out/shark.done
-
-out/makefile: shark/shark.mak
- sed -e "s/TEST/$(TEST)/" shark/shark.mak > out/makefile
Index: rel_1_5_beta1/loader/shark/fsfinit.c
===================================================================
--- rel_1_5_beta1/loader/shark/fsfinit.c (revision 1557)
+++ rel_1_5_beta1/loader/shark/fsfinit.c (nonexistent)
@@ -1,56 +0,0 @@
-#include "kernel/kern.h"
-#include "fsf.h"
-#include "fsf_server.h"
-
-#include "func.h"
-
-extern struct loader_contract loader_contract_list[];
-extern int total_loader_contract;
-
-void fsfinit()
-{
-
- struct loader_contract *c;
- fsf_contract_parameters_t contract;
- fsf_server_id_t server;
- union sigval no_sigval = {0};
- int i;
-
- FSF_start_service_task();
-
- for (i=0;i<total_loader_contract;i++) {
-
- c = &loader_contract_list[i];
-
- fsf_initialize_contract(&contract);
-
- fsf_set_contract_basic_parameters(&contract,&c->cmin,&c->tmax,c->workload);
- fsf_set_contract_reclamation_parameters(&contract,&c->cmax,&c->tmin,FSF_DEFAULT_GRANULARITY, NULL, 1,1);
-
- if (TIMESPEC2USEC(&c->deadline) != 0)
- fsf_set_contract_timing_requirements(&contract,false,&c->deadline,0,no_sigval,0,no_sigval);
- else
- fsf_set_contract_timing_requirements(&contract,true,NULL,0,no_sigval,0,no_sigval);
-
- switch (c->local_scheduler) {
- case PAR_EDF:
- fsf_set_contract_scheduling_policy(&contract,FSF_EDF);
- break;
- case PAR_RM:
- fsf_set_contract_scheduling_policy(&contract,FSF_FP);
- break;
- case PAR_POSIX:
- fsf_set_contract_scheduling_policy(&contract,FSF_RR);
- break;
-
- }
-
-
- fsf_negotiate_contract(&contract,&server);
- c->server = server;
-
- }
-
- print_server_list();
-
-}
Index: rel_1_5_beta1/loader/shark/initfile.c
===================================================================
--- rel_1_5_beta1/loader/shark/initfile.c (revision 1557)
+++ rel_1_5_beta1/loader/shark/initfile.c (nonexistent)
@@ -1,179 +0,0 @@
-/*
- * Project: S.Ha.R.K.
- *
- * Coordinators: Giorgio Buttazzo <giorgio@sssup.it>
- *
- * Authors : Mauro Marinoni <mauro.marinoni@unipv.it>
- * (see authors.txt for full list of hartik's authors)
- *
- * ReTiS Lab (Scuola Superiore S.Anna - Pisa - Italy)
- *
- * http://www.sssup.it
- * http://retis.sssup.it
- * http://hartik.sssup.it
- */
-
-/*
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- */
-
-
-#include <kernel/kern.h>
-
-#include "edf/edf/edf.h"
-#include "cbs/cbs/cbs.h"
-#include "rr/rr/rr.h"
-#include "dummy/dummy/dummy.h"
-#include "intdrive/intdrive/intdrive.h"
-
-#include "posix/posix/posix.h"
-#include "grubstar.h"
-#include "fsf_basic_types.h"
-#include "fsf_core.h"
-
-#include "pi/pi/pi.h"
-#include "pc/pc/pc.h"
-
-#include "pthread.h"
-
-#include "sem/sem/sem.h"
-#include "hartport/hartport/hartport.h"
-#include "nop/nop/nop.h"
-
-#include <drivers/shark_linuxc26.h>
-#include <drivers/shark_pci26.h>
-
-/*+ sysyem tick in us +*/
-#define TICK 0
-
-/*+ RR tick in us +*/
-#define RRTICK 10000
-
-/*+ Interrupt Server +*/
-#define INTDRIVE_Q 1000
-#define INTDRIVE_T 10000
-#define INTDRIVE_FLAG 0
-
-void call_shutdown_task(void *arg);
-int device_drivers_init();
-int device_drivers_close();
-void set_shutdown_task();
-TASK shutdown_task_body(void *arg);
-
-PID shutdown_task_PID = 1;
-
-TIME __kernel_register_levels__(void *arg)
-{
- struct multiboot_info *mb = (struct multiboot_info *)arg;
- int grubstar_level;
- int posix_level;
- int pi_level;
- int pc_level;
-
- INTDRIVE_register_level(INTDRIVE_Q, INTDRIVE_T, INTDRIVE_FLAG);
- EDF_register_level(EDF_ENABLE_ALL);
- posix_level=POSIX_register_level(RRTICK, 1, mb, 32);
- grubstar_level = GRUBSTAR_register_level(FSF_MAX_N_SERVERS, 1);
-
- FSF_register_module(posix_level,grubstar_level, (int)(MAX_BANDWIDTH * 0.8));
- dummy_register_level();
- //posix_level=POSIX_register_level(RRTICK, 1, mb, 32);
- CBS_register_level(CBS_ENABLE_ALL,1);
-
- SEM_register_module();
-
- pi_level=PI_register_module();
- pc_level=PC_register_module();
- NOP_register_module();
-
- PTHREAD_register_module(2, pi_level, pc_level);
-
- return TICK;
-}
-
-int device_drivers_close() {
-
- return 0;
-
-}
-
-int device_drivers_init() {
-
- LINUXC26_register_module();
- PCI26_init();
-
- return 0;
-}
-
-TASK shutdown_task_body(void *arg) {
-
- device_drivers_close();
- sys_shutdown_message("-- S.Ha.R.K. Closed --\n");
- return NULL;
-}
-
-#define SHUTDOWN_TIMEOUT_SEC 3
-
-void set_shutdown_task() {
-
- NRT_TASK_MODEL nrt;
-
- nrt_task_default_model(nrt);
- nrt_task_def_system(nrt);
-
- shutdown_task_PID = task_create("Shutdown Task", shutdown_task_body, &nrt, NULL);
- if (shutdown_task_PID == NIL) {
- sys_shutdown_message("Error: Cannot create shutdown task\n");
- exit(0);
- }
-
-}
-
-void call_shutdown_task(void *arg) {
-
- struct timespec t;
-
- sys_gettime(&t);
- t.tv_sec += SHUTDOWN_TIMEOUT_SEC;
-
- /* Emergency timeout to exit from RUNLEVEL_SHUTDOWN */
- kern_event_post(&t,(void *)((void *)sys_abort_shutdown),(void *)0);
-
- task_activate(shutdown_task_PID);
-}
-
-TASK __init__(void *arg)
-{
- struct multiboot_info *mb = (struct multiboot_info *)arg;
-
- HARTPORT_init();
-
- set_shutdown_task();
-
- device_drivers_init();
-
- sys_atrunlevel(call_shutdown_task, NULL, RUNLEVEL_SHUTDOWN);
-
- __call_main__(mb);
-
- return (void *)0;
-}
-
-int main() {
-
- return start_environment();
-
-}
-
Index: rel_1_5_beta1/loader/generators/lread.c
===================================================================
--- rel_1_5_beta1/loader/generators/lread.c (revision 1557)
+++ rel_1_5_beta1/loader/generators/lread.c (nonexistent)
@@ -1,95 +0,0 @@
-#include <stdio.h>
-#include <stdlib.h>
-#include "lparser.h"
-#include "common/time.h"
-
-int dos_preload(char *file_name, long max_size, void **start_file, void **end_file)
-{
- FILE *file;
- void *buf;
- long rd;
-
-
- file = fopen(file_name,"r");
- if (file == NULL) return -1;
-
- buf = malloc(max_size);
- *start_file = buf;
-
- while(((rd = fread(buf, 1, 2048, file)) == 2048) &&
- ((buf - *start_file + rd) < (max_size-2048))) {
- buf += rd;
- }
-
- *end_file = buf + rd;
-
- fclose(file);
- return(0);
-
-}
-
-int line_reader(void *start_file, void *end_file, struct timespec *total,
- struct loader_task **start_loader_task, struct loader_contract **start_loader_contract)
-{
-
- char *pbuf = start_file;
- int res,line_num,total_loader_task,total_loader_contract;
- struct loader_task *current_t = NULL;
- struct loader_contract *current_c = NULL;
-
- NULL_TIMESPEC(total);
-
- line_num = 0;
- total_loader_task = 0;
- total_loader_contract = 0;
-
- while ((void *)(pbuf) < end_file) {
-
- line_num++;
-
- if (*start_loader_contract == NULL)
- res = line_parser_contract(&pbuf, line_num, total, &current_c);
- else
- res = line_parser_contract(&pbuf, line_num, total, &current_c->next);
-
- if (res == 2) {
- total_loader_contract++;
- if (*start_loader_contract == NULL)
- *start_loader_contract = current_c;
- else
- current_c = current_c->next;
- }
-
- if (res == 3) break;
-
- }
-
- while ((void *)(pbuf) < end_file) {
-
- line_num++;
-
- if (*start_loader_task == NULL)
- res = line_parser_task(&pbuf, line_num, &current_t);
- else
- res = line_parser_task(&pbuf, line_num, &current_t->next);
-
- if (res == 2) {
- total_loader_task++;
- if (*start_loader_task == NULL)
- *start_loader_task = current_t;
- else
- current_t = current_t->next;
- }
-
- if (res == 3) break;
-
- }
-
- printf("Total decoded lines %d\n",line_num);
- printf("Total loader contract %d\n",total_loader_contract);
- printf("Total loader task %d\n",total_loader_task);
- printf("Simulation time sec = %ld usec = %ld\n",total->tv_sec,total->tv_nsec/1000);
-
- return 0;
-
-}
Index: rel_1_5_beta1/loader/generators/lparser.c
===================================================================
--- rel_1_5_beta1/loader/generators/lparser.c (revision 1557)
+++ rel_1_5_beta1/loader/generators/lparser.c (nonexistent)
@@ -1,486 +0,0 @@
-#include <stdlib.h>
-#include <string.h>
-#include <stdio.h>
-#include "lparser.h"
-#include "common/time.h"
-
-#define PARSER_DEBUG
-
-static int find_break(char **buf, int find_type, struct timespec *time, int *val)
-{
-
- int i;
- char str[20];
-
- i = 0;
- while (((char *)(*buf))[i] == ' ' || ((char *)(*buf))[i] == ':' ||
- ((char *)(*buf))[i] == '\n' || ((char *)(*buf))[i] == '\r') i++;
- *buf += i;
-
- if (!strncmp(*buf,"END",3) && find_type == PAR_NOTHING) {
- *buf += 3;
- return PAR_END;
- }
-
- if (!strncmp(*buf,"CONTRACT SECTION",16) && find_type == PAR_NOTHING) {
- *buf += 16;
- return PAR_CONTRACT_SECTION;
- }
-
- if (!strncmp(*buf,"TASK SECTION",12) && find_type == PAR_NOTHING) {
- *buf += 12;
- return PAR_TASK_SECTION;
- }
-
- i = 0;
- if (((char *)(*buf))[0] == '#' && find_type == PAR_NOTHING) {
- while (((char *)(*buf))[i] != '\n' && ((char *)(*buf))[i] != '\r') i++;
- *buf += i;
- return PAR_FOUND;
- }
-
- switch (find_type) {
-
- case PAR_NOTHING:
- if (((char *)(*buf))[0] == ';' ||
- ((char *)(*buf))[0] < 32) {
- *buf += 1;
- return PAR_FOUND;
- }
- break;
-
- case PAR_TOTAL_EXEC_TIME:
- if (!strncmp(*buf, "TOTAL_EXEC_TIME:",16)) {
- *buf += 16;
- return PAR_FOUND;
- }
- break;
-
- case PAR_TIME:
- if (((char *)(*buf))[0] != '[') return PAR_ERROR;
- *buf += 1;
- i = 0;
- while (((char *)(*buf))[i] >= '0' && ((char *)(*buf))[i] <= '9') {
- str[i] = ((char *)(*buf))[i];
- i++;
- }
- if (((char *)(*buf))[i] != ']') return PAR_ERROR;
- str[i] = 0;
- time->tv_sec = atoi(str);
- i += 2;
- *buf += i;
- i = 0;
- while (((char *)(*buf))[i] >= '0' && ((char *)(*buf))[i] <= '9') {
- str[i] = ((char *)(*buf))[i];
- i++;
- }
- if (((char *)(*buf))[i] != ']') return PAR_ERROR;
- str[i] = 0;
- time->tv_nsec = atoi(str) * 1000;
- i += 2;
- *buf += i;
- return PAR_FOUND;
- break;
-
- case PAR_TASK_TYPE:
- if (!strncmp(*buf, "OS:",3)) {
- *val = PAR_TASK_OS;
- *buf += 3;
- return PAR_FOUND;
- }
- if (!strncmp(*buf, "CT:",3)) {
- *val = PAR_TASK_CT;
- *buf += 3;
- return PAR_FOUND;
- }
- if (!strncmp(*buf, "BT:",3)) {
- *val = PAR_TASK_BT;
- *buf += 3;
- return PAR_FOUND;
- }
- break;
-
- case PAR_TASK_NUMBER:
- if (((char *)(*buf))[0] != '[') return PAR_ERROR;
- *buf += 1;
- i = 0;
- while (((char *)(*buf))[i] >= '0' && ((char *)(*buf))[i] <= '9') {
- str[i] = ((char *)(*buf))[i];
- i++;
- }
- if (((char *)(*buf))[i] != ']') return PAR_ERROR;
- str[i] = 0;
- *val = atoi(str);
- i += 2;
- *buf += i;
- return PAR_FOUND;
- break;
-
- case PAR_ACT_TYPE:
- if (!strncmp(*buf,"ACT_SINGLE(",11)) {
- *buf += 11;
- *val = PAR_ACT_SINGLE;
- return PAR_FOUND;
- }
- if (!strncmp(*buf,"ACT_PERIODIC(",13)) {
- *buf += 13;
- *val = PAR_ACT_PERIODIC;
- return PAR_FOUND;
- }
- if (!strncmp(*buf,"ACT_MEAN(",9)) {
- *buf += 9;
- *val = PAR_ACT_MEAN;
- return PAR_FOUND;
- }
- return PAR_ERROR;
- break;
-
- case PAR_LOCAL_SCHEDULER:
- if (!strncmp(*buf,"POSIX",5)) {
- *buf += 5;
- *val = PAR_POSIX;
- return PAR_FOUND;
- }
- if (!strncmp(*buf,"EDF",3)) {
- *buf += 3;
- *val = PAR_EDF;
- return PAR_FOUND;
- }
- if (!strncmp(*buf,"RM",2)) {
- *buf += 2;
- *val = PAR_RM;
- return PAR_FOUND;
- }
-
- if (!strncmp(*buf,"NONE",2)) {
- *buf += 4;
- *val = PAR_NONE;
- return PAR_FOUND;
- }
-
- return PAR_ERROR;
- break;
-
- case PAR_EXEC_TYPE:
- if (!strncmp(*buf,"EXEC_CONST(",11)) {
- *buf += 11;
- *val = PAR_EXEC_CONST;
- return PAR_FOUND;
- }
- if (!strncmp(*buf,"EXEC_MEAN(",10)) {
- *buf += 10;
- *val = PAR_EXEC_MEAN;
- return PAR_FOUND;
- }
- return PAR_ERROR;
- break;
-
- case PAR_CRIT_SESSION:
- if (!strncmp(*buf,"NO_CRIT",7)) {
- *buf += 7;
- *val = PAR_NO_CRIT;
- return PAR_FOUND;
- }
- if (!strncmp(*buf,"CRIT(",5)) {
- *buf += 5;
- *val = PAR_CRIT;
- return PAR_FOUND;
- }
- return PAR_ERROR;
- break;
-
- }
-
- return PAR_ERROR;
-
-}
-
-void par_error(int line_num)
-{
-
- printf("\nParser error: line [%d]\n",line_num);
- exit(1);
-
-}
-
-/* result:
- * 0 -> nothing
- * 1 -> total
- * 2 -> new task-loader
- * 3 -> end file
- */
-int line_parser_task(char **pbuf, int line_num, struct loader_task **last)
-{
- struct timespec time;
- struct loader_task *ld = NULL;
- int val, res;
-
- res = find_break(pbuf, PAR_NOTHING, &time, &val);
- if (res == PAR_FOUND) return 0;
- if (res == PAR_END) return 3;
-
- res = find_break(pbuf,PAR_TASK_TYPE, &time, &val);
- if (res == PAR_FOUND) {
- #ifdef PARSER_DEBUG
- printf("TASK TYPE = %d\n",val);
- #endif
-
- ld = malloc(sizeof(struct loader_task));
- if (ld == NULL) par_error(line_num);
-
- ld->next = NULL;
- *last = ld;
-
- ld->task_type = val;
-
- } else par_error(line_num);
-
- res = find_break(pbuf,PAR_TASK_NUMBER, &time, &val);
- if (res == PAR_FOUND) {
- #ifdef PARSER_DEBUG
- printf("TASK SERVER = %d\n",val);
- #endif
-
- ld->server = val;
- } else par_error(line_num);
-
- res = find_break(pbuf,PAR_LOCAL_SCHEDULER, &time, &val);
- if (res == PAR_FOUND) {
- #ifdef PARSER_DEBUG
- printf("TASK LOCAL SCHEDULER = %d\n",val);
- #endif
-
- ld->local_scheduler = val;
- } else par_error(line_num);
-
- res = find_break(pbuf,PAR_TASK_NUMBER, &time, &val);
- if (res == PAR_FOUND) {
- #ifdef PARSER_DEBUG
- printf("TASK NUMBER = %d\n",val);
- #endif
-
- ld->number = val;
-
- } else par_error(line_num);
-
- res = find_break(pbuf,PAR_TIME, &time, &val);
- if (res == PAR_FOUND) {
- #ifdef PARSER_DEBUG
- printf("DEADLINE: [%ld][%ld]\n",time.tv_sec,time.tv_nsec/1000);
- #endif
- TIMESPEC_ASSIGN(&ld->deadline,&time);
- } else par_error(line_num);
-
- res = find_break(pbuf,PAR_TIME, &time, &val);
- if (res == PAR_FOUND) {
- #ifdef PARSER_DEBUG
- printf("WCET: [%ld][%ld]\n",time.tv_sec,time.tv_nsec/1000);
- #endif
- TIMESPEC_ASSIGN(&ld->wcet,&time);
- } else par_error(line_num);
-
- res = find_break(pbuf,PAR_ACT_TYPE, &time, &val);
- if (res == PAR_FOUND) {
- #ifdef PARSER_DEBUG
- printf("ACTIVATION TYPE: %d (",val);
- #endif
-
- ld->act_type = val;
-
- res = find_break(pbuf,PAR_TIME, &time, &val);
- if (res == PAR_FOUND) {
- #ifdef PARSER_DEBUG
- printf("[%ld][%ld]",time.tv_sec,time.tv_nsec/1000);
- #endif
- TIMESPEC_ASSIGN(&ld->act_par_1,&time);
- } else par_error(line_num);
-
- if (ld->act_type != PAR_ACT_SINGLE) {
- res = find_break(pbuf,PAR_TIME, &time, &val);
- if (res == PAR_FOUND) {
- #ifdef PARSER_DEBUG
- printf(",[%ld][%ld]",time.tv_sec,time.tv_nsec/1000);
- #endif
- TIMESPEC_ASSIGN(&ld->act_par_2,&time);
- } else par_error(line_num);
- }
-
- if (ld->act_type != PAR_ACT_SINGLE && ld->act_type != PAR_ACT_PERIODIC) {
- res = find_break(pbuf,PAR_TIME, &time, &val);
- if (res == PAR_FOUND) {
- #ifdef PARSER_DEBUG
- printf(",[%ld][%ld]",time.tv_sec,time.tv_nsec/1000);
- #endif
- TIMESPEC_ASSIGN(&ld->act_par_3,&time);
- } else par_error(line_num);
- }
-
- #ifdef PARSER_DEBUG
- printf(")\n");
- #endif
-
- } else par_error(line_num);
-
- res = find_break(pbuf,PAR_EXEC_TYPE, &time, &val);
- if (res == PAR_FOUND) {
- #ifdef PARSER_DEBUG
- printf("EXEC TYPE: %d (",val);
- #endif
- ld->exec_type = val;
- res = find_break(pbuf,PAR_TIME, &time, &val);
- if (res == PAR_FOUND) {
- #ifdef PARSER_DEBUG
- printf("[%ld][%ld]",time.tv_sec,time.tv_nsec/1000);
- #endif
- TIMESPEC_ASSIGN(&ld->exec_par_1,&time);
- } else par_error(line_num);
-
- if (ld->exec_type != PAR_EXEC_CONST) {
- res = find_break(pbuf,PAR_TIME, &time, &val);
- if (res == PAR_FOUND) {
- #ifdef PARSER_DEBUG
- printf(",[%ld][%ld]",time.tv_sec,time.tv_nsec/1000);
- #endif
- TIMESPEC_ASSIGN(&ld->exec_par_2,&time);
- } else par_error(line_num);
- }
-
- #ifdef PARSER_DEBUG
- printf(")\n");
- #endif
-
- } else par_error(line_num);
-
- res = find_break(pbuf,PAR_CRIT_SESSION, &time, &val);
- if (res == PAR_FOUND) {
- #ifdef PARSER_DEBUG
- printf("CRITITCAL SESSION: %d (",val);
- #endif
- ld->crit_type = val;
- if (ld->crit_type == PAR_CRIT) {
- res = find_break(pbuf,PAR_TASK_NUMBER, &time, &val);
- if (res == PAR_FOUND) {
- #ifdef PARSER_DEBUG
- printf("[%d]",val);
- #endif
- ld->resource = val;
- } else par_error(line_num);
- res = find_break(pbuf,PAR_TIME, &time, &val);
- if (res == PAR_FOUND) {
- #ifdef PARSER_DEBUG
- printf(",[%ld][%ld]",time.tv_sec,time.tv_nsec/1000);
- #endif
- TIMESPEC_ASSIGN(&ld->crit_par,&time);
- } else par_error(line_num);
- }
-
- #ifdef PARSER_DEBUG
- printf(")\n");
- #endif
-
- } else par_error(line_num);
-
- return 2;
-
-}
-
-int line_parser_contract(char **pbuf, int line_num, struct timespec *total, struct loader_contract **last)
-{
-
- struct timespec time;
- struct loader_contract *lc = NULL;
- int val, res;
-
- res = find_break(pbuf, PAR_NOTHING, &time, &val);
- if (res == PAR_FOUND) return 0;
- if (res == PAR_END) return 3;
-
- res = find_break(pbuf,PAR_TOTAL_EXEC_TIME, &time, &val);
- if (res == PAR_FOUND) {
- NULL_TIMESPEC(total);
- res = find_break(pbuf, PAR_TIME, &time, &val);
- if (res == PAR_FOUND) {
- TIMESPEC_ASSIGN(total,&time);
- #ifdef PARSER_DEBUG
- printf("TOTAL EXEC TIME SEC = %ld NSEC = %ld\n",total->tv_sec,total->tv_nsec);
- #endif
- return 1;
- } else par_error(line_num);
- }
-
- res = find_break(pbuf,PAR_TASK_NUMBER, &time, &val);
- if (res == PAR_FOUND) {
- #ifdef PARSER_DEBUG
- printf("CONTRACT [%d]",val);
- #endif
-
- lc = malloc(sizeof(struct loader_contract));
- if (lc == NULL) par_error(line_num);
-
- lc->next = NULL;
- *last = lc;
-
- lc->number = val;
- } else par_error(line_num);
-
- res = find_break(pbuf,PAR_TIME, &time, &val);
- if (res == PAR_FOUND) {
- #ifdef PARSER_DEBUG
- printf(",[%ld][%ld]",time.tv_sec,time.tv_nsec/1000);
- #endif
- TIMESPEC_ASSIGN(&lc->cmin,&time);
- } else par_error(line_num);
-
- res = find_break(pbuf,PAR_TIME, &time, &val);
- if (res == PAR_FOUND) {
- #ifdef PARSER_DEBUG
- printf(",[%ld][%ld]",time.tv_sec,time.tv_nsec/1000);
- #endif
- TIMESPEC_ASSIGN(&lc->tmax,&time);
- } else par_error(line_num);
-
- res = find_break(pbuf,PAR_TIME, &time, &val);
- if (res == PAR_FOUND) {
- #ifdef PARSER_DEBUG
- printf(",[%ld][%ld]",time.tv_sec,time.tv_nsec/1000);
- #endif
- TIMESPEC_ASSIGN(&lc->cmax,&time);
- } else par_error(line_num);
-
- res = find_break(pbuf,PAR_TIME, &time, &val);
- if (res == PAR_FOUND) {
- #ifdef PARSER_DEBUG
- printf(",[%ld][%ld],",time.tv_sec,time.tv_nsec/1000);
- #endif
- TIMESPEC_ASSIGN(&lc->tmin,&time);
- } else par_error(line_num);
-
- res = find_break(pbuf,PAR_TASK_NUMBER, &time, &val);
- if (res == PAR_FOUND) {
- #ifdef PARSER_DEBUG
- printf(",[%d]\n",val);
- #endif
-
- lc->workload = val;
- } else par_error(line_num);
-
- res = find_break(pbuf,PAR_TIME, &time, &val);
- if (res == PAR_FOUND) {
- #ifdef PARSER_DEBUG
- printf(",[%ld][%ld],",time.tv_sec,time.tv_nsec/1000);
- #endif
- TIMESPEC_ASSIGN(&lc->deadline,&time);
- } else par_error(line_num);
-
- res = find_break(pbuf,PAR_LOCAL_SCHEDULER, &time, &val);
- if (res == PAR_FOUND) {
- #ifdef PARSER_DEBUG
- printf("LOCAL SCHEDULER = %d\n",val);
- #endif
-
- lc->local_scheduler = val;
- } else par_error(line_num);
-
- return 2;
-
-}
Index: rel_1_5_beta1/loader/generators/event_gen.c
===================================================================
--- rel_1_5_beta1/loader/generators/event_gen.c (revision 1557)
+++ rel_1_5_beta1/loader/generators/event_gen.c (nonexistent)
@@ -1,474 +0,0 @@
-/* Event Generator
- *
- * Giacomo Guidi
- */
-
-#include <stdio.h>
-#include <stdlib.h>
-
-#include "lparser.h"
-#include "lread.h"
-#include "time.h"
-#include "common/time.h"
-
-#define LOADFILE_DIR "../loadfile/"
-
-#define EVENT_DEFINE "event.c"
-#define ACT_LIST "event.c"
-
-int write_struct(void)
-{
-
- FILE *file_event_header;
-
- file_event_header = fopen(EVENT_DEFINE,"w");
- if (file_event_header == NULL) return 1;
-
- fprintf(file_event_header, "\n#include \"func.h\"\n");
-
- fclose(file_event_header);
-
- return 0;
-
-}
-
-int write_basic_par_start(void)
-{
-
- FILE *file_event_header;
-
- file_event_header = fopen(EVENT_DEFINE,"a+");
- if (file_event_header == NULL) return 1;
-
- fprintf(file_event_header, "struct loader_task loader_task_list[] = {\n");
-
- fclose(file_event_header);
-
- return 0;
-
-}
-
-int write_contract_start(void)
-{
-
- FILE *file_event_header;
-
- file_event_header = fopen(EVENT_DEFINE,"a+");
- if (file_event_header == NULL) return 1;
-
- fprintf(file_event_header, "struct loader_contract loader_contract_list[] = {\n");
-
- fclose(file_event_header);
-
- return 0;
-
-}
-
-int write_basic_par(struct loader_task *c)
-{
-
- FILE *file_event_header;
- int muxpres;
- char muxtemp[30];
-
- file_event_header = fopen(EVENT_DEFINE,"a+");
- if (file_event_header == NULL) return 1;
-
- if (c->crit_type == PAR_CRIT) {
- muxpres = 1;
- sprintf(muxtemp,"block_%s",c->name);
- } else {
- muxpres = 0;
- sprintf(muxtemp,"NULL");
- }
-
- fprintf(file_event_header, " {\"%s\",%d,%d,%d,%d,%d,{%d,%d},{%d,%d},%d,0,%d,%d,act_%s,exec_%s,%s},\n",
- c->name,(int)c->task_type,(int)c->server,(int)c->local_scheduler,(int)c->number,(int)c->group,
- (int)c->deadline.tv_sec, (int)c->deadline.tv_nsec,
- (int)c->wcet.tv_sec, (int)c->wcet.tv_nsec,
- (int)c->act_number, (int)c->resource, muxpres, c->name, c->name, muxtemp);
-
- fclose(file_event_header);
-
- return 0;
-
-}
-
-int write_contract(struct loader_contract *c)
-{
-
- FILE *file_event_header;
-
- file_event_header = fopen(EVENT_DEFINE,"a+");
- if (file_event_header == NULL) return 1;
-
- fprintf(file_event_header, " {%d,{%d,%d},{%d,%d},{%d,%d},{%d,%d},%d,{%d,%d},%d,-1},\n",
- (int)c->number,(int)c->cmin.tv_sec,(int)c->cmin.tv_nsec,
- (int)c->tmax.tv_sec,(int)c->tmax.tv_nsec,
- (int)c->cmax.tv_sec,(int)c->cmax.tv_nsec,
- (int)c->tmin.tv_sec,(int)c->tmin.tv_nsec,
- (int)c->workload,
- (int)c->deadline.tv_sec,(int)c->deadline.tv_nsec,
- (int)c->local_scheduler);
-
- fclose(file_event_header);
-
- return 0;
-
-}
-
-int close_loader_task(int total_task_number)
-{
-
- FILE *file_event_header;
-
- file_event_header = fopen(EVENT_DEFINE,"a+");
- if (file_event_header == NULL) return 1;
-
- fprintf(file_event_header,"};\n\n");
-
- fprintf(file_event_header,"int total_loader_task = %d;\n\n",total_task_number);
-
- fclose(file_event_header);
-
- return 0;
-
-}
-
-int close_loader_contract(int total_contract_number)
-{
-
- FILE *file_event_header;
-
- file_event_header = fopen(EVENT_DEFINE,"a+");
- if (file_event_header == NULL) return 1;
-
- fprintf(file_event_header,"};\n\n");
-
- fprintf(file_event_header,"int total_loader_contract = %d;\n\n",total_contract_number);
-
- fclose(file_event_header);
-
- return 0;
-
-}
-
-int write_simulation_time(struct timespec *total)
-{
-
- FILE *file_event_header;
-
- file_event_header = fopen(EVENT_DEFINE,"a+");
- if (file_event_header == NULL) return 1;
-
- fprintf(file_event_header,"struct timespec total_time = {%d,%d};\n\n",(int)total->tv_sec,(int)total->tv_nsec);
-
- fclose(file_event_header);
-
- return 0;
-
-
-}
-
-int write_single_act(struct timespec *t, struct loader_task *c)
-{
-
- FILE *file_act_header;
-
- file_act_header = fopen(ACT_LIST,"a+");
- if (file_act_header == NULL) return 1;
-
- if (TIMESPEC_A_GT_B(t,&c->act_par_1)) {
- fprintf(file_act_header,"struct timespec act_%s[] = {{%d,%d}};\n\n",c->name,
- (int)c->act_par_1.tv_sec,(int)c->act_par_1.tv_nsec);
- c->act_number = 1;
- } else {
- fprintf(file_act_header,"struct timespec act_%s[] = {{0,0}};\n\n",c->name);
- c->act_number = 0;
- }
-
- fclose(file_act_header);
-
- return 0;
-
-}
-
-int write_periodic_act(struct timespec *t, struct loader_task *c)
-{
-
- FILE *file_act_header;
- struct timespec tot_time;
- int period;
-
- file_act_header = fopen(ACT_LIST,"a+");
- if (file_act_header == NULL) return 1;
-
- fprintf(file_act_header,"struct timespec act_%s[] = {{%d,%d},\n",c->name,
- (int)c->act_par_1.tv_sec,(int)c->act_par_1.tv_nsec);
-
- c->act_number = 1;
- TIMESPEC_ASSIGN(&tot_time,&c->act_par_1);
- period = TIMESPEC2USEC(&c->act_par_2);
- while (TIMESPEC_A_GT_B(t, &tot_time)) {
- c->act_number++;
- ADDUSEC2TIMESPEC(period,&tot_time);
- fprintf(file_act_header," {%d,%d},\n",
- (int)c->act_par_2.tv_sec,(int)c->act_par_2.tv_nsec);
- }
-
- fprintf(file_act_header," };\n\n");
-
- fclose(file_act_header);
-
- return 0;
-
-}
-
-int write_mean_act(struct timespec *t,struct loader_task *c)
-{
-
- FILE *file_act_header;
- struct timespec tot_time;
- int next_act;
-
- file_act_header = fopen(ACT_LIST,"a+");
- if (file_act_header == NULL) return 1;
-
- fprintf(file_act_header,"struct timespec act_%s[] = {{%d,%d},\n",c->name,
- (int)c->act_par_1.tv_sec,(int)c->act_par_1.tv_nsec);
-
- c->act_number = 1;
- TIMESPEC_ASSIGN(&tot_time,&c->act_par_1);
- while (TIMESPEC_A_GT_B(t, &tot_time)) {
- c->act_number++;
- next_act = TIMESPEC2USEC(&c->act_par_2) + random() % TIMESPEC2USEC(&c->act_par_3) - TIMESPEC2USEC(&c->act_par_3) / 2;
- ADDUSEC2TIMESPEC(next_act,&tot_time);
- fprintf(file_act_header," {%d,%d},\n",
- next_act / 1000000, next_act % 1000000 * 1000);
- }
-
- fprintf(file_act_header," };\n\n");
-
- fclose(file_act_header);
-
- return 0;
-
-}
-
-int write_block_const(struct loader_task *c)
-{
-
- FILE *file_block_header;
- int i;
-
- file_block_header = fopen(ACT_LIST,"a+");
- if (file_block_header == NULL) return 1;
-
- fprintf(file_block_header,"struct timespec block_%s[] = {{%d,%d},\n",c->name,
- (int)c->crit_par.tv_sec,(int)c->crit_par.tv_nsec);
-
- for (i=0; i< c->act_number-1; i++)
- fprintf(file_block_header," {%d,%d},\n",
- (int)c->crit_par.tv_sec,(int)c->crit_par.tv_nsec);
-
- fprintf(file_block_header," };\n\n");
-
- fclose(file_block_header);
-
- return 0;
-
-}
-
-int write_exec_const(struct loader_task *c)
-{
-
- FILE *file_exec_header;
- int i;
-
- file_exec_header = fopen(ACT_LIST,"a+");
- if (file_exec_header == NULL) return 1;
-
- fprintf(file_exec_header,"struct timespec exec_%s[] = {{%d,%d},\n",c->name,
- (int)c->exec_par_1.tv_sec,(int)c->exec_par_1.tv_nsec);
-
- for (i=0; i< c->act_number-1; i++)
- fprintf(file_exec_header," {%d,%d},\n",
- (int)c->exec_par_1.tv_sec,(int)c->exec_par_1.tv_nsec);
-
- fprintf(file_exec_header," };\n\n");
-
- fclose(file_exec_header);
-
- return 0;
-
-}
-
-int write_exec_mean(struct loader_task *c)
-{
-
- FILE *file_exec_header;
- int exec_time_usec;
- int i;
-
- file_exec_header = fopen(ACT_LIST,"a+");
- if (file_exec_header == NULL) return 1;
-
- exec_time_usec = TIMESPEC2USEC(&c->exec_par_1)
- + random() % TIMESPEC2USEC(&c->exec_par_2) - TIMESPEC2USEC(&c->exec_par_2) / 2;
- fprintf(file_exec_header,"struct timespec exec_%s[] = {{%d,%d},\n",c->name,
- exec_time_usec / 1000000, exec_time_usec % 1000000 * 1000);
-
- for (i=0; i< c->act_number-1; i++) {
- exec_time_usec = TIMESPEC2USEC(&c->exec_par_1)
- + random() % TIMESPEC2USEC(&c->exec_par_2) - TIMESPEC2USEC(&c->exec_par_2) / 2;
- fprintf(file_exec_header," {%d,%d},\n",
- exec_time_usec / 1000000, exec_time_usec % 1000000 * 1000);
- }
-
- fprintf(file_exec_header," };\n\n");
-
- fclose(file_exec_header);
-
- return 0;
-
-}
-
-void *start;
-void *end;
-
-int main(int argc, char **argv) {
-
- char loadfile[100];
- struct timespec total_time;
- struct loader_task *start_loader_task = NULL, *current_t;
- struct loader_contract *start_loader_contract = NULL, *current_c;
- int err,ldnum;
- int total_task_number;
- int total_contract_number;
-
- printf("\nEvent Generator\n");
-
- if (argc < 2) {
- printf("Error: event_gen loadfile.fsf\n");
- exit(1);
- }
-
- printf("Read loader file %s\n",argv[1]);
-
- sprintf(loadfile,"%s%s",LOADFILE_DIR,argv[1]);
- err = dos_preload(loadfile,100000,&start,&end);
-
- if (err != 0) {
- printf("Error: File not found\n");
- exit(1);
- }
-
- printf("Parsing file\n");
-
- line_reader(start, end, &total_time, &start_loader_task, &start_loader_contract);
-
- srandom(time(NULL));
-
- write_struct();
-
- current_t = start_loader_task;
- ldnum = 1;
-
- while(current_t != NULL) {
-
- sprintf(current_t->name,"ltask%d",ldnum);
- current_t->group = ldnum;
- ldnum++;
-
- switch (current_t->act_type) {
- case PAR_ACT_SINGLE:
- err = write_single_act(&total_time,current_t);
- if (err != 0) {
- printf("Error writing activation header\n");
- exit(1);
- }
- break;
- case PAR_ACT_PERIODIC:
- err = write_periodic_act(&total_time,current_t);
- if (err != 0) {
- printf("Error writing activation header\n");
- exit(1);
- }
- break;
- case PAR_ACT_MEAN:
- err = write_mean_act(&total_time,current_t);
- if (err != 0) {
- printf("Error writing activation header\n");
- exit(1);
- }
- break;
- }
-
- switch (current_t->exec_type) {
- case PAR_EXEC_CONST:
- err = write_exec_const(current_t);
- if (err != 0) {
- printf("Error writing exec header\n");
- exit(1);
- }
- break;
- case PAR_EXEC_MEAN:
- err = write_exec_mean(current_t);
- if (err != 0) {
- printf("Error writing exec header\n");
- exit(1);
- }
- break;
- }
-
- switch (current_t->crit_type) {
- case PAR_CRIT:
- err = write_block_const(current_t);
- if (err != 0) {
- printf("Error writing block header\n");
- exit(1);
- }
- break;
- }
-
- current_t = current_t->next;
-
- }
-
- write_basic_par_start();
-
- total_task_number = 0;
- current_t = start_loader_task;
- while(current_t != NULL) {
-
- write_basic_par(current_t);
-
- current_t = current_t->next;
-
- total_task_number++;
-
- }
-
- close_loader_task(total_task_number);
-
- write_contract_start();
-
- total_contract_number = 0;
- current_c = start_loader_contract;
- while(current_c != NULL) {
-
- write_contract(current_c);
-
- current_c = current_c->next;
-
- total_contract_number++;
-
- }
-
- close_loader_contract(total_contract_number);
-
- write_simulation_time(&total_time);
-
- return 0;
-
-}
Index: rel_1_5_beta1/loader/generators/lread.h
===================================================================
--- rel_1_5_beta1/loader/generators/lread.h (revision 1557)
+++ rel_1_5_beta1/loader/generators/lread.h (nonexistent)
@@ -1,11 +0,0 @@
-#ifndef __LREAD_H__
-#define __LREAD_H__
-
-#include "lparser.h"
-
-int dos_preload(char *file_name, long max_size, void **start, void **end);
-
-int line_reader(void *start, void *end, struct timespec *total,
- struct loader_task **start_loader_task, struct loader_contract **start_loader_contract);
-
-#endif
Index: rel_1_5_beta1/loader/generators/makefile
===================================================================
--- rel_1_5_beta1/loader/generators/makefile (revision 1557)
+++ rel_1_5_beta1/loader/generators/makefile (nonexistent)
@@ -1,9 +0,0 @@
-event_gen:
- gcc -o lparser.o -c -Wall lparser.c -I. -I..
- gcc -o lread.o -c -Wall lread.c -I. -I..
- gcc -o event_gen -Wall lparser.o lread.o -I. -I.. -lc event_gen.c
-
-clean:
- rm -f *.o
- rm -f event_gen
-
Index: rel_1_5_beta1/loader/generators/lparser.h
===================================================================
--- rel_1_5_beta1/loader/generators/lparser.h (revision 1557)
+++ rel_1_5_beta1/loader/generators/lparser.h (nonexistent)
@@ -1,58 +0,0 @@
-#ifndef __LPARSER_H__
-#define __LPARSER_H__
-
-#include "common/lconst.h"
-
-struct loader_task {
-
- char name[20];
- int number;
- int group;
- int server;
- int local_scheduler;
- int task_type;
-
- int act_type;
- struct timespec act_par_1;
- struct timespec act_par_2;
- struct timespec act_par_3;
- int exec_type;
- struct timespec exec_par_1;
- struct timespec exec_par_2;
-
- struct timespec deadline;
- struct timespec wcet;
-
- int act_number;
- struct timespec *act;
- struct timespec *exec;
-
- int crit_type;
- int resource;
- struct timespec crit_par;
-
- struct loader_task *next;
-
-};
-
-struct loader_contract {
-
- int number;
- struct timespec cmin;
- struct timespec tmax;
- struct timespec cmax;
- struct timespec tmin;
- int workload;
- struct timespec deadline;
- int local_scheduler;
-
- struct loader_contract *next;
-
-};
-
-int line_parser_contract(char **buf, int line_num, struct timespec *total_time, struct loader_contract **last);
-
-int line_parser_task(char **buf, int line_num, struct loader_task **last);
-
-#endif
-
Index: rel_1_5_beta1/loader/generators/java/makefile
===================================================================
--- rel_1_5_beta1/loader/generators/java/makefile (revision 1557)
+++ rel_1_5_beta1/loader/generators/java/makefile (nonexistent)
@@ -1,17 +0,0 @@
-ifdef CLASSPATH
-all:
- javac Application.java timespec.java task_class.java -classpath "$(CLASSPATH)/jdom.jar"
-else
-all:
- @echo ----------------------------------------------------------------
- @echo Please define the CLASSPATH environment variable!!!
- @echo ...something like: export CLASSPATH=/usr/java/j2sdk1.4.2/jre/lib
- @echo ----------------------------------------------------------------
- @exit 1
-endif
-
-
-clean:
- rm -f *.class
- rm -f event.c
-
Index: rel_1_5_beta1/loader/generators/java/Application.java
===================================================================
--- rel_1_5_beta1/loader/generators/java/Application.java (revision 1557)
+++ rel_1_5_beta1/loader/generators/java/Application.java (nonexistent)
@@ -1,856 +0,0 @@
-//package first_filter;
-
-import java.io.*;
-import java.net.*;
-import java.util.List;
-import java.util.ArrayList;
-import java.util.Iterator;
-import org.jdom.*;
-import org.jdom.input.SAXBuilder;
-import org.jdom.output.XMLOutputter;
-import java.util.regex.*;
-import java.util.Random;
-
-/**
- * <p>Title: First XML filter</p>
- * <p>Description: </p>
- * <p>Copyright: Copyright (c) 2003</p>
- * <p>Company: Retis Lab</p>
- * @author not attributable
- * @version 1.0
- */
-
-public class Application {
- private int numElements = 0;
- final String LOADFILE_DIR="../loadfile/";
- final String EVENT_DEFINE="event.c";
- final String ACT_LIST="event.c";
- private int servernumber=0;
- private timespec simulation_time=new timespec();
- ArrayList local_scheduler=new ArrayList();
- ArrayList Task_Section=new ArrayList();
- private int task_group=0;
- private int task_server=0;
- private int current_scheduler=0;
-
-
-
- //Construct the frame
- public Application() {
- try {
- jbInit();
- }
- catch(Exception e) {
- e.printStackTrace();
- }
- }
- //Component initialization
- private void jbInit() throws Exception {
- }
-
- public void process (String url) throws MalformedURLException {
- try {
- // Use SAXBuilder
- SAXBuilder builder = new SAXBuilder("org.apache.xerces.parsers.SAXParser", true);
- builder.setFeature("http://apache.org/xml/features/validation/schema", true);
-
-
- Document doc = builder.build(url);
- Element root = doc.getRootElement();
-
- try {
- // Funzione per il salvataggio del file XML
- OutputStream fout = new FileOutputStream(EVENT_DEFINE);
- OutputStream bout = new BufferedOutputStream(fout);
- OutputStreamWriter out = new OutputStreamWriter(bout, "8859_1");
- out.write("\n#include \"func.h\"\n");
-
- processElement (root,out);
- out.flush();
- out.close();
- } catch (UnsupportedEncodingException e) {
- System.out.println("Non sono supportati i caratteri latini");
- System.exit(1);
-
- } catch (IOException e){
- System.out.println("Salvatagio fallito");
- System.exit(1);
- }
-
-
-
- System.out.println ("Total Number of Elements Processed: "
- +numElements);
- } catch (JDOMException e) {
- System.out.println ("JDOM Exception: "+e.getMessage());
- } catch (java.io.IOException e) {
- System.out.println ("File Exception: "+e.getMessage());
-
- }
-}
-
-// Recursive Function to Process Elements
-// Prints the Element Name and keeps a running count
-// out total number of elements.
-private void processElement(Element element, OutputStreamWriter out) {
- numElements++;
- String elementName = element.getName();
-
- System.out.println(elementName);
- List servers = element.getChildren();
- Iterator iterator = servers.iterator();
- /* get simulation parameter */
- Element SimulationInfo = (Element) iterator.next();
-
- Pattern pattern = Pattern.compile("[us\\s]+");
- try {
- /*simulation time */
-
- String[] stime = pattern.split(SimulationInfo.getChild("time").getText());
- out.write("struct timespec total_time={" + stime[0] + "," + stime[1] +
- "};\n\n");
- simulation_time.tv_sec = Long.valueOf(stime[0].trim()).longValue();
- simulation_time.tv_nsec = Long.valueOf(stime[1].trim()).longValue() /
- 1000;
-//float f = Float.valueOf(s.trim()).floatValue();
- /* server section start */
- out.write("struct loader_contract loader_contract_list[] = {\n");
- int total_server=0;
- while (iterator.hasNext()) {
- /* get server */
- Element server = (Element) iterator.next();
- process_server_section(server, out);
- total_server++;
- }
-
- out.write("};\n\n");
-
- out.write("int total_loader_contract="+total_server+";\n\n");
- iterator = local_scheduler.iterator();
- while (iterator.hasNext()) {
- /* get server */
- Element loc_sched = (Element) iterator.next();
- process_scheduler_section(loc_sched, out);
- task_server++;
- }
-
- iterator = Task_Section.iterator();
- int total_task_section=0;
- out.write("\nstruct loader_task loader_task_list[] = {\n");
- while (iterator.hasNext()) {
- /* get server */
- task_class tsk_sec = (task_class) iterator.next();
- out.write(" {\"" + tsk_sec.name + "\"," + tsk_sec.task_type + "," +
- tsk_sec.contract +
- "," + tsk_sec.localscheduler + "," + tsk_sec.number + ","
- + tsk_sec.group + ",{" + tsk_sec.deadline.tv_sec +
- "," +
- tsk_sec.deadline.tv_nsec + "}," + "{" +
- tsk_sec.wcet.tv_sec + "," +
- tsk_sec.wcet.tv_nsec + "}," + tsk_sec.act_number +
- ",0,act_" + tsk_sec.name +
- ",exec_" + tsk_sec.name + "},\n");
- total_task_section++;
- }
- out.write("};\n\n");
- out.write("int total_loader_task="+total_task_section+";\n\n");
-
-
- }
- catch (java.io.IOException e) {
- System.out.println("File Exception: " + e.getMessage());
-
- }
-
-}
-
-void process_scheduler_section(Element e, OutputStreamWriter out) {
- Attribute t;
- t=e.getAttribute("type");
-
- List localpars = e.getChildren();
- Iterator iterator = localpars.iterator();
- while (iterator.hasNext()) {
- /* get task section */
- Element loc_task = (Element) iterator.next();
- process_task_section(loc_task, out, t);
-
- }
-
-}
-
-void process_task_section(Element e, OutputStreamWriter out, Attribute loc) {
- Attribute t;
- int act;
- act=1;
- int task_type=0;
- int localscheduler=0;
- timespec time = new timespec();
- Pattern pattern = Pattern.compile("[us\\s]+");
- String scheduler=loc.getValue();
- if (scheduler.equals("POSIX")) {
- localscheduler=30;
- }
- else if (scheduler.equals("EDF")) {
- localscheduler=31;
- }
- else if (scheduler.equals("RM")) {
- localscheduler=32;
- }
-
- /* get task section */
- t=e.getAttribute("type");
-
- if (t.getValue().equals("BackTask")) {
- process_back_task(e, out);
- task_type=23;
- } else if (t.getValue().equals("OneShot")) {
- process_oneshot_task(e, out);
- task_type=21;
- } else if (t.getValue().equals("CyclicalTask")) {
- task_type=22;
- act=process_cyclical_task(e, out);
- }
-
- task_class section=new task_class();
- section.deadline=new timespec();
- section.wcet=new timespec();
- section.name="task"+task_group;
- section.contract=task_server;
- section.group=task_group;
- section.act_number=act;
- section.task_type=task_type;
- section.localscheduler=localscheduler;
- section.number=Integer.valueOf(e.getChild("number").getText()).intValue();
-
- Element dl = e.getChild("dline");
- if (dl != null) {
-
- String[] dline=pattern.split(dl.getText());
- time.tv_sec = Long.valueOf(dline[0]).longValue();
- time.tv_nsec = Long.valueOf(dline[1]).longValue() * 1000;
-
- section.deadline.tv_sec=time.tv_sec;
- section.deadline.tv_nsec=time.tv_nsec;
-
- }
-
-
- Element wc = e.getChild("wcet");
- if (wc != null) {
-
- String[] wcet=pattern.split(e.getChild("wcet").getText());
- time.tv_sec = Long.valueOf(wcet[0]).longValue();
- time.tv_nsec = Long.valueOf(wcet[1]).longValue() * 1000;
-
- section.wcet.tv_sec=time.tv_sec;
- section.wcet.tv_nsec=time.tv_nsec;
-
- }
-
- Task_Section.add(section);
- task_group++;
-
-}
-
-void process_back_task(Element e, OutputStreamWriter out) {
-
- Pattern pattern = Pattern.compile("[us\\s]+");
-
- Element act_section=e.getChild("act_section");
- String[] start_time=pattern.split(act_section.getChild("start_time").getText());
- Element exec_section=e.getChild("exec_section");
-
- String[] exec_const=pattern.split(exec_section.getChild("exec_time").getText());
- try {
- out.write("struct timespec act_task"+task_group+"[]={{"+start_time[0]+","+start_time[1]+"},};\n\n");
- out.write("struct timespec exec_task"+task_group+"[]={{"+exec_const[0]+","+exec_const[1]+"},};\n\n");
-
- }
- catch (java.io.IOException ex) {
- System.out.println("File Exception: " + ex.getMessage());
-
- }
-}
-void process_oneshot_task(Element e, OutputStreamWriter out) {
- Pattern pattern = Pattern.compile("[us\\s]+");
-
- Element act_section=e.getChild("act_section");
- String[] start_time=pattern.split(act_section.getChild("start_time").getText());
-
- Element exec_section=e.getChild("exec_section");
- String[] exec_const=pattern.split(exec_section.getChild("exec_time").getText());
-
- try {
- out.write("struct timespec act_task"+task_group+"[]={{"+start_time[0]+","+start_time[1]+"},};\n\n");
- out.write("struct timespec exec_task"+task_group+"[]={{"+exec_const[0]+","+exec_const[1]+"},};\n\n");
- }
- catch (java.io.IOException ex) {
- System.out.println("File Exception: " + ex.getMessage());
- }
-}
-
-int process_cyclical_task(Element e, OutputStreamWriter out) {
-
- int activated=1;
- Pattern pattern = Pattern.compile("[us\\s]+");
- Element act_section=e.getChild("act_section");
- String[] start_time=pattern.split(act_section.getChild("start_time").getText());
- String[] period=pattern.split(act_section.getChild("period_time").getText());
- Element deltatime=act_section.getChild("delta_time");
- String[] delta_time;
-
- long act_delta=0;
- timespec delta_act_ts = new timespec();
-
- if (deltatime != null) {
- delta_time = pattern.split(deltatime.getText());
- delta_act_ts.tv_sec = Long.valueOf(delta_time[0]).longValue();
- delta_act_ts.tv_nsec = Long.valueOf(delta_time[1]).longValue() * 1000;
- act_delta = delta_act_ts.TIMESPEC2USEC();
- }
-
- Element exec_section=e.getChild("exec_section");
- String[] exec_const=pattern.split(exec_section.getChild("exec_time").getText());
- Element execdelta=exec_section.getChild("delta_time");
- String[] exec_delta;
-
- long exec_delta_long = 0;
- timespec exec_delta_ts = new timespec();
-
- if (execdelta != null) {
- exec_delta=pattern.split(execdelta.getText());
- exec_delta_ts.tv_sec = Long.valueOf(exec_delta[0]).longValue();
- exec_delta_ts.tv_nsec = Long.valueOf(exec_delta[1]).longValue() * 1000;
- exec_delta_long = exec_delta_ts.TIMESPEC2USEC();
- }
-
- try {
- out.write("struct timespec act_task"+task_group+"[]={{"+
- start_time[0]+","+start_time[1]+"},\n");
-
- timespec time = new timespec();
- time.tv_sec = Long.valueOf(period[0]).longValue();
- time.tv_nsec = Long.valueOf(period[1]).longValue() * 1000;
-
- long usecperiod = time.TIMESPEC2USEC();
- timespec nextact = new timespec();
-
- time.tv_sec = Long.valueOf(start_time[0]).longValue();
- time.tv_nsec = Long.valueOf(start_time[1]).longValue() * 1000;
-
- Random rd = new Random();
-
- while (simulation_time.TIMESPEC_A_GT_B(time)) {
-
- nextact.tv_sec = Long.valueOf(period[0]).longValue();
- nextact.tv_nsec = Long.valueOf(period[1]).longValue() * 1000;
-
- if (act_delta != 0) {
- nextact.ADDUSEC2TIMESPEC((rd.nextInt() & Integer.MAX_VALUE) % act_delta - act_delta/2);
- }
-
- time.ADDUSEC2TIMESPEC(usecperiod);
- out.write(" {"+nextact.tv_sec+","+nextact.tv_nsec/1000+"},\n");
- activated++;
- }
- out.write("};\n");
-
- out.write("struct timespec exec_task"+task_group+"[]={\n");
-
- timespec nextexec = new timespec();
-
- for (int i=0; i<activated; i++) {
-
- nextexec.tv_sec = Long.valueOf(exec_const[0]).longValue();
- nextexec.tv_nsec = Long.valueOf(exec_const[1]).longValue() * 1000;
-
- if (exec_delta_long != 0) {
- nextexec.ADDUSEC2TIMESPEC((rd.nextInt() & Integer.MAX_VALUE) % exec_delta_long - exec_delta_long/2);
- }
-
- out.write(" {"+nextexec.tv_sec+","+nextexec.tv_nsec/1000+"},\n");
-
- }
- out.write("};\n");
- }
- catch (java.io.IOException ex) {
- System.out.println("File Exception: " + ex.getMessage());
- }
-
- return activated;
-}
-
-void process_server_section(Element e, OutputStreamWriter out) {
-
-
- List serverpars = e.getChildren();
- Iterator iterator = serverpars.iterator();
- Element serverpar = (Element) iterator.next();
- String current_value;
- current_value=serverpar.getText();
- try {
- out.write("{" + servernumber + ",{");
- servernumber++;
-
- Pattern pattern = Pattern.compile("[us\\s]+");
- /* cmin */
- String[] cmin = pattern.split(current_value);
- out.write(cmin[0] + "," + Long.valueOf(cmin[1]).longValue()*1000+"},{");
-
- /* tmax */
- serverpar = (Element) iterator.next();
- current_value=serverpar.getText();
- String[] tmax = pattern.split(current_value);
- out.write(tmax[0] + "," + Long.valueOf(tmax[1]).longValue()*1000+"},{");
-
- /* cmax */
- serverpar = (Element) iterator.next();
- current_value=serverpar.getText();
- String[] cmax = pattern.split(current_value);
- out.write(cmax[0] + "," + Long.valueOf(cmax[1]).longValue()*1000+"},{");
-
- /* tmin */
- serverpar = (Element) iterator.next();
- current_value=serverpar.getText();
- String[] tmin = pattern.split(current_value);
- out.write(tmin[0] + "," + Long.valueOf(tmin[1]).longValue()*1000+"},");
-
- /*work load */
- serverpar = (Element) iterator.next();
- current_value=serverpar.getText();
- out.write(current_value+",");
-
- serverpar = (Element) iterator.next();
- current_value=serverpar.getName();
- Attribute loc_type=serverpar.getAttribute("type");
- String scheduler=loc_type.getValue();
- if (scheduler.equals("POSIX")) {
- out.write("30");
- }
- else if (scheduler.equals("EDF")) {
- out.write("31");
- }
- else if (scheduler.equals("RM")) {
- out.write("32");
- }
- out.write(",-1},\n");
- local_scheduler.add(servernumber-1,serverpar);
-
- } catch (java.io.IOException ex) {
- System.out.println ("File Exception: "+ex.getMessage());
- }
-
- /*
- fprintf(file_event_header, " {%d,{%d,%d},{%d,%d},{%d,%d},{%d,%d},%d,%d,-1},\n",
- (int)c->number,(int)c->cmin.tv_sec,(int)c->cmin.tv_nsec,
- (int)c->tmax.tv_sec,(int)c->tmax.tv_nsec,
- (int)c->cmax.tv_sec,(int)c->cmax.tv_nsec,
- (int)c->tmin.tv_sec,(int)c->tmin.tv_nsec,
- (int)c->workload,(int)c->local_scheduler);
-
-*/
- //processElement (kid);
- }
-
-
-
-public static void main(String[] args) throws Exception {
- System.out.println("Parser Versione 1.0");
- Application app = new Application();
- if (args.length > 0)
- app.process(args[0]);
-}
-
-/* Event Generator
- *
- * Giacomo Guidi
- */
-
-
-
-
-
-/*
-int write_basic_par_start(void)
-{
-
- FILE *file_event_header;
-
- file_event_header = fopen(EVENT_DEFINE,"a+");
- if (file_event_header == NULL) return 1;
-
- fprintf(file_event_header, "struct loader_task loader_task_list[] = {\n");
-
- fclose(file_event_header);
-
- return 0;
-
-}
-
-
-int write_basic_par(struct loader_task *c)
-{
-
- FILE *file_event_header;
-
- file_event_header = fopen(EVENT_DEFINE,"a+");
- if (file_event_header == NULL) return 1;
-
- fprintf(file_event_header, " {\"%s\",%d,%d,%d,%d,%d,{%d,%d},{%d,%d},%d,0,act_%s,exec_%s},\n",
- c->name,(int)c->task_type,(int)c->server,(int)c->local_scheduler,(int)c->number,(int)c->group,
- (int)c->deadline.tv_sec, (int)c->deadline.tv_nsec,
- (int)c->wcet.tv_sec, (int)c->wcet.tv_nsec,
- (int)c->act_number, c->name, c->name);
-
- fclose(file_event_header);
-
- return 0;
-
-}
-
-int write_contract(struct loader_contract *c)
-{
-
- FILE *file_event_header;
-
- file_event_header = fopen(EVENT_DEFINE,"a+");
- if (file_event_header == NULL) return 1;
-
- fprintf(file_event_header, " {%d,{%d,%d},{%d,%d},{%d,%d},{%d,%d},%d,%d,-1},\n",
- (int)c->number,(int)c->cmin.tv_sec,(int)c->cmin.tv_nsec,
- (int)c->tmax.tv_sec,(int)c->tmax.tv_nsec,
- (int)c->cmax.tv_sec,(int)c->cmax.tv_nsec,
- (int)c->tmin.tv_sec,(int)c->tmin.tv_nsec,
- (int)c->workload,(int)c->local_scheduler);
-
- fclose(file_event_header);
-
- return 0;
-
-}
-
-int close_loader_task(int total_task_number)
-{
-
- FILE *file_event_header;
-
- file_event_header = fopen(EVENT_DEFINE,"a+");
- if (file_event_header == NULL) return 1;
-
- fprintf(file_event_header,"};\n\n");
-
- fprintf(file_event_header,"int total_loader_task = %d;\n\n",total_task_number);
-
- fclose(file_event_header);
-
- return 0;
-
-}
-
-int close_loader_contract(int total_contract_number)
-{
-
- FILE *file_event_header;
-
- file_event_header = fopen(EVENT_DEFINE,"a+");
- if (file_event_header == NULL) return 1;
-
- fprintf(file_event_header,"};\n\n");
-
- fprintf(file_event_header,"int total_loader_contract = %d;\n\n",total_contract_number);
-
- fclose(file_event_header);
-
- return 0;
-
-}
-
-int write_simulation_time(struct timespec *total)
-{
-
- FILE *file_event_header;
-
- file_event_header = fopen(EVENT_DEFINE,"a+");
- if (file_event_header == NULL) return 1;
-
- fprintf(file_event_header,"struct timespec total_time = {%d,%d};\n\n",(int)total->tv_sec,(int)total->tv_nsec);
-
- fclose(file_event_header);
-
- return 0;
-
-
-}
-
-int write_single_act(struct timespec *t, struct loader_task *c)
-{
-
- FILE *file_act_header;
-
- file_act_header = fopen(ACT_LIST,"a+");
- if (file_act_header == NULL) return 1;
-
- if (TIMESPEC_A_GT_B(t,&c->act_par_1)) {
- fprintf(file_act_header,"struct timespec act_%s[] = {{%d,%d}};\n\n",c->name,
- (int)c->act_par_1.tv_sec,(int)c->act_par_1.tv_nsec);
- c->act_number = 1;
- } else {
- fprintf(file_act_header,"struct timespec act_%s[] = {{0,0}};\n\n",c->name);
- c->act_number = 0;
- }
-
- fclose(file_act_header);
-
- return 0;
-
-}
-
-int write_periodic_act(struct timespec *t, struct loader_task *c)
-{
-
- FILE *file_act_header;
- struct timespec tot_time;
- int period;
-
- file_act_header = fopen(ACT_LIST,"a+");
- if (file_act_header == NULL) return 1;
-
- fprintf(file_act_header,"struct timespec act_%s[] = {{%d,%d},\n",c->name,
- (int)c->act_par_1.tv_sec,(int)c->act_par_1.tv_nsec);
-
- c->act_number = 1;
- TIMESPEC_ASSIGN(&tot_time,&c->act_par_1);
- period = TIMESPEC2USEC(&c->act_par_2);
- while (TIMESPEC_A_GT_B(t, &tot_time)) {
- c->act_number++;
- ADDUSEC2TIMESPEC(period,&tot_time);
- fprintf(file_act_header," {%d,%d},\n",
- (int)c->act_par_2.tv_sec,(int)c->act_par_2.tv_nsec);
- }
-
- fprintf(file_act_header," };\n\n");
-
- fclose(file_act_header);
-
- return 0;
-
-}
-
-int write_mean_act(struct timespec *t,struct loader_task *c)
-{
-
- FILE *file_act_header;
- struct timespec tot_time;
- int next_act;
-
- file_act_header = fopen(ACT_LIST,"a+");
- if (file_act_header == NULL) return 1;
-
- fprintf(file_act_header,"struct timespec act_%s[] = {{%d,%d},\n",c->name,
- (int)c->act_par_1.tv_sec,(int)c->act_par_1.tv_nsec);
-
- c->act_number = 1;
- TIMESPEC_ASSIGN(&tot_time,&c->act_par_1);
- while (TIMESPEC_A_GT_B(t, &tot_time)) {
- c->act_number++;
- next_act = TIMESPEC2USEC(&c->act_par_2) + random() % TIMESPEC2USEC(&c->act_par_3) - TIMESPEC2USEC(&c->act_par_3) / 2;
- ADDUSEC2TIMESPEC(next_act,&tot_time);
- fprintf(file_act_header," {%d,%d},\n",
- next_act / 1000000, next_act % 1000000 * 1000);
- }
-
- fprintf(file_act_header," };\n\n");
-
- fclose(file_act_header);
-
- return 0;
-
-}
-
-int write_exec_const(struct loader_task *c)
-{
-
- FILE *file_exec_header;
- int i;
-
- file_exec_header = fopen(ACT_LIST,"a+");
- if (file_exec_header == NULL) return 1;
-
- fprintf(file_exec_header,"struct timespec exec_%s[] = {{%d,%d},\n",c->name,
- (int)c->exec_par_1.tv_sec,(int)c->exec_par_1.tv_nsec);
-
- for (i=0; i< c->act_number-1; i++)
- fprintf(file_exec_header," {%d,%d},\n",
- (int)c->exec_par_1.tv_sec,(int)c->exec_par_1.tv_nsec);
-
- fprintf(file_exec_header," };\n\n");
-
- fclose(file_exec_header);
-
- return 0;
-
-}
-
-int write_exec_mean(struct loader_task *c)
-{
-
- FILE *file_exec_header;
- int exec_time_usec;
- int i;
-
- file_exec_header = fopen(ACT_LIST,"a+");
- if (file_exec_header == NULL) return 1;
-
- exec_time_usec = TIMESPEC2USEC(&c->exec_par_1)
- + random() % TIMESPEC2USEC(&c->exec_par_2) - TIMESPEC2USEC(&c->exec_par_2) / 2;
- fprintf(file_exec_header,"struct timespec exec_%s[] = {{%d,%d},\n",c->name,
- exec_time_usec / 1000000, exec_time_usec % 1000000 * 1000);
-
- for (i=0; i< c->act_number-1; i++) {
- exec_time_usec = TIMESPEC2USEC(&c->exec_par_1)
- + random() % TIMESPEC2USEC(&c->exec_par_2) - TIMESPEC2USEC(&c->exec_par_2) / 2;
- fprintf(file_exec_header," {%d,%d},\n",
- exec_time_usec / 1000000, exec_time_usec % 1000000 * 1000);
- }
-
- fprintf(file_exec_header," };\n\n");
-
- fclose(file_exec_header);
-
- return 0;
-
-}
-
-void *start;
-void *end;
-
-int main(int argc, char **argv) {
-
- char loadfile[100];
- struct timespec total_time;
- struct loader_task *start_loader_task = NULL, *current_t;
- struct loader_contract *start_loader_contract = NULL, *current_c;
- int err,ldnum;
- int total_task_number;
- int total_contract_number;
-
- printf("\nEvent Generator\n");
-
- if (argc < 2) {
- printf("Error: event_gen loadfile.fsf\n");
- exit(1);
- }
-
- printf("Read loader file %s\n",argv[1]);
-
- sprintf(loadfile,"%s%s",LOADFILE_DIR,argv[1]);
- err = dos_preload(loadfile,100000,&start,&end);
-
- if (err != 0) {
- printf("Error: File not found\n");
- exit(1);
- }
-
- printf("Parsing file\n");
-
- line_reader(start, end, &total_time, &start_loader_task, &start_loader_contract);
-
- srandom(time(NULL));
-
- write_struct();
-
- current_t = start_loader_task;
- ldnum = 1;
-
- while(current_t != NULL) {
-
- sprintf(current_t->name,"ltask%d",ldnum);
- current_t->group = ldnum;
- ldnum++;
-
- switch (current_t->act_type) {
- case PAR_ACT_SINGLE:
- err = write_single_act(&total_time,current_t);
- if (err != 0) {
- printf("Error writing activation header\n");
- exit(1);
- }
- break;
- case PAR_ACT_PERIODIC:
- err = write_periodic_act(&total_time,current_t);
- if (err != 0) {
- printf("Error writing activation header\n");
- exit(1);
- }
- break;
- case PAR_ACT_MEAN:
- err = write_mean_act(&total_time,current_t);
- if (err != 0) {
- printf("Error writing activation header\n");
- exit(1);
- }
- break;
- }
-
- switch (current_t->exec_type) {
- case PAR_EXEC_CONST:
- err = write_exec_const(current_t);
- if (err != 0) {
- printf("Error writing exec header\n");
- exit(1);
- }
- break;
- case PAR_EXEC_MEAN:
- err = write_exec_mean(current_t);
- if (err != 0) {
- printf("Error writing exec header\n");
- exit(1);
- }
- break;
- }
-
- current_t = current_t->next;
-
- }
-
- write_basic_par_start();
-
- total_task_number = 0;
- current_t = start_loader_task;
- while(current_t != NULL) {
-
- write_basic_par(current_t);
-
- current_t = current_t->next;
-
- total_task_number++;
-
- }
-
- close_loader_task(total_task_number);
-
- write_contract_start();
-
- total_contract_number = 0;
- current_c = start_loader_contract;
- while(current_c != NULL) {
-
- write_contract(current_c);
-
- current_c = current_c->next;
-
- total_contract_number++;
-
- }
-
- close_loader_contract(total_contract_number);
-
- write_simulation_time(&total_time);
-
- return 0;
-
-}
-
-*/
-}
Index: rel_1_5_beta1/loader/generators/java/task_class.java
===================================================================
--- rel_1_5_beta1/loader/generators/java/task_class.java (revision 1557)
+++ rel_1_5_beta1/loader/generators/java/task_class.java (nonexistent)
@@ -1,26 +0,0 @@
-//package first_filter;
-
-/**
- * <p>Title: First XML filter</p>
- * <p>Description: </p>
- * <p>Copyright: Copyright (c) 2003</p>
- * <p>Company: Retis Lab</p>
- * @author not attributable
- * @version 1.0
- */
-
-public class task_class {
- String name;
- int task_type;
- int contract;
- int localscheduler;
- int number;
- int group;
- timespec deadline;
- timespec wcet;
- int act_number;
-
- public task_class() {
- }
-
-}
Index: rel_1_5_beta1/loader/generators/java/fsf-schema.xsd
===================================================================
--- rel_1_5_beta1/loader/generators/java/fsf-schema.xsd (revision 1557)
+++ rel_1_5_beta1/loader/generators/java/fsf-schema.xsd (nonexistent)
@@ -1,75 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<xs:schema xmlns:xs='http://www.w3.org/2001/XMLSchema'>
-
-<xs:element name="fsf_framework">
- <xs:complexType>
- <xs:sequence>
- <xs:element ref="simulation"/>
- <xs:element ref="contract" minOccurs='1' maxOccurs='unbounded'/>
- </xs:sequence>
- </xs:complexType>
-</xs:element>
-
-<xs:element name="simulation">
- <xs:complexType>
- <xs:sequence>
- <xs:element name="time" type="xs:string"/>
- </xs:sequence>
- </xs:complexType>
-</xs:element>
-
-<xs:element name="contract">
- <xs:complexType>
- <xs:sequence>
- <xs:element name="cmin" type="xs:string"/>
- <xs:element name="tmax" type="xs:string" />
- <xs:element name="cmax" type="xs:string" />
- <xs:element name="tmin" type="xs:string" />
- <xs:element name="workload" type="xs:string" />
- <xs:element ref="localscheduler"/>
- </xs:sequence>
- </xs:complexType>
-</xs:element>
-
-<xs:element name="localscheduler">
- <xs:complexType>
- <xs:sequence>
- <xs:element ref="task_section" minOccurs='1' maxOccurs='unbounded'/>
- </xs:sequence>
- <xs:attribute name="type" type="xs:string" use='required'/>
- </xs:complexType>
-</xs:element>
-
-<xs:element name="task_section">
- <xs:complexType>
- <xs:sequence>
- <xs:element name="number" type="xs:integer"/>
- <xs:element name="dline" type="xs:string" minOccurs="0" />
- <xs:element name="wcet" type="xs:string" minOccurs="0"/>
- <xs:element ref="act_section"/>
- <xs:element ref="exec_section"/>
- </xs:sequence>
- <xs:attribute name="type" type="xs:string" use='required'/>
- </xs:complexType>
-</xs:element>
-
-<xs:element name="act_section">
- <xs:complexType>
- <xs:sequence>
- <xs:element name="start_time" type="xs:string"/>
- <xs:element name="period_time" type="xs:string" minOccurs="0" />
- <xs:element name="delta_time" type="xs:string" minOccurs="0" />
- </xs:sequence>
- </xs:complexType>
-</xs:element>
-
-<xs:element name="exec_section">
- <xs:complexType>
- <xs:sequence>
- <xs:element name="exec_time" type="xs:string"/>
- <xs:element name="delta_time" type="xs:string" minOccurs="0" />
- </xs:sequence>
- </xs:complexType>
-</xs:element>
-
-</xs:schema>
Index: rel_1_5_beta1/loader/generators/java/timespec.java
===================================================================
--- rel_1_5_beta1/loader/generators/java/timespec.java (revision 1557)
+++ rel_1_5_beta1/loader/generators/java/timespec.java (nonexistent)
@@ -1,37 +0,0 @@
-//package first_filter;
-
-/**
- * <p>Title: First XML filter</p>
- * <p>Description: </p>
- * <p>Copyright: Copyright (c) 2003</p>
- * <p>Company: Retis Lab</p>
- * @author not attributable
- * @version 1.0
- */
-
-public class timespec {
- long tv_sec;
- long tv_nsec;
-
- public timespec() {
- tv_sec=0;
- tv_nsec=0;
- }
-
-
- void ADDUSEC2TIMESPEC(long t1) {
- tv_nsec+=(t1%1000000)*1000;
- tv_sec+=(tv_nsec / 1000000000)+(t1/1000000);
- tv_nsec%=1000000000;
- }
- long TIMESPEC2USEC() {
- return (tv_sec*1000000+tv_nsec/1000);
- }
- boolean TIMESPEC_A_GT_B(timespec t1) {
-
- return (tv_sec>t1.tv_sec ||
- (tv_sec==t1.tv_sec && tv_nsec>t1.tv_nsec));
-
- }
-
-}
Index: rel_1_5_beta1/loader/generators/java/java_gen
===================================================================
--- rel_1_5_beta1/loader/generators/java/java_gen (revision 1557)
+++ rel_1_5_beta1/loader/generators/java/java_gen (nonexistent)
@@ -1,10 +0,0 @@
-#!/bin/bash
-
-#if $CLASSPATH; then
-#echo Please define the CLASSPATH environment variable!!!
-#echo ...something like: export CLASSPATH=/usr/java/j2sdk1.4.2/jre/lib
-#exit 1;
-#fi
-
-java -classpath ".:$CLASSPATH/jdom.jar:$CLASSPATH/xercesImpl.jar:$CLASSPATH/xml-apis.jar" Application $1
-
/rel_1_5_beta1/loader/generators/java/java_gen
Property changes:
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Index: rel_1_5_beta1/loader/readme.txt
===================================================================
--- rel_1_5_beta1/loader/readme.txt (revision 1557)
+++ rel_1_5_beta1/loader/readme.txt (nonexistent)
@@ -1,64 +0,0 @@
-FIRST Framework Evaluation architecture
----------------------------------------
-
-makefile usage:
-
-$ make OS=<osname> TEST=<demo> all
-
-where:
-
-<osname> is the name of the target operating system and it can be:
-
-- MARTE for MaRTE OS
-- SHARK for Shark
-
-<demo> is the name of the test case that have to be compiled. The
-specification of the test case is contained inside the loadfile
-directory.
-
-Valid extensions for the test case specification files are:
-.fsf - old script file
-.fsf2 - XML version
-(other extensions can be added easily)
-
-For example:
-
-make OS=SHARK TEST=load all
-
-these makefile will:
-- prepare the out directory with the common files
-- add the shark initialization files
-- parse a file loadfile/load.fsf (the file extension is guessed automatically
- by the makefile) to produce source code inside out
-- compile the resulting shark application
-
--------------------------------------------------------------------------
-
-XML Parser & Java setup
-
-To use the XML parser (file extension .fsf2) you need to properly setup
-your system, and you need toinstall the following libraries:
-
-- JDOM BETA 9 - http://www.jdom.org
-- XERCES (Parser SAX with XSD support) - http://xml.apache.org
-
-On my Linux system, after installing the Sun's j2re,
-I did the following commands (as root):
-
-# mkdir j
-# cd j
-# wget http://www.jdom.org/dist/binary/jdom-b9.tar.gz
-# tar xvzf jdom-b9.tar.gz
-# cp jdom-b9/build/jdom.jar /usr/java/j2re1.4.1_02/lib/
-# wget http://www.apache.org/dist/xml/xerces-j/Xerces-J-bin.2.6.0.tar.gz
-# tar xvzf Xerces-J-bin.2.6.0.tar.gz
-# cp ./xerces-2_6_0/xercesImpl.jar /usr/java/j2re1.4.1_02/lib/
-# cp ./xerces-2_6_0/xml-apis.jar /usr/java/j2re1.4.1_02/lib/
-
-then, as user, I did
-
-$ export CLASSPATH=/usr/java/j2re1.4.1_02/lib
-
-Enjoy,
-
-Michael, Giacomo, PJ
Index: rel_1_5_beta1/mesatex/initfile.c
===================================================================
--- rel_1_5_beta1/mesatex/initfile.c (revision 1557)
+++ rel_1_5_beta1/mesatex/initfile.c (nonexistent)
@@ -1,200 +0,0 @@
-/*
- * Project: S.Ha.R.K.
- *
- * Coordinators:
- * Giorgio Buttazzo <giorgio@sssup.it>
- * Paolo Gai <pj@gandalf.sssup.it>
- *
- * Authors :
- * Giacomo Guidi <giacomo@gandalf.sssup.it>
- * (see the web pages for full authors list)
- *
- * ReTiS Lab (Scuola Superiore S.Anna - Pisa - Italy)
- *
- * http://www.sssup.it
- * http://retis.sssup.it
- * http://shark.sssup.it
- */
-
-/*
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- */
-
-#include "kernel/kern.h"
-#include "intdrive/intdrive/intdrive.h"
-#include "edf/edf/edf.h"
-#include "hardcbs/hardcbs/hardcbs.h"
-#include "rr/rr/rr.h"
-#include "dummy/dummy/dummy.h"
-
-#include "sem/sem/sem.h"
-#include "hartport/hartport/hartport.h"
-#include "cabs/cabs/cabs.h"
-
-#include <drivers/shark_linuxc26.h>
-#include <drivers/shark_pci26.h>
-#include <drivers/shark_input26.h>
-#include <drivers/shark_keyb26.h>
-#include <drivers/shark_fb26.h>
-
-#define FRAME_BUFFER_DEVICE 0
-
-/*+ sysyem tick in us +*/
-#define TICK 0
-
-/*+ RR tick in us +*/
-#define RRTICK 10000
-
-/*+ Interrupt Server +*/
-#define INTDRIVE_Q 1000
-#define INTDRIVE_T 10000
-#define INTDRIVE_FLAG 0
-
-void call_shutdown_task(void *arg);
-int device_drivers_init();
-int device_drivers_close();
-void set_shutdown_task();
-TASK shutdown_task_body(void *arg);
-
-PID shutdown_task_PID = -1;
-
-TIME __kernel_register_levels__(void *arg)
-{
- struct multiboot_info *mb = (struct multiboot_info *)arg;
-
- INTDRIVE_register_level(INTDRIVE_Q,INTDRIVE_T,INTDRIVE_FLAG);
- EDF_register_level(EDF_ENABLE_ALL);
- HCBS_register_level(HCBS_ENABLE_ALL, 1);
- RR_register_level(RRTICK, RR_MAIN_YES, mb);
- dummy_register_level();
-
- SEM_register_module();
-
- CABS_register_module();
-
- return TICK;
-}
-
-TASK __init__(void *arg)
-{
- struct multiboot_info *mb = (struct multiboot_info *)arg;
-
- HARTPORT_init();
-
- /* Create the shutdown task. It will be activated at RUNLEVEL
- SHUTDOWN */
- set_shutdown_task();
-
- /* Init the drivers */
- device_drivers_init();
-
- /* Set the shutdown task activation */
- sys_atrunlevel(call_shutdown_task, NULL, RUNLEVEL_SHUTDOWN);
-
- __call_main__(mb);
-
- return (void *)0;
-}
-
-void set_shutdown_task() {
-
- /* WARNING: the shutdown task is a background thread. It cannot execute
- if the system is overloaded */
- NRT_TASK_MODEL nrt;
-
- nrt_task_default_model(nrt);
- nrt_task_def_system(nrt);
-
- shutdown_task_PID = task_create("Shutdown Task",shutdown_task_body,&nrt,NULL);
- if (shutdown_task_PID == NIL) {
- sys_shutdown_message("Error: Cannot create shutdown task\n");
- exit(1);
- }
-
-}
-
-int device_drivers_init() {
-
- int res;
- KEYB_PARMS kparms = BASE_KEYB;
-
- LINUXC26_register_module();
-
- PCI26_init();
-
- INPUT26_init();
-
- keyb_def_ctrlC(kparms, NULL);
-
- KEYB26_init(&kparms);
-
- FB26_init();
-
- res = FB26_open(FRAME_BUFFER_DEVICE);
- if (res) {
- cprintf("Error: Cannot open graphical mode\n");
- KEYB26_close();
- INPUT26_close();
- exit(1);
- }
-
- FB26_use_grx(FRAME_BUFFER_DEVICE);
-
- FB26_setmode(FRAME_BUFFER_DEVICE,"640x480-16");
-
- return 0;
-
-}
-
-int device_drivers_close() {
-
- FB26_close(FRAME_BUFFER_DEVICE);
-
- KEYB26_close();
-
- INPUT26_close();
-
- return 0;
-
-}
-
-#define SHUTDOWN_TIMEOUT_SEC 3
-
-void call_shutdown_task(void *arg)
-{
- struct timespec t;
-
- sys_gettime(&t);
- t.tv_sec += SHUTDOWN_TIMEOUT_SEC;
-
- /* Emergency timeout to exit from RUNLEVEL_SHUTDOWN */
- kern_event_post(&t,(void *)((void *)sys_abort_shutdown),(void *)0);
-
- task_activate(shutdown_task_PID);
-}
-
-TASK shutdown_task_body(void *arg) {
-
- device_drivers_close();
-
- sys_shutdown_message("-- S.Ha.R.K. Closed --\n");
-
- return NULL;
-
-}
-
-
Index: rel_1_5_beta1/mesatex/mesatex.c
===================================================================
--- rel_1_5_beta1/mesatex/mesatex.c (revision 1557)
+++ rel_1_5_beta1/mesatex/mesatex.c (nonexistent)
@@ -1,370 +0,0 @@
-/*
- * Project: S.Ha.R.K.
- *
- * Coordinators:
- * Giorgio Buttazzo <giorgio@sssup.it>
- * Paolo Gai <pj@gandalf.sssup.it>
- *
- * Authors :
- * Giacomo Guidi <giacomo@gandalf.sssup.it>
- *
- *
- * ReTiS Lab (Scuola Superiore S.Anna - Pisa - Italy)
- *
- * http://www.sssup.it
- * http://retis.sssup.it
- * http://shark.sssup.it
- */
-
-#include <GL/osmesa.h>
-#include <GL/glut.h>
-
-#include <math.h>
-#include <stdlib.h>
-#include <assert.h>
-#include <kernel/log.h>
-#include <kernel/kern.h>
-
-#include <drivers/shark_fb26.h>
-#include <drivers/shark_keyb26.h>
-
-#ifndef M_PI
-#define M_PI 3.14159265
-#endif
-
-#define WIDTH 640
-#define HEIGHT 430
-#define BYTES_PP 2 //BytesPerPixel
-
-OSMesaContext ctx;
-
-static GLuint TexObj[2];
-static GLfloat Angle = 0.0f;
-static GLboolean UseObj = GL_FALSE;
-
-extern void *video_memory;
-
-#if defined(GL_VERSION_1_1) || defined(GL_VERSION_1_2)
-# define TEXTURE_OBJECT 1
-#elif defined(GL_EXT_texture_object)
-# define TEXTURE_OBJECT 1
-# define glBindTexture(A,B) glBindTextureEXT(A,B)
-# define glGenTextures(A,B) glGenTexturesEXT(A,B)
-# define glDeleteTextures(A,B) glDeleteTexturesEXT(A,B)
-#endif
-
-unsigned char *rgb_565_buf = NULL; //RGB 16 bpp Buffer
-unsigned char *video_buf = NULL; //Video Buffer
-
-unsigned long int RGB565MEM = WIDTH * HEIGHT * BYTES_PP; // Total video mem
-
-unsigned long int PERIOD_REFRESH = 30000;
-unsigned long int PERIOD_DISEGNA = 30000;
-
-unsigned long int WCET_REFRESH, WCET_DISEGNA;
-
-TASK refesh(void);
-TASK disegna(void);
-
-PID refresh_PID, disegna_PID;
-
-static void draw( void )
-{
- glDepthFunc(GL_EQUAL);
- /* glClear( GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT );*/
- glClear( GL_COLOR_BUFFER_BIT );
-
- glColor3f( 1.0, 1.0, 1.0 );
-
- /* draw first polygon */
- glPushMatrix();
- glTranslatef( -1.0, 0.0, 0.0 );
- glRotatef( Angle, 0.0, 0.0, 1.0 );
- if (UseObj) {
-#ifdef TEXTURE_OBJECT
- glBindTexture( GL_TEXTURE_2D, TexObj[0] );
-#endif
- }
- else {
- glCallList( TexObj[0] );
- }
- glBegin( GL_POLYGON );
- glTexCoord2f( 0.0, 0.0 ); glVertex2f( -1.0, -1.0 );
- glTexCoord2f( 1.0, 0.0 ); glVertex2f( 1.0, -1.0 );
- glTexCoord2f( 1.0, 1.0 ); glVertex2f( 1.0, 1.0 );
- glTexCoord2f( 0.0, 1.0 ); glVertex2f( -1.0, 1.0 );
- glEnd();
- glPopMatrix();
-
- /* draw second polygon */
- glPushMatrix();
- glTranslatef( 1.0, 0.0, 0.0 );
- glRotatef( Angle-90.0, 0.0, 1.0, 0.0 );
- if (UseObj) {
-#ifdef TEXTURE_OBJECT
- glBindTexture( GL_TEXTURE_2D, TexObj[1] );
-#endif
- }
- else {
- glCallList( TexObj[1] );
- }
- glBegin( GL_POLYGON );
- glTexCoord2f( 0.0, 0.0 ); glVertex2f( -1.0, -1.0 );
- glTexCoord2f( 1.0, 0.0 ); glVertex2f( 1.0, -1.0 );
- glTexCoord2f( 1.0, 1.0 ); glVertex2f( 1.0, 1.0 );
- glTexCoord2f( 0.0, 1.0 ); glVertex2f( -1.0, 1.0 );
- glEnd();
- glPopMatrix();
-
-}
-
-static void gl_init()
-{
-
- static int twidth=8, theight=8;
- static GLubyte tex1[] = {
- 0, 0, 0, 1, 1, 1, 0, 0,
- 0, 0, 1, 0, 0, 0, 0, 0,
- 0, 0, 1, 0, 0, 0, 0, 0,
- 0, 0, 1, 0, 0, 0, 0, 0,
- 0, 0, 1, 0, 0, 0, 0, 0,
- 0, 0, 1, 0, 0, 0, 0, 0,
- 0, 0, 1, 0, 0, 0, 0, 0,
- 0, 0, 0, 1, 1, 1, 0, 0 };
-
- static GLubyte tex2[] = {
- 0, 0, 0, 2, 2, 2, 0, 0,
- 0, 0, 2, 0, 0, 0, 0, 0,
- 0, 0, 2, 0, 0, 0, 0, 0,
- 0, 0, 0, 2, 0, 0, 0, 0,
- 0, 0, 0, 0, 2, 0, 0, 0,
- 0, 0, 0, 0, 0, 2, 0, 0,
- 0, 0, 0, 0, 0, 2, 0, 0,
- 0, 0, 2, 2, 2, 0, 0, 0 };
-
- GLubyte tex[64][3];
- GLint i, j;
-
- //Create the OSMesa Context
- ctx = OSMesaCreateContext(OSMESA_RGB_565, NULL);
-
- //Make Current Context
- OSMesaMakeCurrent(ctx, rgb_565_buf, GL_UNSIGNED_SHORT_5_6_5, WIDTH, HEIGHT);
-
- UseObj = GL_TRUE;
-
- glDisable( GL_DITHER );
-
- /* Setup texturing */
- glEnable( GL_TEXTURE_2D );
- glTexEnvi( GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_DECAL );
- glHint( GL_PERSPECTIVE_CORRECTION_HINT, GL_FASTEST );
-
- /* generate texture object IDs */
- if (UseObj) {
-#ifdef TEXTURE_OBJECT
- glGenTextures( 2, TexObj );
-#endif
- }
- else {
- TexObj[0] = glGenLists(2);
- TexObj[1] = TexObj[0]+1;
- }
-
- /* setup first texture object */
- if (UseObj) {
-#ifdef TEXTURE_OBJECT
- glBindTexture( GL_TEXTURE_2D, TexObj[0] );
- assert(glIsTexture(TexObj[0]));
-#endif
- }
- else {
- glNewList( TexObj[0], GL_COMPILE );
- }
- /* red on white */
- for (i=0;i<theight;i++) {
- for (j=0;j<twidth;j++) {
- int p = i*twidth+j;
- if (tex1[(theight-i-1)*twidth+j]) {
- tex[p][0] = 255; tex[p][1] = 0; tex[p][2] = 0;
- }
- else {
- tex[p][0] = 255; tex[p][1] = 255; tex[p][2] = 255;
- }
- }
- }
-
- glTexImage2D( GL_TEXTURE_2D, 0, 3, twidth, theight, 0,
- GL_RGB, GL_UNSIGNED_BYTE, tex );
- glTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST );
- glTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST );
- glTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT );
- glTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_REPEAT );
- if (!UseObj) {
- glEndList();
- }
- /* end of texture object */
-
- /* setup second texture object */
- if (UseObj) {
-#ifdef TEXTURE_OBJECT
- glBindTexture( GL_TEXTURE_2D, TexObj[1] );
- assert(glIsTexture(TexObj[1]));
-#endif
- assert(!glIsTexture(TexObj[1] + 999));
- }
- else {
- glNewList( TexObj[1], GL_COMPILE );
- }
- /* green on blue */
- for (i=0;i<theight;i++) {
- for (j=0;j<twidth;j++) {
- int p = i*twidth+j;
- if (tex2[(theight-i-1)*twidth+j]) {
- tex[p][0] = 0; tex[p][1] = 255; tex[p][2] = 0;
- }
- else {
- tex[p][0] = 0; tex[p][1] = 0; tex[p][2] = 255;
- }
- }
- }
- glTexImage2D( GL_TEXTURE_2D, 0, 3, twidth, theight, 0,
- GL_RGB, GL_UNSIGNED_BYTE, tex );
- glTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST );
- glTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST );
- glTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT );
- glTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_REPEAT );
- if (!UseObj) {
- glEndList();
- }
- /* end texture object */
-
- glViewport(0, 0, (GLint)WIDTH, (GLint)HEIGHT);
- glMatrixMode(GL_PROJECTION);
- glLoadIdentity();
- /* glOrtho( -3.0, 3.0, -3.0, 3.0, -10.0, 10.0 );*/
- glFrustum( -2.0, 2.0, 2.0, -2.0, 6.0, 20.0 );
- glMatrixMode(GL_MODELVIEW);
- glLoadIdentity();
- glTranslatef( 0.0, 0.0, -8.0 );
-
-}
-
-void program_end(void *arg)
-{
-
- OSMesaDestroyContext(ctx);
- free(rgb_565_buf);
-
- exit(0);
-
-}
-
-void program_key_end(KEY_EVT *k)
-{
-
- exit(0);
-
-}
-
-TASK refresh(void)
-{
-
- while(1) {
-
- memcpy((video_buf+40*WIDTH*2), rgb_565_buf, RGB565MEM);
- task_endcycle();
-
- }
-
- exit(0);
-
-}
-
-
-TASK disegna(void)
-{
-
- char text[100];
- TIME disegna_TIME, refresh_TIME;
-
- while(1) {
-
- jet_gettable(refresh_PID, &refresh_TIME, 1);
- jet_gettable(disegna_PID, &disegna_TIME, 1);
-
- Angle += 2.0;
-
- draw();
-
- sprintf(text,"Hard Task Refresh PER:%6d us EX:%6d us",(int)PERIOD_REFRESH,(int)refresh_TIME);
- grx_text(text,10,5,rgb16(0,0,255),0);
- sprintf(text,"Hard Task Draw PER:%6d us EX:%6d us",(int)PERIOD_DISEGNA,(int)disegna_TIME);
- grx_text(text,10,15,rgb16(0,0,255),0);
-
- task_endcycle();
-
- }
-
- exit(0);
-
-}
-
-int main (int argc, char *argv[])
-{
-
- HARD_TASK_MODEL ht_refresh, ht_disegna;
-
- clear();
-
- WCET_REFRESH =((long int) PERIOD_REFRESH * (0.45));
- WCET_DISEGNA =((long int) PERIOD_DISEGNA * (0.45));
-
- hard_task_default_model(ht_refresh);
- hard_task_def_wcet(ht_refresh,WCET_REFRESH);
- hard_task_def_mit(ht_refresh,PERIOD_REFRESH);
- hard_task_def_usemath(ht_refresh);
- hard_task_def_group(ht_refresh,1);
- hard_task_def_ctrl_jet(ht_refresh);
-
- refresh_PID = task_create("refresh", refresh, &ht_refresh, NULL);
- if (refresh_PID == -1) {
- exit(4);
- }
-
- hard_task_default_model(ht_disegna);
- hard_task_def_mit(ht_disegna,PERIOD_DISEGNA);
- hard_task_def_wcet(ht_disegna,WCET_DISEGNA);
- hard_task_def_group(ht_disegna,1);
- hard_task_def_ctrl_jet(ht_disegna);
- hard_task_def_usemath(ht_disegna);
- hard_task_def_stack(ht_disegna,30000);
-
- disegna_PID = task_create("disegna", disegna, &ht_disegna, NULL);
- if (disegna_PID == -1) {
- exit(4);
- }
-
- {
- KEY_EVT k;
- k.flag = ALTL_BIT;
- k.scan = KEY_C;
- k.ascii = 'c';
- k.status = KEY_PRESSED;
- keyb_hook(k,program_key_end,FALSE);
- }
-
- rgb_565_buf = malloc(RGB565MEM);
-
- gl_init();
-
- video_buf = (unsigned char *)video_memory;
- //video_buf = (unsigned char *)malloc(640*480*2);
-
- memset(rgb_565_buf, 0, RGB565MEM);
-
- group_activate(1);
-
- return 0;
-
-}
Index: rel_1_5_beta1/mesatex/readme.txt
===================================================================
--- rel_1_5_beta1/mesatex/readme.txt (revision 1557)
+++ rel_1_5_beta1/mesatex/readme.txt (nonexistent)
@@ -1,44 +0,0 @@
---------------------------------------
-MESA Demo (tex)
-
-by
-
-Giacomo Guidi <giacomo@gandalf.sssup.it>
-
-Last update 17/03/2003
---------------------------------------
-
-This is a simple test demo for the MESA (5.0)
-libraries, the low level graphic drivers is
-the SVGA (from the SVGAlib)
-
-See drivers/svga/readme for supported cards
-
---------------------------------------
-
-The demo is composed by:
-
-MAKEFILE The makefile used to compile the application
-README.TXT This file
-INITFILE.C The init file
-MESATEX.C The MESA Demo
-
---------------------------------------
-
-- To specify your card change the line
-
-#define CARD <driver name>
-
-- The demo calls the grx and off-screen Mesa functions.
-The resolution must be 16 bitsperpixel (64K colors) and
-the graphic access mode must be linear.
-
-- There are two buffers
-
- The video buffer (video_buf)
- The virtual buffer (rgb_565_buf)
-
- copy_videomem_16to16 links these buffers
-
-
-
Index: rel_1_5_beta1/mesatex/makefile
===================================================================
--- rel_1_5_beta1/mesatex/makefile (revision 1557)
+++ rel_1_5_beta1/mesatex/makefile (nonexistent)
@@ -1,16 +0,0 @@
-#
-#
-#
-
-ifndef BASE
-BASE=../..
-endif
-include $(BASE)/config/config.mk
-
-PROGS = mesatex
-
-include $(BASE)/config/example.mk
-
-mesatex:
- make -f $(SUBMAKE) APP=mesatex INIT= OTHEROBJS="initfile.o" SHARKOPT="__LINUXC26__ __PCI__ __INPUT__ __FB__ __OSMESA__"
-
Index: rel_1_5_beta1/jumpball/rrn.c
===================================================================
--- rel_1_5_beta1/jumpball/rrn.c (revision 1557)
+++ rel_1_5_beta1/jumpball/rrn.c (nonexistent)
@@ -1,217 +0,0 @@
-/*
- * Project: S.Ha.R.K.
- *
- * Coordinators:
- * Giorgio Buttazzo <giorgio@sssup.it>
- * Paolo Gai <pj@gandalf.sssup.it>
- *
- * Authors :
- * Paolo Gai <pj@gandalf.sssup.it>
- * (see the web pages for full authors list)
- *
- * ReTiS Lab (Scuola Superiore S.Anna - Pisa - Italy)
- *
- * http://www.sssup.it
- * http://retis.sssup.it
- * http://shark.sssup.it
- */
-
-/**
- ------------
- CVS : $Id: rrn.c,v 1.7 2005-02-25 11:08:58 pj Exp $
-
- File: $File$
- Revision: $Revision: 1.7 $
- Last update: $Date: 2005-02-25 11:08:58 $
- ------------
-**/
-
-/*
- * Copyright (C) 2003 Paolo Gai
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- */
-
-#include "kernel/kern.h"
-#include "intdrive/intdrive/intdrive.h"
-#include "edf/edf/edf.h"
-#include "rr/rr/rr.h"
-#include "rrsoft/rrsoft/rrsoft.h"
-#include "dummy/dummy/dummy.h"
-
-#include "sem/sem/sem.h"
-#include "hartport/hartport/hartport.h"
-#include "cabs/cabs/cabs.h"
-
-#include "nop/nop/nop.h"
-
-#include <drivers/shark_linuxc26.h>
-#include <drivers/shark_pci26.h>
-#include <drivers/shark_input26.h>
-#include <drivers/shark_keyb26.h>
-#include <drivers/shark_fb26.h>
-
-#define FRAME_BUFFER_DEVICE 0
-
-/*+ sysyem tick in us +*/
-#define TICK 0
-
-/*+ RR tick in us +*/
-#define RRTICK 2000
-
-/*+ Interrupt Server +*/
-#define INTDRIVE_Q 1000
-#define INTDRIVE_T 10000
-#define INTDRIVE_FLAG 0
-
-void call_shutdown_task(void *arg);
-int device_drivers_init();
-int device_drivers_close();
-void set_shutdown_task();
-TASK shutdown_task_body(void *arg);
-
-PID shutdown_task_PID = -1;
-
-TIME __kernel_register_levels__(void *arg)
-{
- struct multiboot_info *mb = (struct multiboot_info *)arg;
-
- INTDRIVE_register_level(INTDRIVE_Q,INTDRIVE_T,INTDRIVE_FLAG);
- RR_register_level(RRTICK, RR_MAIN_NO, mb); // this module remains empty!!!
- RRSOFT_register_level(RRTICK, RR_MAIN_NO, mb, RRSOFT_ONLY_HARD|RRSOFT_ONLY_SOFT);
- RR_register_level(RRTICK, RR_MAIN_YES, mb);
- dummy_register_level();
-
- SEM_register_module();
-
- CABS_register_module();
-
- NOP_register_module();
-
- return TICK;
-}
-
-TASK __init__(void *arg)
-{
- struct multiboot_info *mb = (struct multiboot_info *)arg;
-
- HARTPORT_init();
-
- set_shutdown_task();
-
- device_drivers_init();
-
- sys_atrunlevel(call_shutdown_task, NULL, RUNLEVEL_SHUTDOWN);
-
- __call_main__(mb);
-
- return (void *)0;
-}
-
-void set_shutdown_task() {
-
- NRT_TASK_MODEL nrt;
-
- nrt_task_default_model(nrt);
- nrt_task_def_system(nrt);
-
- shutdown_task_PID = task_create("Shutdown Task",shutdown_task_body,&nrt,NULL);
- if (shutdown_task_PID == NIL) {
- sys_shutdown_message("Error: Cannot create shutdown task\n");
- exit(1);
- }
-
-}
-
-int device_drivers_init() {
-
- int res;
- KEYB_PARMS kparms = BASE_KEYB;
-
- LINUXC26_register_module();
-
- PCI26_init();
-
- INPUT26_init();
-
- keyb_def_ctrlC(kparms, NULL);
-
- KEYB26_init(&kparms);
-
- FB26_init();
-
- res = FB26_open(FRAME_BUFFER_DEVICE);
- if (res) {
- cprintf("Error: Cannot open graphical mode\n");
- KEYB26_close();
- INPUT26_close();
- exit(1);
- }
-
- FB26_use_grx(FRAME_BUFFER_DEVICE);
-
- FB26_setmode(FRAME_BUFFER_DEVICE,"640x480-16");
-
- return 0;
-
-}
-
-int device_drivers_close() {
-
- FB26_close(FRAME_BUFFER_DEVICE);
-
- KEYB26_close();
-
- INPUT26_close();
-
- return 0;
-
-}
-
-#define SHUTDOWN_TIMEOUT_SEC 3
-
-void call_shutdown_task(void *arg)
-{
- struct timespec t;
-
- sys_gettime(&t);
- t.tv_sec += SHUTDOWN_TIMEOUT_SEC;
-
- /* Emergency timeout to exit from RUNLEVEL_SHUTDOWN */
- kern_event_post(&t,(void *)((void *)sys_abort_shutdown),(void *)0);
-
- task_activate(shutdown_task_PID);
-}
-
-TASK shutdown_task_body(void *arg) {
-
- device_drivers_close();
-
- sys_shutdown_message("-- S.Ha.R.K. Closed --\n");
-
- return NULL;
-
-}
-
-void app_mutex_init(mutex_t *m)
-{
- NOP_mutexattr_t attr;
-
- NOP_mutexattr_default(attr);
-
- mutex_init(m, &attr);
-}
-
Index: rel_1_5_beta1/jumpball/rrp.c
===================================================================
--- rel_1_5_beta1/jumpball/rrp.c (revision 1557)
+++ rel_1_5_beta1/jumpball/rrp.c (nonexistent)
@@ -1,217 +0,0 @@
-/*
- * Project: S.Ha.R.K.
- *
- * Coordinators:
- * Giorgio Buttazzo <giorgio@sssup.it>
- * Paolo Gai <pj@gandalf.sssup.it>
- *
- * Authors :
- * Paolo Gai <pj@gandalf.sssup.it>
- * (see the web pages for full authors list)
- *
- * ReTiS Lab (Scuola Superiore S.Anna - Pisa - Italy)
- *
- * http://www.sssup.it
- * http://retis.sssup.it
- * http://shark.sssup.it
- */
-
-/**
- ------------
- CVS : $Id: rrp.c,v 1.7 2005-02-25 11:08:58 pj Exp $
-
- File: $File$
- Revision: $Revision: 1.7 $
- Last update: $Date: 2005-02-25 11:08:58 $
- ------------
-**/
-
-/*
- * Copyright (C) 2003 Paolo Gai
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- */
-
-#include "kernel/kern.h"
-#include "intdrive/intdrive/intdrive.h"
-#include "edf/edf/edf.h"
-#include "rr/rr/rr.h"
-#include "rrsoft/rrsoft/rrsoft.h"
-#include "dummy/dummy/dummy.h"
-
-#include "sem/sem/sem.h"
-#include "hartport/hartport/hartport.h"
-#include "cabs/cabs/cabs.h"
-
-#include "pi/pi/pi.h"
-
-#include <drivers/shark_linuxc26.h>
-#include <drivers/shark_pci26.h>
-#include <drivers/shark_input26.h>
-#include <drivers/shark_keyb26.h>
-#include <drivers/shark_fb26.h>
-
-#define FRAME_BUFFER_DEVICE 0
-
-/*+ sysyem tick in us +*/
-#define TICK 0
-
-/*+ RR tick in us +*/
-#define RRTICK 2000
-
-/*+ Interrupt Server +*/
-#define INTDRIVE_Q 1000
-#define INTDRIVE_T 10000
-#define INTDRIVE_FLAG 0
-
-void call_shutdown_task(void *arg);
-int device_drivers_init();
-int device_drivers_close();
-void set_shutdown_task();
-TASK shutdown_task_body(void *arg);
-
-PID shutdown_task_PID = -1;
-
-TIME __kernel_register_levels__(void *arg)
-{
- struct multiboot_info *mb = (struct multiboot_info *)arg;
-
- INTDRIVE_register_level(INTDRIVE_Q,INTDRIVE_T,INTDRIVE_FLAG);
- RRSOFT_register_level(RRTICK, RR_MAIN_NO, mb, RRSOFT_ONLY_HARD);
- RRSOFT_register_level(RRTICK, RR_MAIN_NO, mb, RRSOFT_ONLY_SOFT);
- RR_register_level(RRTICK, RR_MAIN_YES, mb);
- dummy_register_level();
-
- SEM_register_module();
-
- CABS_register_module();
-
- PI_register_module();
-
- return TICK;
-}
-
-TASK __init__(void *arg)
-{
- struct multiboot_info *mb = (struct multiboot_info *)arg;
-
- HARTPORT_init();
-
- set_shutdown_task();
-
- device_drivers_init();
-
- sys_atrunlevel(call_shutdown_task, NULL, RUNLEVEL_SHUTDOWN);
-
- __call_main__(mb);
-
- return (void *)0;
-}
-
-void set_shutdown_task() {
-
- NRT_TASK_MODEL nrt;
-
- nrt_task_default_model(nrt);
- nrt_task_def_system(nrt);
-
- shutdown_task_PID = task_create("Shutdown Task",shutdown_task_body,&nrt,NULL);
- if (shutdown_task_PID == NIL) {
- sys_shutdown_message("Error: Cannot create shutdown task\n");
- exit(1);
- }
-
-}
-
-int device_drivers_init() {
-
- int res;
- KEYB_PARMS kparms = BASE_KEYB;
-
- LINUXC26_register_module();
-
- PCI26_init();
-
- INPUT26_init();
-
- keyb_def_ctrlC(kparms, NULL);
-
- KEYB26_init(&kparms);
-
- FB26_init();
-
- res = FB26_open(FRAME_BUFFER_DEVICE);
- if (res) {
- cprintf("Error: Cannot open graphical mode\n");
- KEYB26_close();
- INPUT26_close();
- exit(1);
- }
-
- FB26_use_grx(FRAME_BUFFER_DEVICE);
-
- FB26_setmode(FRAME_BUFFER_DEVICE,"640x480-16");
-
- return 0;
-
-}
-
-int device_drivers_close() {
-
- FB26_close(FRAME_BUFFER_DEVICE);
-
- KEYB26_close();
-
- INPUT26_close();
-
- return 0;
-
-}
-
-#define SHUTDOWN_TIMEOUT_SEC 3
-
-void call_shutdown_task(void *arg)
-{
- struct timespec t;
-
- sys_gettime(&t);
- t.tv_sec += SHUTDOWN_TIMEOUT_SEC;
-
- /* Emergency timeout to exit from RUNLEVEL_SHUTDOWN */
- kern_event_post(&t,(void *)((void *)sys_abort_shutdown),(void *)0);
-
- task_activate(shutdown_task_PID);
-}
-
-TASK shutdown_task_body(void *arg) {
-
- device_drivers_close();
-
- sys_shutdown_message("-- S.Ha.R.K. Closed --\n");
-
- return NULL;
-
-}
-
-void app_mutex_init(mutex_t *m)
-{
- PI_mutexattr_t attr;
-
- PI_mutexattr_default(attr);
-
- mutex_init(m, &attr);
-}
-
Index: rel_1_5_beta1/jumpball/demo.c
===================================================================
--- rel_1_5_beta1/jumpball/demo.c (revision 1557)
+++ rel_1_5_beta1/jumpball/demo.c (nonexistent)
@@ -1,198 +0,0 @@
-/*
- * Project: S.Ha.R.K.
- *
- * Coordinators:
- * Giorgio Buttazzo <giorgio@sssup.it>
- * Paolo Gai <pj@gandalf.sssup.it>
- *
- * Authors :
- * Paolo Gai <pj@gandalf.sssup.it>
- * (see the web pages for full authors list)
- *
- * ReTiS Lab (Scuola Superiore S.Anna - Pisa - Italy)
- *
- * http://www.sssup.it
- * http://retis.sssup.it
- * http://shark.sssup.it
- */
-
-/**
- ------------
- CVS : $Id: demo.c,v 1.8 2005-01-08 14:35:17 pj Exp $
-
- File: $File$
- Revision: $Revision: 1.8 $
- Last update: $Date: 2005-01-08 14:35:17 $
- ------------
-**/
-
-/*
- * Copyright (C) 2000-2003 Paolo Gai
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- */
-
-#include "demo.h"
-#include <kernel/func.h>
-#include <string.h>
-#include <stdlib.h>
-
-/* useful colors... */
-int white;
-int black;
-int red;
-int gray;
-
-void app_mutex_init(mutex_t *m);
-
-static void version( void )
-{
- cprintf( "S.Ha.R.K. Jumpball Demo 1.0\n" );
- cprintf( "---------------------------\n" );
- cprintf( "by Paolo Gai 1999-2001\n" );
- cprintf( " <pj@sssup.it>\n" );
- cprintf( "---------------------------\n" );
-}
-
-int myrand(int x)
-{
- return rand()%x;
-}
-
-void reverse(char s[])
-{
- int c, i, j;
-
- for (i = 0, j = strlen(s)-1; i<j; i++, j--)
- {
- c = s[i];
- s[i] = s[j];
- s[j] = c;
- }
-}
-
-char * itoa(int n, char *s)
-{
- int i, sign;
-
- if ((sign = n) < 0)
- n = -n;
-
- i = 0;
-
- do
- {
- s[i++] = n % 10 + '0';
- } while ((n /= 10) > 0);
-
- if (sign < 0)
- s[i++] = '-';
-
- s[i] = 0;
-
- reverse(s);
-
- return s;
-}
-
-
-void scenario()
-{
- grx_text("S.Ha.R.K. Jumpball Demo 1.0", 0, 0, rgb16(0,255,0), black );
- grx_text(" by Paolo Gai 1999-2001" , 0, 8, rgb16(0,255,0), black );
- grx_text(" pj@sssup.it" , 0,16, rgb16(0,255,0), black );
-
- grx_text("Ctrl-C, Ctrr-C, Enter: exit" ,320, 0, gray, black );
- grx_text("Alt-C : void statistics" ,320, 8, gray, black );
- grx_text("Space : create noise ball",320,16, gray, black );
- grx_text("Backspace : kill noise balls" ,320,24, gray, black );
-
-
- #ifdef JET_ON
- scenario_jetcontrol();
- #endif
-
- #ifdef BALL_ON
- scenario_ball();
- #endif
-}
-
-void endfun(KEY_EVT *k)
-{
- exit(0);
-}
-
-void zerofun(KEY_EVT *k)
-{
- int i;
- for (i=0; i<MAX_PROC; i++) jet_delstat(i);
-}
-
-int main(int argc, char **argv)
-{
-
- KEY_EVT k;
-
- version();
-
- srand(4);
-
- k.flag = CNTR_BIT;
- k.scan = KEY_C;
- k.ascii = 'c';
- k.status = KEY_PRESSED;
- keyb_hook(k,endfun,FALSE);
- k.flag = CNTL_BIT;
- k.scan = KEY_C;
- k.ascii = 'c';
- k.status = KEY_PRESSED;
- keyb_hook(k,endfun,FALSE);
- k.flag = ALTL_BIT;
- k.scan = KEY_C;
- k.ascii = 'c';
- k.status = KEY_PRESSED;
- keyb_hook(k,zerofun,FALSE);
- k.flag = 0;
- k.scan = KEY_ENT;
- k.ascii = 13;
- k.status = KEY_PRESSED;
- keyb_hook(k,endfun,FALSE);
-
- /* init the graphic mutex */
- app_mutex_init(&mutex);
-
- /* useful colors ... */
- white = rgb16(255,255,255);
- black = rgb16(0,0,0);
- red = rgb16(255,0,0);
- gray = rgb16(128,128,128);
-
- scenario();
-
- #ifdef JET_ON
- init_jetcontrol();
- #endif
-
- #ifdef BALL_ON
- init_ball();
- #endif
-
- group_activate(1);
-
- return 0;
-}
-
-
Index: rel_1_5_beta1/jumpball/ern.c
===================================================================
--- rel_1_5_beta1/jumpball/ern.c (revision 1557)
+++ rel_1_5_beta1/jumpball/ern.c (nonexistent)
@@ -1,218 +0,0 @@
-/*
- * Project: S.Ha.R.K.
- *
- * Coordinators:
- * Giorgio Buttazzo <giorgio@sssup.it>
- * Paolo Gai <pj@gandalf.sssup.it>
- *
- * Authors :
- * Paolo Gai <pj@gandalf.sssup.it>
- * (see the web pages for full authors list)
- *
- * ReTiS Lab (Scuola Superiore S.Anna - Pisa - Italy)
- *
- * http://www.sssup.it
- * http://retis.sssup.it
- * http://shark.sssup.it
- */
-
-/**
- ------------
- CVS : $Id: ern.c,v 1.7 2005-02-25 11:08:58 pj Exp $
-
- File: $File$
- Revision: $Revision: 1.7 $
- Last update: $Date: 2005-02-25 11:08:58 $
- ------------
-**/
-
-/*
- * Copyright (C) 2003 Paolo Gai
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- */
-
-#include "kernel/kern.h"
-#include "intdrive/intdrive/intdrive.h"
-#include "edf/edf/edf.h"
-#include "rr/rr/rr.h"
-#include "rrsoft/rrsoft/rrsoft.h"
-#include "dummy/dummy/dummy.h"
-
-#include "sem/sem/sem.h"
-#include "hartport/hartport/hartport.h"
-#include "cabs/cabs/cabs.h"
-
-#include "nop/nop/nop.h"
-
-#include <drivers/shark_linuxc26.h>
-#include <drivers/shark_pci26.h>
-#include <drivers/shark_input26.h>
-#include <drivers/shark_keyb26.h>
-#include <drivers/shark_fb26.h>
-
-#define FRAME_BUFFER_DEVICE 0
-
-
-/*+ sysyem tick in us +*/
-#define TICK 0
-
-/*+ RR tick in us +*/
-#define RRTICK 2000
-
-/*+ Interrupt Server +*/
-#define INTDRIVE_Q 1000
-#define INTDRIVE_T 10000
-#define INTDRIVE_FLAG 0
-
-void call_shutdown_task(void *arg);
-int device_drivers_init();
-int device_drivers_close();
-void set_shutdown_task();
-TASK shutdown_task_body(void *arg);
-
-PID shutdown_task_PID = -1;
-
-TIME __kernel_register_levels__(void *arg)
-{
- struct multiboot_info *mb = (struct multiboot_info *)arg;
-
- INTDRIVE_register_level(INTDRIVE_Q,INTDRIVE_T,INTDRIVE_FLAG);
- EDF_register_level(EDF_ENABLE_ALL);
- RRSOFT_register_level(RRTICK, RR_MAIN_NO, mb, RRSOFT_ONLY_HARD|RRSOFT_ONLY_SOFT);
- RR_register_level(RRTICK, RR_MAIN_YES, mb);
- dummy_register_level();
-
- SEM_register_module();
-
- CABS_register_module();
-
- NOP_register_module();
-
- return TICK;
-}
-
-TASK __init__(void *arg)
-{
- struct multiboot_info *mb = (struct multiboot_info *)arg;
-
- HARTPORT_init();
-
- set_shutdown_task();
-
- device_drivers_init();
-
- sys_atrunlevel(call_shutdown_task, NULL, RUNLEVEL_SHUTDOWN);
-
- __call_main__(mb);
-
- return (void *)0;
-}
-
-void set_shutdown_task() {
-
- NRT_TASK_MODEL nrt;
-
- nrt_task_default_model(nrt);
- nrt_task_def_system(nrt);
-
- shutdown_task_PID = task_create("Shutdown Task",shutdown_task_body,&nrt,NULL);
- if (shutdown_task_PID == NIL) {
- sys_shutdown_message("Error: Cannot create shutdown task\n");
- exit(1);
- }
-
-}
-
-int device_drivers_init() {
-
- int res;
- KEYB_PARMS kparms = BASE_KEYB;
-
- LINUXC26_register_module();
-
- PCI26_init();
-
- INPUT26_init();
-
- keyb_def_ctrlC(kparms, NULL);
-
- KEYB26_init(&kparms);
-
- FB26_init();
-
- res = FB26_open(FRAME_BUFFER_DEVICE);
- if (res) {
- cprintf("Error: Cannot open graphical mode\n");
- KEYB26_close();
- INPUT26_close();
- exit(1);
- }
-
- FB26_use_grx(FRAME_BUFFER_DEVICE);
-
- FB26_setmode(FRAME_BUFFER_DEVICE,"640x480-16");
-
- return 0;
-
-}
-
-int device_drivers_close() {
-
- FB26_close(FRAME_BUFFER_DEVICE);
-
- KEYB26_close();
-
- INPUT26_close();
-
- return 0;
-
-}
-
-#define SHUTDOWN_TIMEOUT_SEC 3
-
-void call_shutdown_task(void *arg)
-{
- struct timespec t;
-
- sys_gettime(&t);
- t.tv_sec += SHUTDOWN_TIMEOUT_SEC;
-
- /* Emergency timeout to exit from RUNLEVEL_SHUTDOWN */
- kern_event_post(&t,(void *)((void *)sys_abort_shutdown),(void *)0);
-
- task_activate(shutdown_task_PID);
-}
-
-TASK shutdown_task_body(void *arg) {
-
- device_drivers_close();
-
- sys_shutdown_message("-- S.Ha.R.K. Closed --\n");
-
- return NULL;
-
-}
-
-void app_mutex_init(mutex_t *m)
-{
- NOP_mutexattr_t attr;
-
- NOP_mutexattr_default(attr);
-
- mutex_init(m, &attr);
-}
-
Index: rel_1_5_beta1/jumpball/ecp.c
===================================================================
--- rel_1_5_beta1/jumpball/ecp.c (revision 1557)
+++ rel_1_5_beta1/jumpball/ecp.c (nonexistent)
@@ -1,214 +0,0 @@
-/*
- * Project: S.Ha.R.K.
- *
- * Coordinators:
- * Giorgio Buttazzo <giorgio@sssup.it>
- * Paolo Gai <pj@gandalf.sssup.it>
- *
- * Authors :
- * Paolo Gai <pj@gandalf.sssup.it>
- * (see the web pages for full authors list)
- *
- * ReTiS Lab (Scuola Superiore S.Anna - Pisa - Italy)
- *
- * http://www.sssup.it
- * http://retis.sssup.it
- * http://shark.sssup.it
- */
-
-/**
- ------------
- CVS : $Id: ecp.c,v 1.7 2005-02-25 11:08:58 pj Exp $
-
- File: $File$
- Revision: $Revision: 1.7 $
- Last update: $Date: 2005-02-25 11:08:58 $
- ------------
-**/
-
-/*
- * Copyright (C) 2003 Paolo Gai
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- */
-
-#include "kernel/kern.h"
-#include "intdrive/intdrive/intdrive.h"
-#include "edf/edf/edf.h"
-#include "cbs/cbs/cbs.h"
-#include "rr/rr/rr.h"
-#include "dummy/dummy/dummy.h"
-
-#include "sem/sem/sem.h"
-#include "hartport/hartport/hartport.h"
-#include "cabs/cabs/cabs.h"
-
-#include "pi/pi/pi.h"
-
-#include <drivers/shark_linuxc26.h>
-#include <drivers/shark_pci26.h>
-#include <drivers/shark_input26.h>
-#include <drivers/shark_keyb26.h>
-#include <drivers/shark_fb26.h>
-
-#define FRAME_BUFFER_DEVICE 0
-
-/*+ sysyem tick in us +*/
-#define TICK 0
-
-/*+ RR tick in us +*/
-#define RRTICK 2000
-
-/*+ Interrupt Server +*/
-#define INTDRIVE_Q 1000
-#define INTDRIVE_T 10000
-#define INTDRIVE_FLAG 0
-
-void call_shutdown_task(void *arg);
-int device_drivers_init();
-int device_drivers_close();
-void set_shutdown_task();
-TASK shutdown_task_body(void *arg);
-
-PID shutdown_task_PID = -1;
-
-TIME __kernel_register_levels__(void *arg)
-{
- struct multiboot_info *mb = (struct multiboot_info *)arg;
-
- INTDRIVE_register_level(INTDRIVE_Q,INTDRIVE_T,INTDRIVE_FLAG);
- EDF_register_level(EDF_ENABLE_ALL);
- CBS_register_level(CBS_ENABLE_ALL, 1);
- RR_register_level(RRTICK, RR_MAIN_YES, mb);
- dummy_register_level();
-
- SEM_register_module();
- CABS_register_module();
- PI_register_module();
-
- return TICK;
-}
-
-TASK __init__(void *arg)
-{
- struct multiboot_info *mb = (struct multiboot_info *)arg;
-
- HARTPORT_init();
-
- set_shutdown_task();
-
- device_drivers_init();
-
- sys_atrunlevel(call_shutdown_task, NULL, RUNLEVEL_SHUTDOWN);
-
- __call_main__(mb);
-
- return (void *)0;
-}
-
-void set_shutdown_task() {
-
- NRT_TASK_MODEL nrt;
-
- nrt_task_default_model(nrt);
- nrt_task_def_system(nrt);
-
- shutdown_task_PID = task_create("Shutdown Task",shutdown_task_body,&nrt,NULL);
- if (shutdown_task_PID == NIL) {
- sys_shutdown_message("Error: Cannot create shutdown task\n");
- exit(1);
- }
-
-}
-
-int device_drivers_init() {
-
- int res;
- KEYB_PARMS kparms = BASE_KEYB;
-
- LINUXC26_register_module();
-
- PCI26_init();
-
- INPUT26_init();
-
- keyb_def_ctrlC(kparms, NULL);
-
- KEYB26_init(&kparms);
-
- FB26_init();
-
- res = FB26_open(FRAME_BUFFER_DEVICE);
- if (res) {
- cprintf("Error: Cannot open graphical mode\n");
- KEYB26_close();
- INPUT26_close();
- exit(1);
- }
-
- FB26_use_grx(FRAME_BUFFER_DEVICE);
-
- FB26_setmode(FRAME_BUFFER_DEVICE,"640x480-16");
-
- return 0;
-
-}
-
-int device_drivers_close() {
-
- FB26_close(FRAME_BUFFER_DEVICE);
-
- KEYB26_close();
-
- INPUT26_close();
-
- return 0;
-
-}
-
-#define SHUTDOWN_TIMEOUT_SEC 3
-
-void call_shutdown_task(void *arg)
-{
- struct timespec t;
-
- sys_gettime(&t);
- t.tv_sec += SHUTDOWN_TIMEOUT_SEC;
-
- /* Emergency timeout to exit from RUNLEVEL_SHUTDOWN */
- kern_event_post(&t,(void *)((void *)sys_abort_shutdown),(void *)0);
-
- task_activate(shutdown_task_PID);
-}
-
-TASK shutdown_task_body(void *arg) {
-
- device_drivers_close();
-
- sys_shutdown_message("-- S.Ha.R.K. Closed --\n");
-
- return NULL;
-
-}
-
-void app_mutex_init(mutex_t *m)
-{
- PI_mutexattr_t attr;
-
- PI_mutexattr_default(attr);
-
- mutex_init(m, &attr);
-}
Index: rel_1_5_beta1/jumpball/jetctrl.c
===================================================================
--- rel_1_5_beta1/jumpball/jetctrl.c (revision 1557)
+++ rel_1_5_beta1/jumpball/jetctrl.c (nonexistent)
@@ -1,236 +0,0 @@
-/*
- * Project: S.Ha.R.K.
- *
- * Coordinators:
- * Giorgio Buttazzo <giorgio@sssup.it>
- * Paolo Gai <pj@gandalf.sssup.it>
- *
- * Authors :
- * Paolo Gai <pj@gandalf.sssup.it>
- * (see the web pages for full authors list)
- *
- * ReTiS Lab (Scuola Superiore S.Anna - Pisa - Italy)
- *
- * http://www.sssup.it
- * http://retis.sssup.it
- * http://shark.sssup.it
- */
-
-/**
- ------------
- CVS : $Id: jetctrl.c,v 1.5 2005-01-08 14:35:17 pj Exp $
-
- File: $File$
- Revision: $Revision: 1.5 $
- Last update: $Date: 2005-01-08 14:35:17 $
- ------------
-**/
-
-/*
- * Copyright (C) 2000 Paolo Gai
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- */
-
-
-// JetControl
-
-#include "demo.h"
-#include "kernel/func.h"
-
-TASK jetdummy_task(void *arg)
-{
- TIME now_dummy, last_dummy, diff_dummy, slice;
- struct timespec now, last, diff;
- int x = 0;
- int height;
-
- NULL_TIMESPEC(&last);
- last_dummy = 0;
- for (;;) {
- task_nopreempt();
- jet_getstat(DUMMY_PID, NULL, NULL, NULL, &now_dummy);
- sys_gettime(&now);
- task_preempt();
-
- SUBTIMESPEC(&now, &last, &diff);
- slice = diff.tv_sec * 1000000 + diff.tv_nsec/1000;
- diff_dummy = now_dummy - last_dummy;
-
- height = (int)(JET_DUMMY_HEIGHT*((float)diff_dummy)/((float)slice));
-
- TIMESPEC_ASSIGN(&last, &now);
- last_dummy = now_dummy;
-
- grx_line(JET_DUMMY_X+x,JET_DUMMY_Y,
- JET_DUMMY_X+x,JET_DUMMY_Y+height ,black);
- grx_line(JET_DUMMY_X+x,JET_DUMMY_Y+height,
- JET_DUMMY_X+x,JET_DUMMY_Y+JET_DUMMY_HEIGHT,white);
- grx_line(JET_DUMMY_X+(x+1)%JET_DUMMY_WIDTH,JET_DUMMY_Y,
- JET_DUMMY_X+(x+1)%JET_DUMMY_WIDTH,JET_DUMMY_Y+JET_DUMMY_HEIGHT,255);
-
- x = (x+1)%JET_DUMMY_WIDTH;
-
- task_endcycle();
- }
-}
-
-
-TASK jetctrl_task(void *arg)
-{
- char st[50];
- TIME sum, max;
- int n;
-
- PID i;
- int printed = 0;
-
- for (;;) {
- for (i=2, printed=0; i<MAX_PROC && printed<JET_NTASK; i++) {
- if (jet_getstat(i, &sum, &max, &n, NULL) != -1) {
- if (!n) n=1;
- sprintf(st, "%6d %6d %10s", (int)sum/n, (int)max, proc_table[i].name);
- grx_text(st, 384, JET_Y_NAME+16+printed*8, gray, black);
- printed++;
- }
- }
- while (printed<JET_NTASK) {
- grx_text(" ",
- 384, JET_Y_NAME+16+printed*8, gray, black);
- printed++;
- }
- task_endcycle();
- }
-}
-
-TASK jetslide_task(void *arg)
-{
- TIME sum, curr, max;
-
- TIME total[JET_NTASK];
- int slides[JET_NTASK];
-
- PID i;
- int printed = 0;
-
- for (;;) {
- // Fill the total array in a nonpreemptive section
- task_nopreempt();
- for (i=2, printed=0; i<MAX_PROC && printed<JET_NTASK; i++) {
- if (jet_getstat(i, &sum, NULL, NULL, &curr) != -1) {
- total[printed] = sum+curr;
- printed++;
- }
- }
- task_preempt();
-
- while (printed < JET_NTASK)
- total[printed++] = 0;
-
- // Compute the Max elapsed time
- max = 0;
- for (i=0; i<JET_NTASK; i++)
- if (total[i] > max) max = total[i];
- if (!max) max = 1;
-
- // Compute the slides width
- for (i=0; i<JET_NTASK; i++)
- slides[i] = (int)( (((float)total[i])/max) * JET_SLIDE_WIDTH);
-
- // print the data
- for (i=0; i<JET_NTASK; i++) {
- grx_box(JET_SLIDE_X, JET_Y_NAME+16+i*8,
- JET_SLIDE_X+slides[i], JET_Y_NAME+23+i*8, gray);
- grx_box(JET_SLIDE_X+slides[i], JET_Y_NAME+16+i*8,
- JET_SLIDE_X+JET_SLIDE_WIDTH, JET_Y_NAME+23+i*8, black);
- }
-
- while (i<JET_NTASK) {
- grx_box(JET_SLIDE_X, JET_Y_NAME+16+i*8,
- JET_SLIDE_X+JET_SLIDE_WIDTH, JET_Y_NAME+20+i*8, black);
- i++;
- }
- task_endcycle();
- }
-}
-
-
-void scenario_jetcontrol(void)
-{
- grx_text("System load" , 384, 45, rgb16(0,0,255), black);
- grx_line(384,55,639,55,red);
-
- grx_text(" Mean Max Name Slide", 384, JET_Y_NAME, gray, black);
- grx_line(384,JET_Y_NAME+10,639,JET_Y_NAME+10,gray);
-
- grx_rect(JET_DUMMY_X-1, JET_DUMMY_Y-1,
- JET_DUMMY_X+JET_DUMMY_WIDTH, JET_DUMMY_Y+JET_DUMMY_HEIGHT+1, gray);
-
- grx_text("100%", JET_DUMMY_X-40, JET_DUMMY_Y, gray, black);
- grx_text(" 0%", JET_DUMMY_X-40, JET_DUMMY_Y+JET_DUMMY_HEIGHT-8, gray, black);
-
- grx_line(JET_DUMMY_X-1, JET_DUMMY_Y, JET_DUMMY_X-5, JET_DUMMY_Y, gray);
- grx_line(JET_DUMMY_X-1, JET_DUMMY_Y+JET_DUMMY_HEIGHT, JET_DUMMY_X-5, JET_DUMMY_Y+JET_DUMMY_HEIGHT, gray);
-}
-
-void init_jetcontrol(void)
-{
- SOFT_TASK_MODEL m3, m4, m5;
-
- PID p3, p4, p5;
-
- soft_task_default_model(m3);
- soft_task_def_level(m3,2);
- soft_task_def_period(m3, PERIOD_JETCTRL);
- soft_task_def_met(m3, WCET_JETCTRL);
- soft_task_def_ctrl_jet(m3);
- soft_task_def_group(m3, 1);
- p3 = task_create("jctrl", jetctrl_task, &m3, NULL);
- if (p3 == -1) {
- sys_shutdown_message("Could not create task <jetctrl> errno=%d",
- errno);
- exit(1);
- }
-
- soft_task_default_model(m4);
- soft_task_def_level(m4,2);
- soft_task_def_period(m4, PERIOD_JETDUMMY);
- soft_task_def_met(m4, WCET_JETDUMMY);
- soft_task_def_group(m4, 1);
- soft_task_def_usemath(m4);
- soft_task_def_ctrl_jet(m4);
- p4 = task_create("jdmy", jetdummy_task, &m4, NULL);
- if (p4 == -1) {
- sys_shutdown_message("Could not create task <jetdummy> errno=%d",
- errno);
- exit(1);
- }
-
- soft_task_default_model(m5);
- soft_task_def_level(m5,2);
- soft_task_def_period(m5, PERIOD_JETSLIDE);
- soft_task_def_met(m5, WCET_JETSLIDE);
- soft_task_def_group(m5, 1);
- soft_task_def_usemath(m5);
- soft_task_def_ctrl_jet(m5);
- p5 = task_create("jsli", jetslide_task, &m5, NULL);
- if (p5 == -1) {
- sys_shutdown_message("Could not create task <jetslide> errno=%d",
- errno);
- exit(1);
- }
-}
-
Index: rel_1_5_beta1/jumpball/demo.h
===================================================================
--- rel_1_5_beta1/jumpball/demo.h (revision 1557)
+++ rel_1_5_beta1/jumpball/demo.h (nonexistent)
@@ -1,183 +0,0 @@
-/*
- * Project: S.Ha.R.K.
- *
- * Coordinators:
- * Giorgio Buttazzo <giorgio@sssup.it>
- * Paolo Gai <pj@gandalf.sssup.it>
- *
- * Authors :
- * Paolo Gai <pj@gandalf.sssup.it>
- * (see the web pages for full authors list)
- *
- * ReTiS Lab (Scuola Superiore S.Anna - Pisa - Italy)
- *
- * http://www.sssup.it
- * http://retis.sssup.it
- * http://shark.sssup.it
- */
-
-/**
- ------------
- CVS : $Id: demo.h,v 1.7 2004-09-14 09:21:13 giacomo Exp $
-
- File: $File$
- Revision: $Revision: 1.7 $
- Last update: $Date: 2004-09-14 09:21:13 $
- ------------
-**/
-
-/*
- * Copyright (C) 2000 Paolo Gai
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- */
-
-
-#include <ll/ll.h>
-#include <kernel/types.h>
-#include <kernel/descr.h>
-#include <math.h>
-
-#include <drivers/shark_linuxc26.h>
-#include <drivers/shark_pci26.h>
-#include <drivers/shark_input26.h>
-#include <drivers/shark_keyb26.h>
-#include <drivers/shark_fb26.h>
-
-#define FRAME_BUFFER_DEVICE 0
-
-/* Subparts */
-#define JET_ON
-#define BALL_ON
-
-
-/* CPU Speed Selection
- --------------------------------------------------------------------
- 1700 - Pentium 4 1.7 GHz
- 1300 - Centrino 1.3 GHz
- 400 - Pentium 2 400 MHz
- 133 - Pentium 1 133 MHz
-*/
-#define CPU 400
-
-/*
- *
- * WCET, Periods and Models
- *
- */
-
-#if CPU==133
-#define WCET_JETCTRL 10000
-#define WCET_JETDUMMY 300
-#define WCET_JETSLIDE 2000
-#define WCET_BALL 250
-#define WCET_HARD_BALL 1000
-#define BALL_DELAY 10000
-#endif
-
-#if CPU==400
-#define WCET_JETCTRL 7500
-#define WCET_JETDUMMY 400
-#define WCET_JETSLIDE 2100
-#define WCET_BALL 250
-#define WCET_HARD_BALL 480
-#define BALL_DELAY 10000
-#endif
-
-#if CPU==1300
-#define WCET_JETCTRL 4500
-#define WCET_JETDUMMY 200
-#define WCET_JETSLIDE 1300
-#define WCET_BALL 250
-#define WCET_HARD_BALL 650
-#define BALL_DELAY 100000
-#endif
-
-#if CPU==1700
-#define WCET_JETCTRL 4500
-#define WCET_JETDUMMY 100
-#define WCET_JETSLIDE 1300
-#define WCET_BALL 250
-#define WCET_HARD_BALL 410
-#define BALL_DELAY 100000
-#endif
-
-#define PERIOD_JETCTRL 100000
-#define PERIOD_JETDUMMY 100000
-#define PERIOD_JETSLIDE 100000
-#define PERIOD_BALL 10000
-
-/*
- *
- * Global Stuffs
- *
- */
-
-extern PID shutdown_task_PID;
-
-/* graphic mutex... */
-extern mutex_t mutex;
-
-/* useful colors... */
-extern int white;
-extern int black;
-extern int red;
-extern int gray;
-
-void init_jetcontrol();
-void init_ball(void);
-void scenario_jetcontrol();
-void scenario_ball();
-char *itoa(int n, char *s);
-int myrand(int x);
-
-/*
- *
- * JETCONTROL stuffs
- *
- */
-
-#define JET_NTASK 35
-#define JET_Y_NAME 170
-
-#define DUMMY_PID 1
-
-#define JET_DUMMY_WIDTH 210
-#define JET_DUMMY_HEIGHT 80
-
-/* the point (x, y) is the top left corner */
-#define JET_DUMMY_X 428
-#define JET_DUMMY_Y 65
-
-#define JET_SLIDE_WIDTH 50
-#define JET_SLIDE_X 576
-
-/*
- *
- * BALL stuffs
- *
- */
-
-// x and y corners are specified whithout consider a border of 3 pixels
-#define BALL_Y 450 /* position of the floor */
-#define BALL_HEIGHT 385 /* initial height of the ball */
-#define BALL_XMIN 10 /* min position X of the ball */
-#define BALL_XMAX 370 /* max position X of the ball */
-#define BALL_VELX 5. /* horizontal ball velocity */
-#define BALL_VYMIN 11. /* min ground speed */
-#define BALL_MAX_P 60 /* max number of balls */
-
-#define BALL_GROUP 2 /* task group of the balls */
Index: rel_1_5_beta1/jumpball/readme.txt
===================================================================
--- rel_1_5_beta1/jumpball/readme.txt (revision 1557)
+++ rel_1_5_beta1/jumpball/readme.txt (nonexistent)
@@ -1,94 +0,0 @@
-----------------------------------
-Jumping Balls demo
-
-by
-
-Paolo Gai 1999-2001 - pj@sssup.it
-
-----------------------------------
-
-This demo was created to show some S.Ha.R.K. functionalities in the course
-of Informatica Industriale , University of Pavia, Italy.
-
-The demo is composed by an application (derived by the template application
-distributed on the web site) and two init files.
-
-The demo is composed by:
-
-MAKEFILE The makefile used to compile the application;
- demo is the rule to compile the application with a CBS scheduler
- demo2 is the rule to compile the application with a RR scheduler
-README.TXT This file
-DEMO.H Some constants used into the demo
-ECP.C, ERN.C, RRP.C, RRN.C Various initfiles
-INITFIL2.C The EDF initfile
-INITFILE.C A makefile that cover either EDF+CBS and RR
-BALL.C The Jumping balls part of the demo
-DEMO.C The main() function and some other utility function
-JETCTRL.C The JET part of the demo
-
-The demo works as follows:
-- It works at 640x480 16 bit colors
-- on the left, there is the jumping ball arena, on the rigth there is the
- statistics about the tasks into the system.
-
-- the tasks are guaranteed using CBS and EDF. The wcet and mean execution
- time on my portable after a few minutes are (us):
-
- JetCtrl 7400 max 7500 CBS met
- JetDummy 135 max 200 CBS met
- JetSlide 2100 max 2100 CBS met
- Balls 276 max 380 EDF wcet for hard ball,100 CBS met for soft ones
-
- The system should go overloaded with 40 soft balls.
-
-- The idea is the following:
- - first, an edf guaranteed ball is created.
- - then, create a set of soft ball using space. since their met is < than the
- real met, they posticipate the deadlines.
- - if they are killed, they remain for some seconds in the zombie state
- - if a set of soft ball arde created (i.e., 10), and after a while all the
- others are created, the bandwidth is fully used, and the task posticipate
- their deadlines. the first set of tasks stops jumping when the bandwidth
- is full utilized by the newest balls until all the tasks have similar
- deadlines.
- - Note on the left the slides that represents the relative ratio
- between the tasks.
- - Note that in overload conditions the EDF task is still guaranteed
- - Note that PI is used with EDF, also if no theory says that it is good:
- - S.Ha.R.K. allows that, it is the user that have to choose if that is
- a non-sense
- - PI is independent from the implemnentation of the scheduling modules
- - if the second init file is used, RR is used instead of EDF+CBS.
- - In overload condition RR perform differently from EDF+CBS, giving to
- each task an equal fraction of bandwidth
-
- - note also:
- - the redefinition of the standard exception handler
- - the redefinition of the keys and the initialization of the keyboard
- - the myend exit function
- - the main() that terminates
- - the two parts (ball and jet) can be excluded using a #define
-
-If You have any question, please contact the author...
-
-Update (2003/12/19):
-Just some more notes...
-I usually show the four demos in the following order:
-
-(first of all, tune the demo depending on how fast your notebook is; see demo.h)
-
-ECP - EDF with CBS and PI... the white EDF ball still work also in overload; CBS balls just slow down but they still get their guaranteed bandwidth
-
-RRP - Round Robin with Priority inheritance ... the EDF ball is at the same level of the others, all slow down...
-
-RRN - 2 levels of Round Robin, without Priority inheritance ... when
-there is overload, the white ball works ok, but the other have an impredicible
-behavior (they execute many instances in one RR period)
-
-ERN - EDF, RR, no priority inheritance - the white ball misses his deadline
-just when there is an overload (all the other balls are queued on the same
-semaphore, so the blocking time increase, and when there is overload the EDF
-task misses also if it has not consumed his bandwidth). Note that it happens
-also if the EDF task consume just a few microseconds... Real time does not
-means "fast" :-)
Index: rel_1_5_beta1/jumpball/ball.c
===================================================================
--- rel_1_5_beta1/jumpball/ball.c (revision 1557)
+++ rel_1_5_beta1/jumpball/ball.c (nonexistent)
@@ -1,246 +0,0 @@
-/*
- * Project: S.Ha.R.K.
- *
- * Coordinators:
- * Giorgio Buttazzo <giorgio@sssup.it>
- * Paolo Gai <pj@gandalf.sssup.it>
- *
- * Authors :
- * Paolo Gai <pj@gandalf.sssup.it>
- * (see the web pages for full authors list)
- *
- * ReTiS Lab (Scuola Superiore S.Anna - Pisa - Italy)
- *
- * http://www.sssup.it
- * http://retis.sssup.it
- * http://shark.sssup.it
- */
-
-/**
- ------------
- CVS : $Id: ball.c,v 1.7 2005-01-08 14:35:17 pj Exp $
-
- File: $File$
- Revision: $Revision: 1.7 $
- Last update: $Date: 2005-01-08 14:35:17 $
- ------------
-**/
-
-/*
- * Copyright (C) 2000 Paolo Gai
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- */
-
-/*--------------------------------------------------------------*/
-/* SIMULATION OF JUMPING BALLS */
-/*--------------------------------------------------------------*/
-
-#include "demo.h"
-#include <kernel/func.h>
-#include <stdlib.h>
-
-#define R 8 /* dimension of a ball */
-#define G 9.8 /* acceleration of gravity */
-
-static int ballexit = 0;
-static int npc = 0; /* number of tasks created */
-
-/*--------------------------------------------------------------*/
-/* Delay function for jumping balls */
-/*--------------------------------------------------------------*/
-
-void my_delay(void)
-{
- int xxx;
- for (xxx=0; xxx<BALL_DELAY; xxx++);
-}
-
-/*--------------------------------------------------------------*/
-/* Periodic task for ball simulation */
-/*--------------------------------------------------------------*/
-
-TASK palla(int i)
-{
-int x, y; /* coordinate grafiche pallina */
-int ox, oy; /* vecchia posizione pallina */
-int x0, y0; /* posizione iniziale X pallina */
-float vx, vy; /* velocit… della pallina */
-float vy0; /* velocita' pallina al primo rimbalzo */
-float ty, tx; /* variabile temporale */
-float dt; /* incremento temporale */
-
- y = oy = y0 = BALL_HEIGHT;
- x = ox = x0 = BALL_XMIN;
-
- vy0= sqrt(2. * G * (float)BALL_HEIGHT);
- vy = 0;
- vx = BALL_VELX + myrand(9);
- tx = 0;
- ty = 0;
- dt = ((float)PERIOD_BALL)/100000;
-
- while (1) {
- y = y0 + vy*ty - .5*G*ty*ty;
- x = x0 + vx * tx;
-
- if (y < 0) {
- y = 0;
-
- if (vy == 0.0)
- vy = vy0;
- else if (vy < BALL_VYMIN)
- vy = vy0 * (1.0 - myrand(50)/100.0);
- else
- vy = 0.9 * vy;
-
- ty = 0.0;
- y0 = 0;
- }
-
- if (x > BALL_XMAX) {
- tx = 0.0;
- x0 = BALL_XMAX;
- vx = -vx;
- x = x0 + vx * tx;
- }
-
- if (x < BALL_XMIN) {
- tx = 0.0;
- x0 = BALL_XMIN;
- vx = -vx;
- x = x0 + vx * tx;
- }
-
- mutex_lock(&mutex);
- grx_disc(ox, oy, R, 0);
- ox = x;
- oy = BALL_Y - y;
- mutex_unlock(&mutex);
-
- if (ballexit && i!=0xFFFF) {
- npc--;
- return 0;
- }
-
- mutex_lock(&mutex);
- grx_disc(ox, oy, R, i);
- mutex_unlock(&mutex);
-
- my_delay();
-
- ty += dt;
- tx += dt;
- task_endcycle();
- }
-}
-
-void killball(KEY_EVT *k)
-{
- ballexit = 1;
-}
-
-void ballfun(KEY_EVT *k)
-{
- SOFT_TASK_MODEL mp;
- int r,g,b;
- PID pid;
- char palla_str[]="palla ";
-
- if (npc == BALL_MAX_P) return;
-
- ballexit = 0;
-
- r = 64 + myrand(190);
- g = 64 + myrand(190);
- b = 64 + myrand(190);
-
- itoa(npc,palla_str+5);
-
- soft_task_default_model(mp);
- soft_task_def_level(mp,2);
- soft_task_def_ctrl_jet(mp);
- soft_task_def_arg(mp, (void *)rgb16(r,g,b));
- soft_task_def_group(mp, BALL_GROUP);
- soft_task_def_met(mp, WCET_BALL);
- soft_task_def_period(mp,PERIOD_BALL);
- soft_task_def_usemath(mp);
- pid = task_create(palla_str, palla, &mp, NULL);
-
- if (pid != NIL) {
- task_activate(pid);
- npc++;
- }
-}
-
-void hardball()
-{
- HARD_TASK_MODEL mp;
- int r,g,b;
- PID pid;
-
- r = 255;
- g = 255;
- b = 255;
-
- hard_task_default_model(mp);
- hard_task_def_ctrl_jet(mp);
- hard_task_def_arg(mp, (void *)rgb16(r,g,b));
- hard_task_def_wcet(mp, WCET_HARD_BALL);
- hard_task_def_mit(mp,PERIOD_BALL);
- hard_task_def_usemath(mp);
- pid = task_create("pallaEDF", palla, &mp, NULL);
- if (pid == NIL) {
- sys_shutdown_message("Could not create task <pallaEDF>");
- exit(1);
- }
- else
- task_activate(pid);
-}
-
-
-/*--------------------------------------------------------------*/
-/* MAIN process */
-/*--------------------------------------------------------------*/
-
-void scenario_ball()
-{
- grx_text("Noise", 0, 45 /*BALL_Y-BALL_HEIGHT-15*/, rgb16(0,0,255), black);
- grx_line(0,55,383,55,red);
- grx_rect(BALL_XMIN-R-1, BALL_Y-BALL_HEIGHT-R-1,
- BALL_XMAX+R+1, BALL_Y+R+1, rgb16(0,200,0));
-}
-
-void init_ball(void)
-{
- KEY_EVT k;
-
- hardball();
-
- k.flag = 0;
- k.scan = KEY_SPC;
- k.ascii = ' ';
- k.status = KEY_PRESSED;
- keyb_hook(k,ballfun,FALSE);
-
- k.flag = 0;
- k.scan = KEY_BKS;
- k.ascii = ' ';
- k.status = KEY_PRESSED;
- keyb_hook(k,killball,FALSE);
-}
-
-/*--------------------------------------------------------------*/
Index: rel_1_5_beta1/jumpball/makefile
===================================================================
--- rel_1_5_beta1/jumpball/makefile (revision 1557)
+++ rel_1_5_beta1/jumpball/makefile (nonexistent)
@@ -1,24 +0,0 @@
-#
-#
-#
-
-ifndef BASE
-BASE=../..
-endif
-include $(BASE)/config/config.mk
-
-PROGS= ecp ern rrp rrn
-
-include $(BASE)/config/example.mk
-
-ecp:
- make -f $(SUBMAKE) APP=ecp INIT= OTHEROBJS="demo.o ball.o jetctrl.o" OTHERINCL= SHARKOPT="__LINUXC26__ __PCI__ __INPUT__ __FB__"
-
-ern:
- make -f $(SUBMAKE) APP=ern INIT= OTHEROBJS="demo.o ball.o jetctrl.o" OTHERINCL= SHARKOPT="__LINUXC26__ __PCI__ __INPUT__ __FB__"
-
-rrp:
- make -f $(SUBMAKE) APP=rrp INIT= OTHEROBJS="demo.o ball.o jetctrl.o" OTHERINCL= SHARKOPT="__LINUXC26__ __PCI__ __INPUT__ __FB__"
-
-rrn:
- make -f $(SUBMAKE) APP=rrn INIT= OTHEROBJS="demo.o ball.o jetctrl.o" OTHERINCL= SHARKOPT="__LINUXC26__ __PCI__ __INPUT__ __FB__"
Index: rel_1_5_beta1/newtrace/udp/makefile
===================================================================
--- rel_1_5_beta1/newtrace/udp/makefile (revision 1557)
+++ rel_1_5_beta1/newtrace/udp/makefile (nonexistent)
@@ -1,16 +0,0 @@
-#
-#
-#
-
-ifndef BASE
-BASE=../../..
-endif
-include $(BASE)/config/config.mk
-
-PROGS = udptrace
-
-include $(BASE)/config/example.mk
-
-udptrace:
- make -f $(SUBMAKE) BASE=$(BASE) APP=udptrace INIT= OTHEROBJS="initfile.o" OTHERINCL= SHARKOPT="__LINUXC26__ __PCI__ __INPUT__ __NET__"
-
Index: rel_1_5_beta1/newtrace/udp/initfile.c
===================================================================
--- rel_1_5_beta1/newtrace/udp/initfile.c (revision 1557)
+++ rel_1_5_beta1/newtrace/udp/initfile.c (nonexistent)
@@ -1,159 +0,0 @@
-/*
- * Project: S.Ha.R.K.
- *
- * Coordinators: Giorgio Buttazzo <giorgio@sssup.it>
- *
- * Authors : Mauro Marinoni <mauro.marinoni@unipv.it>
- * (see authors.txt for full list of hartik's authors)
- *
- * ReTiS Lab (Scuola Superiore S.Anna - Pisa - Italy)
- *
- * http://www.sssup.it
- * http://retis.sssup.it
- * http://hartik.sssup.it
- */
-
-/*
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- */
-
-
-#include <kernel/kern.h>
-
-#include "edf/edf/edf.h"
-#include "cbs/cbs/cbs.h"
-#include "rr/rr/rr.h"
-#include "dummy/dummy/dummy.h"
-#include "intdrive/intdrive/intdrive.h"
-
-#include "sem/sem/sem.h"
-#include "hartport/hartport/hartport.h"
-
-#include <drivers/shark_linuxc26.h>
-#include <drivers/shark_pci26.h>
-#include <drivers/shark_input26.h>
-#include <drivers/shark_keyb26.h>
-
-/*+ sysyem tick in us +*/
-#define TICK 0
-
-/*+ RR tick in us +*/
-#define RRTICK 10000
-
-/*+ Interrupt Server +*/
-#define INTDRIVE_Q 1000
-#define INTDRIVE_T 10000
-#define INTDRIVE_FLAG 0
-
-void call_shutdown_task(void *arg);
-int device_drivers_init();
-int device_drivers_close();
-void set_shutdown_task();
-TASK shutdown_task_body(void *arg);
-
-PID shutdown_task_PID = 1;
-
-TIME __kernel_register_levels__(void *arg)
-{
- struct multiboot_info *mb = (struct multiboot_info *)arg;
-
- INTDRIVE_register_level(INTDRIVE_Q, INTDRIVE_T, INTDRIVE_FLAG);
- EDF_register_level(EDF_ENABLE_ALL);
- CBS_register_level(CBS_ENABLE_ALL, 1);
- RR_register_level(RRTICK, RR_MAIN_YES, mb);
- dummy_register_level();
-
- SEM_register_module();
-
- return TICK;
-}
-
-int device_drivers_close() {
-
- KEYB26_close();
- INPUT26_close();
-
- return 0;
-
-}
-
-int device_drivers_init() {
-
- KEYB_PARMS kparms = BASE_KEYB;
-
- LINUXC26_register_module();
- PCI26_init();
- INPUT26_init();
-
- /*keyb_def_map(kparms, KEYMAP_IT);*/
- keyb_def_ctrlC(kparms, NULL);
- KEYB26_init(&kparms);
-
- return 0;
-}
-
-TASK shutdown_task_body(void *arg) {
-
- device_drivers_close();
- sys_shutdown_message("-- S.Ha.R.K. Closed --\n");
- return NULL;
-}
-
-#define SHUTDOWN_TIMEOUT_SEC 3
-
-void set_shutdown_task() {
-
- NRT_TASK_MODEL nrt;
-
- nrt_task_default_model(nrt);
- nrt_task_def_system(nrt);
-
- shutdown_task_PID = task_create("Shutdown Task", shutdown_task_body, &nrt, NULL);
- if (shutdown_task_PID == NIL) {
- sys_shutdown_message("Error: Cannot create shutdown task\n");
- exit(1);
- }
-
-}
-
-void call_shutdown_task(void *arg) {
-
- struct timespec t;
-
- sys_gettime(&t);
- t.tv_sec += SHUTDOWN_TIMEOUT_SEC;
-
- /* Emergency timeout to exit from RUNLEVEL_SHUTDOWN */
- kern_event_post(&t,(void *)((void *)sys_abort_shutdown),(void *)0);
-
- task_activate(shutdown_task_PID);
-}
-
-TASK __init__(void *arg)
-{
- struct multiboot_info *mb = (struct multiboot_info *)arg;
-
- HARTPORT_init();
-
- set_shutdown_task();
-
- device_drivers_init();
-
- sys_atrunlevel(call_shutdown_task, NULL, RUNLEVEL_SHUTDOWN);
-
- __call_main__(mb);
-
- return (void *)0;
-}
Index: rel_1_5_beta1/newtrace/udp/udptrace.c
===================================================================
--- rel_1_5_beta1/newtrace/udp/udptrace.c (revision 1557)
+++ rel_1_5_beta1/newtrace/udp/udptrace.c (nonexistent)
@@ -1,86 +0,0 @@
-/*
- * Project: S.Ha.R.K.
- *
- * Coordinators:
- * Giorgio Buttazzo <giorgio@sssup.it>
- * Paolo Gai <pj@gandalf.sssup.it>
- *
- * Authors :
- * Giacomo Guidi <giacomo@gandalf.sssup.it>
- *
- * ReTiS Lab (Scuola Superiore S.Anna - Pisa - Italy)
- *
- * http://www.sssup.it
- * http://retis.sssup.it
- * http://shark.sssup.it
- */
-
-#include <kernel/kern.h>
-#include <FTrace_chunk.h>
-#include <FTrace_udp.h>
-#include <tracer.h>
-
-extern unsigned int clk_per_msec;
-
-int main(int argc, char **argv)
-{
-
- long long i;
-
- int a,b,c;
- struct timespec start,end,diff;
- SYS_FLAGS f;
-
- a = FTrace_chunk_create(1000000, 1000000, FTRACE_CHUNK_FLAG_FREE | FTRACE_CHUNK_FLAG_CYC);
- b = FTrace_chunk_create(1000000, 1000000, FTRACE_CHUNK_FLAG_FREE | FTRACE_CHUNK_FLAG_JTN);
- c = FTrace_chunk_create(1000000, 1000000, FTRACE_CHUNK_FLAG_FREE | FTRACE_CHUNK_FLAG_CYC);
-
- FTrace_chunk_link(a,b);
- FTrace_chunk_link(b,c);
-
- FTrace_actual_chunk_select(a);
-
- kern_gettime(&start);
- FTrace_enable();
-
- TRACER_LOGEVENT(FTrace_EVT_trace_start,proc_table[exec_shadow].context,clk_per_msec);
-
- for (i=0;i<10;i++)
- if (proc_table[i].context != 0) TRACER_LOGEVENT(FTrace_EVT_id,
- (unsigned short int)proc_table[i].context,i);
-
- for (i=0;i<1000000000;i++);
-
- TRACER_LOGEVENT(FTrace_EVT_next_chunk,0,0);
-
- f = kern_fsave();
- __asm__("cpuid":::"eax","ebx","ecx","edx");
- FAST_TRACER_LOGEVENT(FTrace_EVT_ipoint,1000,0);
- FAST_TRACER_LOGEVENT(FTrace_EVT_ipoint,2000,0);
- FAST_TRACER_LOGEVENT(FTrace_EVT_ipoint,3000,0);
- FAST_TRACER_LOGEVENT(FTrace_EVT_ipoint,4000,0);
- FAST_TRACER_LOGEVENT(FTrace_EVT_ipoint,5000,0);
- __asm__("cpuid":::"eax","ebx","ecx","edx");
- kern_frestore(f);
-
- TRACER_LOGEVENT(FTrace_EVT_ipoint,6000,0);
-
- for (i=0;i<1000000000;i++);
-
- TRACER_LOGEVENT(FTrace_EVT_trace_stop,0,0);
-
- FTrace_disable();
- kern_gettime(&end);
-
- SUBTIMESPEC(&end,&start,&diff);
-
- cprintf("Logged Time %d s %d us\n",(int)diff.tv_sec,(int)diff.tv_nsec/1000);
-
- FTrace_OSD_init_udp(1, "192.168.1.10", "192.168.1.1");
-
- FTrace_send_chunk(a, 0, FTRACE_CHUNK_FLAG_FREE | FTRACE_CHUNK_FLAG_CYC);
- FTrace_send_chunk(b, 0, FTRACE_CHUNK_FLAG_FREE | FTRACE_CHUNK_FLAG_JTN);
-
- return 0;
-
-}
Index: rel_1_5_beta1/newtrace/nosave/nosave.c
===================================================================
--- rel_1_5_beta1/newtrace/nosave/nosave.c (revision 1557)
+++ rel_1_5_beta1/newtrace/nosave/nosave.c (nonexistent)
@@ -1,58 +0,0 @@
-/*
- * Project: S.Ha.R.K.
- *
- * Coordinators:
- * Giorgio Buttazzo <giorgio@sssup.it>
- * Paolo Gai <pj@gandalf.sssup.it>
- *
- * Authors :
- * Giacomo Guidi <giacomo@gandalf.sssup.it>
- *
- * ReTiS Lab (Scuola Superiore S.Anna - Pisa - Italy)
- *
- * http://www.sssup.it
- * http://retis.sssup.it
- * http://shark.sssup.it
- */
-
-#include <kernel/kern.h>
-#include <tracer.h>
-
-int main(int argc, char **argv)
-{
-
- long long i;
-
- int a,b,c;
- struct timespec start,end,diff;
-
- a = FTrace_chunk_create(1000000, 1000000, FTRACE_CHUNK_FLAG_FREE | FTRACE_CHUNK_FLAG_CYC);
- b = FTrace_chunk_create(1000000, 1000000, FTRACE_CHUNK_FLAG_FREE | FTRACE_CHUNK_FLAG_JTN);
- c = FTrace_chunk_create(1000000, 1000000, FTRACE_CHUNK_FLAG_FREE | FTRACE_CHUNK_FLAG_CYC);
-
- FTrace_chunk_link(a,b);
- FTrace_chunk_link(b,c);
-
- FTrace_actual_chunk_select(a);
-
- kern_gettime(&start);
- FTrace_enable();
-
- for (i=0;i<1000000000;i++);
-
- TRACER_LOGEVENT(FTrace_EVT_next_chunk,0,0);
-
- for (i=0;i<1000000000;i++);
-
- FTrace_disable();
- kern_gettime(&end);
-
- SUBTIMESPEC(&end,&start,&diff);
-
- cprintf("Logged Time %d s %d us\n",(int)diff.tv_sec,(int)diff.tv_nsec/1000);
-
- FTrace_chunk_dump(a);
-
- return 0;
-
-}
Index: rel_1_5_beta1/newtrace/nosave/makefile
===================================================================
--- rel_1_5_beta1/newtrace/nosave/makefile (revision 1557)
+++ rel_1_5_beta1/newtrace/nosave/makefile (nonexistent)
@@ -1,16 +0,0 @@
-#
-#
-#
-
-ifndef BASE
-BASE=../../..
-endif
-include $(BASE)/config/config.mk
-
-PROGS = nosave
-
-include $(BASE)/config/example.mk
-
-nosave:
- make -f $(SUBMAKE) BASE=$(BASE) APP=nosave INIT= OTHEROBJS="initfile.o" OTHERINCL= SHARKOPT="__LINUXC26__ __PCI__ __INPUT__ __NET__"
-
Index: rel_1_5_beta1/newtrace/nosave/initfile.c
===================================================================
--- rel_1_5_beta1/newtrace/nosave/initfile.c (revision 1557)
+++ rel_1_5_beta1/newtrace/nosave/initfile.c (nonexistent)
@@ -1,61 +0,0 @@
-/*
- * Project: S.Ha.R.K.
- *
- * Coordinators:
- * Giorgio Buttazzo <giorgio@sssup.it>
- * Paolo Gai <pj@gandalf.sssup.it>
- *
- * Authors :
- * Giacomo Guidi <giacomo@gandalf.sssup.it>
- * (see the web pages for full authors list)
- *
- * ReTiS Lab (Scuola Superiore S.Anna - Pisa - Italy)
- *
- * http://www.sssup.it
- * http://retis.sssup.it
- * http://shark.sssup.it
- */
-
-#include "kernel/kern.h"
-#include "edf/edf/edf.h"
-#include "cbs/cbs/cbs.h"
-#include "rr/rr/rr.h"
-#include "dummy/dummy/dummy.h"
-
-#include "sem/sem/sem.h"
-#include "hartport/hartport/hartport.h"
-#include "cabs/cabs/cabs.h"
-
-/*+ sysyem tick in us +*/
-#define TICK 0
-
-/*+ RR tick in us +*/
-#define RRTICK 10000
-
-TIME __kernel_register_levels__(void *arg)
-{
- struct multiboot_info *mb = (struct multiboot_info *)arg;
-
- EDF_register_level(EDF_ENABLE_ALL);
- CBS_register_level(CBS_ENABLE_ALL, 0);
- RR_register_level(RRTICK, RR_MAIN_YES, mb);
- dummy_register_level();
-
- SEM_register_module();
-
- CABS_register_module();
-
- return TICK;
-}
-
-TASK __init__(void *arg)
-{
- struct multiboot_info *mb = (struct multiboot_info *)arg;
-
- HARTPORT_init();
-
- __call_main__(mb);
-
- return (void *)0;
-}
-
Index: rel_1_5_beta1/newtrace/readme
===================================================================
--- rel_1_5_beta1/newtrace/readme (revision 1557)
+++ rel_1_5_beta1/newtrace/readme (nonexistent)
@@ -1,13 +0,0 @@
-This directory contains a set of sub directories containing all the tracer
-examples and utilities.
-
-Here a short description of the contents
-
-utils - some small utilities:
-
- udpdump - save on a file the logged events sent through network
-
-udp - a small application that sends its trace data through the network
-
-nosave - a simple tracer implementation without saving logged events
-
Index: rel_1_5_beta1/newtrace/makefile
===================================================================
--- rel_1_5_beta1/newtrace/makefile (revision 1557)
+++ rel_1_5_beta1/newtrace/makefile (nonexistent)
@@ -1,15 +0,0 @@
-.PHONY: all clean
-
-all:
- make -C udp
- make -C nosave
- make -C instr
- make -C utils util_linux
-
-clean:
- make -C udp clean
- make -C nosave clean
- make -C instr clean
- make -C utils clean
-
-
Index: rel_1_5_beta1/newtrace/instr/instr.c
===================================================================
--- rel_1_5_beta1/newtrace/instr/instr.c (revision 1557)
+++ rel_1_5_beta1/newtrace/instr/instr.c (nonexistent)
@@ -1,151 +0,0 @@
-/*
- * Project: S.Ha.R.K.
- *
- * Coordinators:
- * Giorgio Buttazzo <giorgio@sssup.it>
- * Paolo Gai <pj@gandalf.sssup.it>
- *
- * Authors :
- * Giacomo Guidi <giacomo@gandalf.sssup.it>
- *
- * ReTiS Lab (Scuola Superiore S.Anna - Pisa - Italy)
- *
- * http://www.sssup.it
- * http://retis.sssup.it
- * http://shark.sssup.it
- */
-
-/* The tracer instrumentation ideas come from the York PWCET analisys tool
- *
- * Real-Time System Group
- * University of York
- *
- */
-
-#include <kernel/kern.h>
-#include <time.h>
-#include <tracer.h>
-
-#define PWCET_Automatic_Ipoint(a) TRACER_LOGEVENT(FTrace_EVT_ipoint,(a),0);
-
-extern int instrumented_function();
-
-TASK ext_call(void)
-{
-
- while(1) {
-
- instrumented_function();
-
- task_testcancel();
- task_endcycle();
-
- }
-
- return 0;
-
-}
-
-#define TASKMAX 4
-#define TASKDELAY 1000000
-#define TASKDELAY_DELTA 100000
-
-int exec_code() {
-
- int num;
- struct timespec t;
-
- HARD_TASK_MODEL m;
- PID p;
-
- clear();
-
- cprintf("Start");
-
- hard_task_default_model(m);
- hard_task_def_mit(m,200000 + rand() % 100000);
- hard_task_def_wcet(m,40000);
- hard_task_def_group(m,2);
-
- num = 0;
-
- while(num < TASKMAX) {
-
- cprintf(".");
-
- p = task_create("Instr",ext_call,&m,NULL);
- if (p == -1) {
- sys_shutdown_message("Could not create task <instr> ...");
- exit(1);
- }
-
- num++;
- task_activate(p);
-
- usleep(TASKDELAY + rand() % TASKDELAY_DELTA);
-
- }
-
- do {
- sys_gettime(&t);
- } while (t.tv_sec < 12);
-
- cprintf("End\n");
-
- return 0;
-
-}
-
-extern unsigned int clk_per_msec;
-
-int main(int argc, char **argv)
-{
-
- int a,b,c,i;
- struct timespec t,start,end,diff;
-
- srand(sys_gettime(NULL));
-
- a = FTrace_chunk_create(1000000, 1000000, FTRACE_CHUNK_FLAG_FREE | FTRACE_CHUNK_FLAG_CYC);
- b = FTrace_chunk_create(1000000, 1000000, FTRACE_CHUNK_FLAG_FREE | FTRACE_CHUNK_FLAG_JTN);
- c = FTrace_chunk_create(1000000, 1000000, FTRACE_CHUNK_FLAG_FREE | FTRACE_CHUNK_FLAG_CYC);
-
- FTrace_chunk_link(a,b);
- FTrace_chunk_link(b,c);
-
- FTrace_actual_chunk_select(a);
-
- kern_gettime(&start);
- FTrace_enable();
-
- TRACER_LOGEVENT(FTrace_EVT_trace_start,proc_table[exec_shadow].context,clk_per_msec);
-
- for (i=0;i<10;i++)
- if (proc_table[i].context != 0) TRACER_LOGEVENT(FTrace_EVT_id,
- (unsigned short int)proc_table[i].context,i);
-
- exec_code();
-
- TRACER_LOGEVENT(FTrace_EVT_trace_stop,0,0);
-
- FTrace_disable();
- kern_gettime(&end);
-
- SUBTIMESPEC(&end,&start,&diff);
-
- printf_xy(1,21,WHITE,"Logged Time %d s %d us",(int)diff.tv_sec,(int)diff.tv_nsec/1000);
-
- group_kill(2);
-
- do {
- sys_gettime(&t);
- } while (t.tv_sec < 12);
-
- FTrace_OSD_init_udp(1, "192.168.0.15", "192.168.0.12");
-
- FTrace_send_chunk(a, 0, FTRACE_CHUNK_FLAG_FREE | FTRACE_CHUNK_FLAG_CYC);
-
- return 0;
-
-}
-
Index: rel_1_5_beta1/newtrace/instr/bezier.c
===================================================================
--- rel_1_5_beta1/newtrace/instr/bezier.c (revision 1557)
+++ rel_1_5_beta1/newtrace/instr/bezier.c (nonexistent)
@@ -1,110 +0,0 @@
-
-#include <kernel/kern.h>
-#include <tracer.h>
-
-#define PWCET_Automatic_Ipoint(a) TRACER_LOGEVENT(FTrace_EVT_ipoint,(a),0);
-
-/* here are the bezier curves defined
-format:
-{startpoint, endpoint, controlpoint1, controlpoint}
-.
-.
-. */
-int curveno = 20;
-int data[20][4][2] = {
- {{123,321},{ 23,432},{345,120},{123, 98}},
- {{567, 31},{ 23, 24},{ 35,421},{123,398}},
- {{ 0, 21},{623,532},{145,323},{153, 68}},
- {{253,321},{ 23,432},{745,525},{423,198}},
- {{123,456},{ 23,482},{ 0,123},{123,128}},
- {{322, 21},{223,232},{ 45,224},{123,98}},
- {{423, 32},{123,332},{144,329},{123,98}},
- {{276, 35},{ 23,492},{476,423},{123,98}},
- {{783,121},{723,139},{ 78,528},{123,98}},
- {{723,221},{623, 98},{734,683},{123,98}},
- {{ 60,421},{523,132},{364,753},{123,98}},
- {{100,521},{423,432},{633,623},{123,98}},
- {{ 23,371},{323,599},{343,533},{123,98}},
- {{123,123},{123, 0},{343,403},{123,98}},
- {{253,321},{490, 32},{347,393},{123,98}},
- {{ 68,321},{260,272},{674,283},{123,98}},
- {{500,321},{245,373},{ 98,173},{123,98}},
- {{423,321},{198,532},{306, 63},{123,98}},
- {{197,321},{203,432},{307,443},{123,98}},
- {{143,321},{293,132},{334,393},{123,98}}
-};
-#define STEPWIDTH 0.01 /* draws 1/STEPWIDTH +1 points between SP and EP */
-#define XSIZE 800
-#define YSIZE 600
-
-char screen[YSIZE][XSIZE];
-int xco[4],yco[4];
-
-int init()
-{
- int y,x;
-
- /*initialize screen*/
- for (x = 0;x < XSIZE;x++) {
- for (y = 0;y < YSIZE;y++) {
- screen[y][x] = 255; /*white*/
- }
- }
-
- return 0;
-
-}
-
-void rand_init()
-{
- int i,j,x,y;
- for (i=0;i<20;i++)
- for (j=0;j<4;j++) {
- x=rand()%800;
- y=rand()%600;
- data[i][j][0]=x;
- data[i][j][1]=y;
- }
-}
-
-int bezier()
-{
-
- int i,y,x;
- float k;
-
- init();
-
- for (i = 0;i < curveno;i++) {
- xco[3] = data[i][0][0];
- yco[3] = data[i][0][1];
- xco[2] = 3*(data[i][2][0] - data[i][0][0]);
- yco[2] = 3*(data[i][2][1] - data[i][0][1]);
- xco[1] = 3*(data[i][3][0] - data[i][2][0]) - xco[2];
- yco[1] = 3*(data[i][3][1] - data[i][2][1]) - yco[2];
- xco[0] = data[i][1][0] - data[i][0][0] - xco[2]- xco[1];
- yco[0] = data[i][1][1] - data[i][0][1] - yco[2]- yco[1];
-
- /*scan curve for t = 0 to t = 1 with STEPWIDTH*/
- for (k = 0;k <=1;k+=STEPWIDTH) { /* PAN_FIXED_LOOP PAN_VARPATH */
- x = (int)(((float)xco[0]*k*k*k)+((float)xco[1]*k*k)+((float)xco[2]*k)+(float)xco[3]);
- y = (int)(((float)yco[0]*k*k*k)+((float)yco[1]*k*k)+((float)yco[2]*k)+(float)yco[3]);
- if ((x < XSIZE)&&(x > 0)&&(y < YSIZE)&&(y > 0)) {
- /*write dot to screen*/
- screen[y][x] = 0; /*black*/
- }
- }
- }
-
- return 0;
-}
-
-int instrumented_function() {
-
- rand_init();
-
- bezier();
-
- return 0;
-}
-
Index: rel_1_5_beta1/newtrace/instr/initfile.c
===================================================================
--- rel_1_5_beta1/newtrace/instr/initfile.c (revision 1557)
+++ rel_1_5_beta1/newtrace/instr/initfile.c (nonexistent)
@@ -1,150 +0,0 @@
-/*
- * Project: S.Ha.R.K.
- *
- * Coordinators: Giorgio Buttazzo <giorgio@sssup.it>
- *
- * Authors : Mauro Marinoni <mauro.marinoni@unipv.it>
- * (see authors.txt for full list of hartik's authors)
- *
- * ReTiS Lab (Scuola Superiore S.Anna - Pisa - Italy)
- *
- * http://www.sssup.it
- * http://retis.sssup.it
- * http://hartik.sssup.it
- */
-
-/*
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- */
-
-
-#include <kernel/kern.h>
-
-#include "edf/edf/edf.h"
-#include "cbs/cbs/cbs.h"
-#include "rr/rr/rr.h"
-#include "dummy/dummy/dummy.h"
-#include "intdrive/intdrive/intdrive.h"
-
-#include "sem/sem/sem.h"
-#include "hartport/hartport/hartport.h"
-
-#include <drivers/shark_linuxc26.h>
-#include <drivers/shark_pci26.h>
-#include <drivers/shark_input26.h>
-#include <drivers/shark_keyb26.h>
-
-/*+ sysyem tick in us +*/
-#define TICK 0
-
-/*+ RR tick in us +*/
-#define RRTICK 10000
-
-/*+ Interrupt Server +*/
-#define INTDRIVE_Q 1000
-#define INTDRIVE_T 10000
-#define INTDRIVE_FLAG 0
-
-void call_shutdown_task(void *arg);
-int device_drivers_init();
-int device_drivers_close();
-void set_shutdown_task();
-TASK shutdown_task_body(void *arg);
-
-PID shutdown_task_PID = 1;
-
-TIME __kernel_register_levels__(void *arg)
-{
- struct multiboot_info *mb = (struct multiboot_info *)arg;
-
- INTDRIVE_register_level(INTDRIVE_Q, INTDRIVE_T, INTDRIVE_FLAG);
- EDF_register_level(EDF_ENABLE_ALL);
- CBS_register_level(CBS_ENABLE_ALL, 1);
- RR_register_level(RRTICK, RR_MAIN_YES, mb);
- dummy_register_level();
-
- SEM_register_module();
-
- return TICK;
-}
-
-int device_drivers_close() {
-
- return 0;
-
-}
-
-int device_drivers_init() {
-
- LINUXC26_register_module();
- PCI26_init();
-
- return 0;
-}
-
-TASK shutdown_task_body(void *arg) {
-
- device_drivers_close();
- sys_shutdown_message("-- S.Ha.R.K. Closed --\n");
-
- return NULL;
-}
-
-#define SHUTDOWN_TIMEOUT_SEC 3
-
-void set_shutdown_task() {
-
- NRT_TASK_MODEL nrt;
-
- nrt_task_default_model(nrt);
- nrt_task_def_system(nrt);
-
- shutdown_task_PID = task_create("Shutdown Task", shutdown_task_body, &nrt, NULL);
- if (shutdown_task_PID == NIL) {
- sys_shutdown_message("Error: Cannot create shutdown task\n");
- exit(1);
- }
-
-}
-
-void call_shutdown_task(void *arg) {
-
- struct timespec t;
-
- sys_gettime(&t);
- t.tv_sec += SHUTDOWN_TIMEOUT_SEC;
-
- /* Emergency timeout to exit from RUNLEVEL_SHUTDOWN */
- kern_event_post(&t,(void *)((void *)sys_abort_shutdown),(void *)0);
-
- task_activate(shutdown_task_PID);
-}
-
-TASK __init__(void *arg)
-{
- struct multiboot_info *mb = (struct multiboot_info *)arg;
-
- HARTPORT_init();
-
- set_shutdown_task();
-
- device_drivers_init();
-
- sys_atrunlevel(call_shutdown_task, NULL, RUNLEVEL_SHUTDOWN);
-
- __call_main__(mb);
-
- return (void *)0;
-}
Index: rel_1_5_beta1/newtrace/instr/bezier_i.c
===================================================================
--- rel_1_5_beta1/newtrace/instr/bezier_i.c (revision 1557)
+++ rel_1_5_beta1/newtrace/instr/bezier_i.c (nonexistent)
@@ -1,120 +0,0 @@
-
-#include <kernel/kern.h>
-#include <tracer.h>
-
-#define PWCET_Automatic_Ipoint(a) TRACER_LOGEVENT(FTrace_EVT_ipoint,(a),0);
-
-/* here are the bezier curves defined
-format:
-{startpoint, endpoint, controlpoint1, controlpoint}
-.
-.
-. */
-int curveno = 20;
-int data[20][4][2] = {
- {{123,321},{ 23,432},{345,120},{123, 98}},
- {{567, 31},{ 23, 24},{ 35,421},{123,398}},
- {{ 0, 21},{623,532},{145,323},{153, 68}},
- {{253,321},{ 23,432},{745,525},{423,198}},
- {{123,456},{ 23,482},{ 0,123},{123,128}},
- {{322, 21},{223,232},{ 45,224},{123,98}},
- {{423, 32},{123,332},{144,329},{123,98}},
- {{276, 35},{ 23,492},{476,423},{123,98}},
- {{783,121},{723,139},{ 78,528},{123,98}},
- {{723,221},{623, 98},{734,683},{123,98}},
- {{ 60,421},{523,132},{364,753},{123,98}},
- {{100,521},{423,432},{633,623},{123,98}},
- {{ 23,371},{323,599},{343,533},{123,98}},
- {{123,123},{123, 0},{343,403},{123,98}},
- {{253,321},{490, 32},{347,393},{123,98}},
- {{ 68,321},{260,272},{674,283},{123,98}},
- {{500,321},{245,373},{ 98,173},{123,98}},
- {{423,321},{198,532},{306, 63},{123,98}},
- {{197,321},{203,432},{307,443},{123,98}},
- {{143,321},{293,132},{334,393},{123,98}}
-};
-#define STEPWIDTH 0.01 /* draws 1/STEPWIDTH +1 points between SP and EP */
-#define XSIZE 800
-#define YSIZE 600
-
-char screen[YSIZE][XSIZE];
-int xco[4],yco[4];
-
-void init()
-{ /*FB1*/PWCET_Automatic_Ipoint( 3157); /*FB2*/{
- int y,x;
-
-
- { /*forx1*/for (x = 0; x < XSIZE;x++) { /*forx2*/PWCET_Automatic_Ipoint( 3158); /*forx3*/{
- { /*forx1*/for (y = 0;y < YSIZE;y++) { /*forx2*/PWCET_Automatic_Ipoint( 3159); /*forx3*/{
- screen[y][x] = 255;
- } } /*forx4*/PWCET_Automatic_Ipoint( 3160); /*forx5*/ } /*forx6*/
- } } /*forx4*/PWCET_Automatic_Ipoint( 3161); /*forx5*/ } /*forx6*/
-
-}PWCET_Automatic_Ipoint( 3162); /*FB3*/} /*FB4*/
-
-void rand_init()
-{ /*FB1*/PWCET_Automatic_Ipoint( 33519); /*FB2*/{
- int i,j,x,y;
-
-
-
- { /*forx1*/for (i=0;i<20;i++)
- { /*forx1*/ { /*forx2*/PWCET_Automatic_Ipoint( 33520); /*forx3*/for (j=0;j<4;j++) { /*forx2*/PWCET_Automatic_Ipoint( 33521); /*forx3*/{
- x=rand()%XSIZE;
- y=rand()%YSIZE;
- data[i][j][0]=x;
- data[i][j][1]=y;
- } } /*forx4*/PWCET_Automatic_Ipoint( 33522); /*forx5*/ } /*forx6*/ } /*forx4*/PWCET_Automatic_Ipoint( 33523); /*forx5*/ } /*forx6*/
-
-
-}PWCET_Automatic_Ipoint( 33524); /*FB3*/} /*FB4*/
-
-void pepe(){ /*FB1*/PWCET_Automatic_Ipoint( 64662); /*FB2*/{
- int a;
-
- a=a+2;
- }PWCET_Automatic_Ipoint( 64663); /*FB3*/} /*FB4*/
-
-int bezier()
-{ /*FB1*/PWCET_Automatic_Ipoint( 23955); /*FB2*/{
- int i,y,x;
- float k;
- init();
-
- { /*forx1*/for (i = 0;i < curveno;i++) { /*forx2*/PWCET_Automatic_Ipoint( 23956); /*forx3*/{
- xco[3] = data[i][0][0];
- yco[3] = data[i][0][1];
- xco[2] = 3*(data[i][2][0] - data[i][0][0]);
- yco[2] = 3*(data[i][2][1] - data[i][0][1]);
- xco[1] = 3*(data[i][3][0] - data[i][2][0]) - xco[2];
- yco[1] = 3*(data[i][3][1] - data[i][2][1]) - yco[2];
- xco[0] = data[i][1][0] - data[i][0][0] - xco[2]- xco[1];
- yco[0] = data[i][1][1] - data[i][0][1] - yco[2]- yco[1];
-
-
- { /*forx1*/for (k = 0;k <=1;k+=0.01) { /*forx2*/PWCET_Automatic_Ipoint( 23957); /*forx3*/{
- x = (int)(((float)xco[0]*k*k*k)+((float)xco[1]*k*k)+((float)xco[2]*k)+(float)xco[3]);
- y = (int)(((float)yco[0]*k*k*k)+((float)yco[1]*k*k)+((float)yco[2]*k)+(float)yco[3]);
- if ((x < XSIZE)&&(x > 0)&&(y < YSIZE)&&(y > 0)) { /*if1*/ PWCET_Automatic_Ipoint( 23958); /*if2*/ {
-
- screen[y][x] = 0;
- } } /*if3*/ PWCET_Automatic_Ipoint( 23959); /*ifxxx2*/
- } } /*forx4*/PWCET_Automatic_Ipoint( 23960); /*forx5*/ } /*forx6*/
- } } /*forx4*/PWCET_Automatic_Ipoint( 23961); /*forx5*/ } /*forx6*/
- if (1==0) { /*if1*/ PWCET_Automatic_Ipoint( 23962); /*if2*/ {
- k++;
- pepe();
- } } /*if3*/ PWCET_Automatic_Ipoint( 23963); /*ifxxx2*/
-
-
- { /*returnE1*/PWCET_Automatic_Ipoint( 23964); /*returnE2*/return 0; } /*returnE3*/
-}PWCET_Automatic_Ipoint( 23965); /*FB3*/} /*FB4*/
-
-
-int instrumented_function(){ /*FB1*/PWCET_Automatic_Ipoint( 18549); /*FB2*/{
-
- rand_init();
- bezier();
- { /*returnE1*/PWCET_Automatic_Ipoint( 18550); /*returnE2*/return 0; } /*returnE3*/
-}PWCET_Automatic_Ipoint( 18551); /*FB3*/} /*FB4*/
Index: rel_1_5_beta1/newtrace/instr/makefile
===================================================================
--- rel_1_5_beta1/newtrace/instr/makefile (revision 1557)
+++ rel_1_5_beta1/newtrace/instr/makefile (nonexistent)
@@ -1,17 +0,0 @@
-#
-#
-#
-
-ifndef BASE
-BASE=../../..
-endif
-include $(BASE)/config/config.mk
-
-PROGS = instr
-
-include $(BASE)/config/example.mk
-
-instr:
- make -f $(SUBMAKE) BASE=$(BASE) APP=instr INIT= OTHEROBJS="initfile.o bezier.o" OTHERINCL= SHARKOPT="__LINUXC26__ __PCI__ __INPUT__ __NET__"
- #make -f $(SUBMAKE) BASE=$(BASE) APP=instr INIT= OTHEROBJS="initfile.o bezier_i.o" OTHERINCL= SHARKOPT="__LINUXC26__ __PCI__ __INPUT__ __NET__
-
Index: rel_1_5_beta1/newtrace/utils/test.pwc
===================================================================
--- rel_1_5_beta1/newtrace/utils/test.pwc (revision 1557)
+++ rel_1_5_beta1/newtrace/utils/test.pwc (nonexistent)
@@ -1,10629 +0,0 @@
-0 24305936302 256 367483
-9 24305936577 256 0
-9 24305936918 264 1
-9 24305937215 272 2
-9 24305937550 280 3
-9 24305937856 288 4
-5 24306061849 296 5
-6 24306065670 296
-4 24306079938 296
-8 24306119945 296
-4 24306122948 256
-7 24306144840 256
-4 24306149927 264
-2 24309691444 0
-6 24309695081 280
-3 24309700697 280
-8 24309710296 280
-4 24309711468 264
-2 24309738764 0
-3 24309743114 296
-8 24309767392 296
-4 24309768135 264
-2 24313371544 0
-3 24313372582 264
-2 24313413011 0
-3 24313416059 296
-8 24313438977 296
-4 24313439696 264
-2 24317087616 0
-3 24317090559 296
-8 24317113289 296
-4 24317114015 264
-2 24320762661 0
-3 24320765576 296
-8 24320788250 296
-4 24320788953 264
-2 24324437255 0
-3 24324440220 296
-8 24324462781 296
-4 24324463489 264
-2 24328064791 0
-6 24328065547 280
-3 24328067603 280
-8 24328070958 280
-4 24328071648 264
-2 24328112075 0
-3 24328115188 296
-8 24328138099 296
-4 24328138817 264
-2 24331741191 0
-3 24331741861 264
-2 24331787070 0
-3 24331790129 296
-8 24331812934 296
-4 24331813645 264
-2 24335461939 0
-3 24335464894 296
-8 24335487561 296
-4 24335488281 264
-2 24339136566 0
-3 24339139466 296
-8 24339162171 296
-4 24339162879 264
-2 24342811540 0
-3 24342814477 296
-8 24342837012 296
-4 24342837717 264
-2 24346438652 0
-6 24346439353 280
-3 24346441425 280
-8 24346444700 280
-4 24346445390 264
-2 24346486266 0
-3 24346489483 296
-8 24346512440 296
-4 24346513164 264
-2 24350114794 0
-3 24350115469 264
-2 24350161047 0
-3 24350164012 296
-8 24350186748 296
-4 24350187469 264
-2 24353836114 0
-3 24353839034 296
-8 24353861713 296
-4 24353862423 264
-2 24357510719 0
-3 24357513613 296
-8 24357536269 296
-4 24357536976 264
-2 24361185637 0
-3 24361188558 296
-8 24361211120 296
-4 24361211830 264
-2 24364813129 0
-6 24364813834 280
-3 24364815864 280
-8 24364819113 280
-4 24364819815 264
-2 24364860336 0
-3 24364863427 296
-8 24364886247 296
-4 24364886965 264
-2 24368489353 0
-3 24368490028 264
-2 24368535238 0
-3 24368538202 296
-8 24368561017 296
-4 24368561743 264
-2 24372210024 0
-3 24372213082 296
-8 24372235784 296
-4 24372236484 264
-2 24375885152 0
-3 24375888117 296
-8 24375910763 296
-4 24375911471 264
-2 24379559768 0
-3 24379562694 296
-8 24379585210 296
-4 24379585915 264
-2 24383187188 0
-6 24383187889 280
-3 24383189939 280
-8 24383193193 280
-4 24383193883 264
-2 24383234780 0
-3 24383237838 296
-8 24383260670 296
-4 24383261394 264
-2 24386863396 0
-3 24386864071 264
-2 24386909649 0
-3 24386912603 296
-8 24386935314 296
-4 24386936035 264
-2 24390584303 0
-3 24390587225 296
-8 24390609886 296
-4 24390610592 264
-2 24394259227 0
-3 24394262120 296
-8 24394284755 296
-4 24394285453 264
-2 24397934096 0
-3 24397937017 296
-8 24397959532 296
-4 24397960238 264
-2 24401561143 0
-6 24401561855 280
-3 24401563893 280
-8 24401567493 280
-4 24401568183 264
-2 24401608734 0
-3 24401611788 296
-8 24401634568 296
-4 24401635286 264
-2 24405237295 0
-3 24405237970 264
-2 24405283548 0
-3 24405286513 296
-8 24405309282 296
-4 24405309993 264
-2 24408958637 0
-3 24408961581 296
-8 24408984268 296
-4 24408984968 264
-2 24412633242 0
-3 24412636147 296
-8 24412658850 296
-4 24412659558 264
-2 24416308188 0
-3 24416311110 296
-8 24416333675 296
-4 24416334380 264
-2 24419935284 0
-6 24419935989 280
-3 24419938045 280
-8 24419941576 280
-4 24419942266 264
-2 24419982887 0
-3 24419985934 296
-8 24420008825 296
-4 24420009549 264
-2 24423611536 0
-3 24423612211 264
-2 24423657789 0
-3 24423660743 296
-8 24423683484 296
-4 24423684205 264
-2 24427332476 0
-3 24427335398 296
-8 24427358095 296
-4 24427358805 264
-2 24431007433 0
-3 24431010326 296
-8 24431033015 296
-4 24431033728 264
-2 24434682352 0
-3 24434685273 296
-8 24434707837 296
-4 24434708543 264
-2 24438309448 0
-6 24438310149 280
-3 24438312177 280
-8 24438315424 280
-4 24438316114 264
-2 24438357017 0
-3 24438360042 296
-8 24438383016 296
-4 24438383734 264
-2 24441985743 0
-3 24441986418 264
-2 24442031996 0
-3 24442034961 296
-8 24442057755 296
-4 24442058466 264
-2 24445706744 0
-3 24445709688 296
-8 24445732381 296
-4 24445733086 264
-2 24449381718 0
-3 24449384628 296
-8 24449407353 296
-4 24449408061 264
-2 24453056328 0
-3 24453059250 296
-8 24453081815 296
-4 24453082520 264
-2 24456683793 0
-6 24456684494 280
-3 24456686554 280
-8 24456689809 280
-4 24456690499 264
-2 24456731395 0
-3 24456734442 296
-8 24456757317 296
-4 24456758041 264
-2 24460360028 0
-3 24460360703 264
-2 24460406281 0
-3 24460409235 296
-8 24460431976 296
-4 24460432697 264
-2 24464080968 0
-3 24464083890 296
-8 24464106598 296
-4 24464107308 264
-2 24467755573 0
-3 24467758466 296
-8 24467781155 296
-4 24467781862 264
-2 24471430492 0
-3 24471433413 296
-8 24471455977 296
-4 24471456683 264
-2 24475057956 0
-6 24475058657 280
-3 24475060685 280
-8 24475063927 280
-4 24475064617 264
-2 24475105526 0
-3 24475108585 296
-8 24475131453 296
-4 24475132171 264
-2 24478734189 0
-3 24478734866 264
-2 24478780076 0
-3 24478783041 296
-8 24478805853 296
-4 24478806564 264
-2 24482455203 0
-3 24482458147 296
-8 24482480834 296
-4 24482481534 264
-2 24486129808 0
-3 24486132708 296
-8 24486155411 296
-4 24486156119 264
-2 24489804749 0
-3 24489807675 296
-8 24489830241 296
-4 24489830946 264
-2 24493432219 0
-6 24493432924 280
-3 24493434996 280
-8 24493438245 280
-4 24493438935 264
-2 24493479469 0
-3 24493482523 296
-8 24493505424 296
-4 24493506148 264
-2 24497108503 0
-3 24497109178 264
-2 24497154388 0
-3 24497157348 296
-8 24497180086 296
-4 24497180807 264
-2 24500829075 0
-3 24500831997 296
-8 24500854705 296
-4 24500855415 264
-2 24504504043 0
-3 24504506936 296
-8 24504529625 296
-4 24504530332 264
-2 24508178962 0
-3 24508181883 296
-8 24508204447 296
-4 24508205153 264
-2 24511806058 0
-6 24511806759 280
-3 24511808787 280
-8 24511812034 280
-4 24511812724 264
-2 24511853627 0
-3 24511856648 296
-8 24511879494 296
-4 24511880212 264
-2 24515482221 0
-3 24515482902 264
-2 24515528480 0
-3 24515531445 296
-8 24515554239 296
-4 24515554950 264
-2 24519203228 0
-3 24519206176 296
-8 24519228870 296
-4 24519229575 264
-2 24522878207 0
-3 24522881111 296
-8 24522903837 296
-4 24522904545 264
-2 24526553175 0
-3 24526556101 296
-8 24526578667 296
-4 24526579372 264
-2 24530180276 0
-6 24530180977 280
-3 24530183038 280
-8 24530186286 280
-4 24530186976 264
-2 24530227879 0
-3 24530230926 296
-8 24530253788 296
-4 24530254512 264
-2 24533856500 0
-3 24533857175 264
-2 24533902753 0
-3 24533905707 296
-8 24533928446 296
-4 24533929167 264
-2 24537577435 0
-3 24537580357 296
-8 24537603065 296
-4 24537603775 264
-2 24541252403 0
-3 24541255296 296
-8 24541277985 296
-4 24541278692 264
-2 24544927322 0
-3 24544930243 296
-8 24544952807 296
-4 24544953513 264
-2 24548554418 0
-6 24548555119 280
-3 24548557169 280
-8 24548560395 280
-4 24548561079 264
-2 24548602009 0
-3 24548605068 296
-8 24548627914 296
-4 24548628632 264
-2 24552230642 0
-3 24552231317 264
-2 24552276895 0
-3 24552279860 296
-8 24552302672 296
-4 24552303383 264
-2 24555951659 0
-3 24555954603 296
-8 24555977290 296
-4 24555977990 264
-2 24559626627 0
-3 24559629527 296
-8 24559652235 296
-4 24559652943 264
-2 24563301210 0
-3 24563304132 296
-8 24563326697 296
-4 24563327402 264
-2 24566928675 0
-6 24566929382 280
-3 24566931436 280
-8 24566934889 280
-4 24566935579 264
-2 24566976277 0
-3 24566979331 296
-8 24567002247 296
-4 24567002971 264
-2 24570604959 0
-3 24570605634 264
-2 24570650844 0
-3 24570653798 296
-8 24570676539 296
-4 24570677264 264
-2 24574325894 0
-3 24574328816 296
-8 24574351508 296
-4 24574352218 264
-2 24578000483 0
-3 24578003376 296
-8 24578026064 296
-4 24578026771 264
-2 24581675401 0
-3 24581678322 296
-8 24581700886 296
-4 24581701596 264
-2 24585302866 0
-6 24585303567 280
-3 24585305595 280
-8 24585308842 280
-4 24585309532 264
-2 24585350435 0
-3 24585353456 296
-8 24585376302 296
-4 24585377020 264
-2 24588979029 0
-3 24588979704 264
-2 24589025282 0
-3 24589028247 296
-8 24589051041 296
-4 24589051752 264
-2 24592700030 0
-3 24592702974 296
-8 24592725667 296
-4 24592726372 264
-2 24596374641 0
-3 24596377545 296
-8 24596400271 296
-4 24596400979 264
-2 24600049609 0
-3 24600052535 296
-8 24600075101 296
-4 24600075806 264
-2 24603677079 0
-6 24603677780 280
-3 24603679829 280
-8 24603683077 280
-4 24603683767 264
-2 24603724302 0
-3 24603727360 296
-8 24603750222 296
-4 24603750946 264
-2 24607353303 0
-3 24607353978 264
-2 24607399187 0
-3 24607402141 296
-8 24607424880 296
-4 24607425601 264
-2 24611074232 0
-3 24611077154 296
-8 24611099862 296
-4 24611100572 264
-2 24614748837 0
-3 24614751730 296
-8 24614774419 296
-4 24614775122 264
-2 24618423756 0
-3 24618426677 296
-8 24618449241 296
-4 24618449947 264
-2 24622051220 0
-6 24622051925 280
-3 24622053977 280
-8 24622057218 280
-4 24622057908 264
-2 24622098449 0
-3 24622101508 296
-8 24622124365 296
-4 24622125083 264
-2 24625727461 0
-3 24625728136 264
-2 24625773345 0
-3 24625776310 296
-8 24625799128 296
-4 24625799839 264
-2 24629448115 0
-3 24629451059 296
-8 24629473752 296
-4 24629474452 264
-2 24633123089 0
-3 24633125993 296
-8 24633148697 296
-4 24633149405 264
-2 24636798035 0
-3 24636800961 296
-8 24636823527 296
-4 24636824232 264
-2 24640425136 0
-6 24640425837 280
-3 24640427886 280
-8 24640431146 280
-4 24640431836 264
-2 24640472728 0
-3 24640475786 296
-8 24640498681 296
-4 24640499405 264
-2 24644101393 0
-3 24644102068 264
-2 24644147646 0
-3 24644150600 296
-8 24644173339 296
-4 24644174060 264
-2 24647822328 0
-3 24647825250 296
-8 24647847942 296
-4 24647848653 264
-2 24651497280 0
-3 24651500173 296
-8 24651522861 296
-4 24651523568 264
-2 24655172198 0
-3 24655175119 296
-8 24655197690 296
-4 24655198401 264
-2 24658799300 0
-6 24658800001 280
-3 24658802039 280
-8 24658805287 280
-4 24658805977 264
-2 24658846880 0
-3 24658849901 296
-8 24658872747 296
-4 24658873465 264
-2 24662475474 0
-3 24662476149 264
-2 24662521727 0
-3 24662524692 296
-8 24662547486 296
-4 24662548197 264
-2 24666196475 0
-3 24666199419 296
-8 24666222112 296
-4 24666222817 264
-2 24669871449 0
-3 24669874353 296
-8 24669897079 296
-4 24669897787 264
-2 24673546417 0
-3 24673549343 296
-8 24673571909 296
-4 24673572614 264
-2 24677173518 0
-6 24677174219 280
-3 24677176268 280
-8 24677179517 280
-4 24677180207 264
-2 24677221110 0
-3 24677224168 296
-8 24677247030 296
-4 24677247754 264
-2 24680849742 0
-3 24680850417 264
-2 24680895995 0
-3 24680898949 296
-8 24680921688 296
-4 24680922409 264
-2 24684570677 0
-3 24684573599 296
-8 24684596307 296
-4 24684597017 264
-2 24688245645 0
-3 24688248538 296
-8 24688271227 296
-4 24688271934 264
-2 24691920564 0
-3 24691923485 296
-8 24691946054 296
-4 24691946760 264
-2 24695547665 0
-6 24695548370 280
-3 24695550400 280
-8 24695553641 280
-4 24695554331 264
-2 24695595240 0
-3 24695598299 296
-8 24695621151 296
-4 24695621869 264
-2 24699223878 0
-3 24699224553 264
-2 24699270131 0
-3 24699273096 296
-8 24699295920 296
-4 24699296631 264
-2 24702944912 0
-3 24702947856 296
-8 24702970543 296
-4 24702971243 264
-2 24706619880 0
-3 24706622780 296
-8 24706645483 296
-4 24706646191 264
-2 24710294458 0
-3 24710297379 296
-8 24710319944 296
-4 24710320649 264
-2 24713921922 0
-6 24713922623 280
-3 24713924672 280
-8 24713928214 280
-4 24713928904 264
-2 24713969514 0
-3 24713972572 296
-8 24713995474 296
-4 24713996198 264
-2 24717598185 0
-3 24717598860 264
-2 24717644069 0
-3 24717647023 296
-8 24717669762 296
-4 24717670483 264
-2 24721319114 0
-3 24721322036 296
-8 24721344728 296
-4 24721345438 264
-2 24724993703 0
-3 24724996596 296
-8 24725019284 296
-4 24725019991 264
-2 24728668621 0
-3 24728671542 296
-8 24728694106 296
-4 24728694812 264
-2 24732296086 0
-6 24732296787 280
-3 24732298825 280
-8 24732302084 280
-4 24732302774 264
-2 24732343666 0
-3 24732346731 296
-8 24732369588 296
-4 24732370306 264
-2 24735972315 0
-3 24735972990 264
-2 24736018200 0
-3 24736021164 296
-8 24736043995 296
-4 24736044721 264
-2 24739693349 0
-3 24739696392 296
-8 24739719096 296
-4 24739719796 264
-2 24743368070 0
-3 24743370996 296
-8 24743393674 296
-4 24743394382 264
-2 24747043010 0
-3 24747045932 296
-8 24747068430 296
-4 24747069135 264
-2 24750670040 0
-6 24750670745 280
-3 24750672801 280
-8 24750676050 280
-4 24750676753 264
-2 24750717643 0
-3 24750720701 296
-8 24750743490 296
-4 24750744214 264
-2 24754346215 0
-3 24754346890 264
-2 24754392468 0
-3 24754395422 296
-8 24754418133 296
-4 24754418854 264
-2 24758067485 0
-3 24758070407 296
-8 24758093071 296
-4 24758093781 264
-2 24761742046 0
-3 24761744939 296
-8 24761767578 296
-4 24761768285 264
-2 24765416915 0
-3 24765419836 296
-8 24765442341 296
-4 24765443052 264
-2 24769044319 0
-6 24769045020 280
-3 24769047048 280
-8 24769050306 280
-4 24769050996 264
-2 24769091889 0
-3 24769094948 296
-8 24769117750 296
-4 24769118468 264
-2 24772720477 0
-3 24772721152 264
-2 24772766730 0
-3 24772769695 296
-8 24772792464 296
-4 24772793175 264
-2 24776441456 0
-3 24776444400 296
-8 24776467087 296
-4 24776467787 264
-2 24780116424 0
-3 24780119323 296
-8 24780142027 296
-4 24780142735 264
-2 24783791002 0
-3 24783793928 296
-8 24783816477 296
-4 24783817182 264
-2 24787418455 0
-6 24787419156 280
-3 24787421217 280
-8 24787424465 280
-4 24787425155 264
-2 24787466058 0
-3 24787469116 296
-8 24787492011 296
-4 24787492735 264
-2 24791094723 0
-3 24791095398 264
-2 24791140976 0
-3 24791143930 296
-8 24791166669 296
-4 24791167390 264
-2 24794815658 0
-3 24794818580 296
-8 24794841272 296
-4 24794841982 264
-2 24798490610 0
-3 24798493503 296
-8 24798516191 296
-4 24798516898 264
-2 24802165165 0
-3 24802168086 296
-8 24802190640 296
-4 24802191351 264
-2 24805792619 0
-6 24805793320 280
-3 24805795348 280
-8 24805798595 280
-4 24805799285 264
-2 24805840188 0
-3 24805843209 296
-8 24805866055 296
-4 24805866773 264
-2 24809468782 0
-3 24809469457 264
-2 24809515035 0
-3 24809518000 296
-8 24809540800 296
-4 24809541511 264
-2 24813189789 0
-3 24813192737 296
-8 24813215431 296
-4 24813216136 264
-2 24816864768 0
-3 24816867672 296
-8 24816890398 296
-4 24816891139 264
-2 24820539373 0
-3 24820542299 296
-8 24820564848 296
-4 24820565553 264
-2 24824166826 0
-6 24824167531 280
-3 24824169587 280
-8 24824172836 280
-4 24824173526 264
-2 24824214429 0
-3 24824217487 296
-8 24824240356 296
-4 24824241080 264
-2 24827843067 0
-3 24827843742 264
-2 24827888951 0
-3 24827891905 296
-8 24827914650 296
-4 24827915371 264
-2 24831564002 0
-3 24831566922 296
-8 24831589632 296
-4 24831590342 264
-2 24835238607 0
-3 24835241500 296
-8 24835264188 296
-4 24835264895 264
-2 24838913525 0
-3 24838916446 296
-8 24838939000 296
-4 24838939711 264
-2 24842540979 0
-6 24842541680 280
-3 24842543708 280
-8 24842546960 280
-4 24842547650 264
-2 24842588548 0
-3 24842591607 296
-8 24842614464 296
-4 24842615182 264
-2 24846217192 0
-3 24846217867 264
-2 24846263445 0
-3 24846266410 296
-8 24846289222 296
-4 24846289933 264
-2 24849938209 0
-3 24849941153 296
-8 24849963840 296
-4 24849964540 264
-2 24853612814 0
-3 24853615714 296
-8 24853638417 296
-4 24853639125 264
-2 24857287755 0
-3 24857290681 296
-8 24857313230 296
-4 24857313935 264
-2 24860915208 0
-6 24860915909 280
-3 24860917970 280
-8 24860921500 280
-4 24860922190 264
-2 24860962442 0
-3 24860965496 296
-8 24860988390 296
-4 24860989114 264
-2 24864591471 0
-3 24864592146 264
-2 24864637355 0
-3 24864640309 296
-8 24864663048 296
-4 24864663769 264
-2 24868312400 0
-3 24868315322 296
-8 24868338014 296
-4 24868338724 264
-2 24871986989 0
-3 24871989882 296
-8 24872012570 296
-4 24872013277 264
-2 24875661907 0
-3 24875664829 296
-8 24875687382 296
-4 24875688093 264
-2 24879289361 0
-6 24879290062 280
-3 24879292112 280
-8 24879295359 280
-4 24879296049 264
-2 24879336584 0
-3 24879339603 296
-8 24879362450 296
-4 24879363168 264
-2 24882965546 0
-3 24882966221 264
-2 24883011431 0
-3 24883014396 296
-8 24883037190 296
-4 24883037901 264
-2 24886686542 0
-3 24886689490 296
-8 24886712184 296
-4 24886712889 264
-2 24890361158 0
-3 24890364062 296
-8 24890386793 296
-4 24890387506 264
-2 24894036131 0
-3 24894039053 296
-8 24894061601 296
-4 24894062306 264
-2 24897663211 0
-6 24897663912 280
-3 24897665972 280
-8 24897669231 280
-4 24897669921 264
-2 24897710813 0
-3 24897713867 296
-8 24897736746 296
-4 24897737470 264
-2 24901339457 0
-3 24901340132 264
-2 24901385710 0
-3 24901388664 296
-8 24901411405 296
-4 24901412126 264
-2 24905060397 0
-3 24905063319 296
-8 24905086027 296
-4 24905086737 264
-2 24908735365 0
-3 24908738258 296
-8 24908760947 296
-4 24908761654 264
-2 24912410284 0
-3 24912413205 296
-8 24912435759 296
-4 24912436470 264
-2 24916037369 0
-6 24916038070 280
-3 24916040108 280
-8 24916043350 280
-4 24916044040 264
-2 24916084949 0
-3 24916088008 296
-8 24916110865 296
-4 24916111583 264
-2 24919713593 0
-3 24919714268 264
-2 24919759846 0
-3 24919762811 296
-8 24919785623 296
-4 24919786334 264
-2 24923434610 0
-3 24923437554 296
-8 24923460241 296
-4 24923460941 264
-2 24927109578 0
-3 24927112478 296
-8 24927135181 296
-4 24927135889 264
-2 24930784519 0
-3 24930787440 296
-8 24930809988 296
-4 24930810693 264
-2 24934411598 0
-6 24934412299 280
-3 24934414348 280
-8 24934417597 280
-4 24934418287 264
-2 24934459190 0
-3 24934462248 296
-8 24934485143 296
-4 24934485867 264
-2 24938087855 0
-3 24938088530 264
-2 24938134108 0
-3 24938137062 296
-8 24938159801 296
-4 24938160522 264
-2 24941808790 0
-3 24941811711 296
-8 24941834404 296
-4 24941835114 264
-2 24945483742 0
-3 24945486635 296
-8 24945509323 296
-4 24945510030 264
-2 24949158660 0
-3 24949161581 296
-8 24949184135 296
-4 24949184846 264
-2 24952785745 0
-6 24952786450 280
-3 24952788502 280
-8 24952791749 280
-4 24952792439 264
-2 24952833342 0
-3 24952836363 296
-8 24952859209 296
-4 24952859927 264
-2 24956461936 0
-3 24956462611 264
-2 24956508189 0
-3 24956511154 296
-8 24956533954 296
-4 24956534665 264
-2 24960182943 0
-3 24960185891 296
-8 24960208585 296
-4 24960209296 264
-2 24963857922 0
-3 24963860826 296
-8 24963883552 296
-4 24963884260 264
-2 24967532527 0
-3 24967535453 296
-8 24967558002 296
-4 24967558707 264
-2 24971159980 0
-6 24971160681 280
-3 24971162730 280
-8 24971165979 280
-4 24971166669 264
-2 24971207572 0
-3 24971210630 296
-8 24971233492 296
-4 24971234216 264
-2 24974836204 0
-3 24974836879 264
-2 24974882457 0
-3 24974885411 296
-8 24974908150 296
-4 24974908871 264
-2 24978557139 0
-3 24978560061 296
-8 24978582769 296
-4 24978583479 264
-2 24982232107 0
-3 24982235000 296
-8 24982257689 296
-4 24982258396 264
-2 24985906663 0
-3 24985909584 296
-8 24985932138 296
-4 24985932849 264
-2 24989534116 0
-6 24989534817 280
-3 24989536855 280
-8 24989540098 280
-4 24989540788 264
-2 24989581697 0
-3 24989584756 296
-8 24989607613 296
-4 24989608331 264
-2 24993210340 0
-3 24993211015 264
-2 24993256593 0
-3 24993259558 296
-8 24993282371 296
-4 24993283082 264
-2 24996931363 0
-3 24996934306 296
-8 24996956994 296
-4 24996957694 264
-2 25000605968 0
-3 25000608868 296
-8 25000631571 296
-4 25000632279 264
-2 25004280909 0
-3 25004283835 296
-8 25004306384 296
-4 25004307089 264
-2 25007908362 0
-6 25007909063 280
-3 25007911141 280
-8 25007914599 280
-4 25007915289 264
-2 25007955613 0
-3 25007958671 296
-8 25007981566 296
-4 25007982290 264
-2 25011584647 0
-3 25011585322 264
-2 25011630531 0
-3 25011633485 296
-8 25011656224 296
-4 25011656945 264
-2 25015305576 0
-3 25015308498 296
-8 25015331190 296
-4 25015331900 264
-2 25018980165 0
-3 25018983058 296
-8 25019005746 296
-4 25019006453 264
-2 25022655083 0
-3 25022658004 296
-8 25022680564 296
-4 25022681275 264
-2 25026282542 0
-6 25026283247 280
-3 25026285277 280
-8 25026288524 280
-4 25026289214 264
-2 25026330117 0
-3 25026333138 296
-8 25026355990 296
-4 25026356708 264
-2 25029958711 0
-3 25029959386 264
-2 25030004596 0
-3 25030007561 296
-8 25030030371 296
-4 25030031082 264
-2 25033679723 0
-3 25033682667 296
-8 25033705360 296
-4 25033706065 264
-2 25037354334 0
-3 25037357238 296
-8 25037379964 296
-4 25037380672 264
-2 25041029302 0
-3 25041032228 296
-8 25041054777 296
-4 25041055482 264
-2 25044656387 0
-6 25044657088 280
-3 25044659137 280
-8 25044662385 280
-4 25044663075 264
-2 25044703978 0
-3 25044707025 296
-8 25044729896 296
-4 25044730620 264
-2 25048332600 0
-3 25048333275 264
-2 25048378853 0
-3 25048381807 296
-8 25048404548 296
-4 25048405269 264
-2 25052053903 0
-3 25052056825 296
-8 25052079533 296
-4 25052080243 264
-2 25055728508 0
-3 25055731401 296
-8 25055754090 296
-4 25055754797 264
-2 25059403427 0
-3 25059406348 296
-8 25059428902 296
-4 25059429613 264
-2 25063030880 0
-6 25063031581 280
-3 25063033619 280
-8 25063036862 280
-4 25063037552 264
-2 25063078092 0
-3 25063081151 296
-8 25063104008 296
-4 25063104726 264
-2 25066707104 0
-3 25066707779 264
-2 25066752989 0
-3 25066755954 296
-8 25066778766 296
-4 25066779477 264
-2 25070427753 0
-3 25070430697 296
-8 25070453384 296
-4 25070454084 264
-2 25074102721 0
-3 25074105626 296
-8 25074128329 296
-4 25074129037 264
-2 25077777667 0
-3 25077780594 296
-8 25077803142 296
-4 25077803847 264
-2 25081404752 0
-6 25081405457 280
-3 25081407531 280
-8 25081410778 280
-4 25081411468 264
-2 25081452371 0
-3 25081455424 296
-8 25081478319 296
-4 25081479043 264
-2 25085081031 0
-3 25085081706 264
-2 25085127284 0
-3 25085130238 296
-8 25085152977 296
-4 25085153698 264
-2 25088801966 0
-3 25088804888 296
-8 25088827585 296
-4 25088828295 264
-2 25092476923 0
-3 25092479816 296
-8 25092502505 296
-4 25092503212 264
-2 25096151842 0
-3 25096154769 296
-8 25096177322 296
-4 25096178033 264
-2 25099778932 0
-6 25099779633 280
-3 25099781661 280
-8 25099784936 280
-4 25099785626 264
-2 25099826502 0
-3 25099829555 296
-8 25099852412 296
-4 25099853130 264
-2 25103455140 0
-3 25103455815 264
-2 25103501393 0
-3 25103504357 296
-8 25103527188 296
-4 25103527914 264
-2 25107176179 0
-3 25107179222 296
-8 25107201926 296
-4 25107202626 264
-2 25110850900 0
-3 25110853826 296
-8 25110876493 296
-4 25110877202 264
-2 25114525829 0
-3 25114528750 296
-8 25114551249 296
-4 25114551954 264
-2 25118153228 0
-6 25118153929 280
-3 25118155990 280
-8 25118159237 280
-4 25118159940 264
-2 25118200830 0
-3 25118203888 296
-8 25118226814 296
-4 25118227538 264
-2 25121829540 0
-3 25121830215 264
-2 25121875424 0
-3 25121878378 296
-8 25121901092 296
-4 25121901813 264
-2 25125550447 0
-3 25125553369 296
-8 25125576028 296
-4 25125576738 264
-2 25129225003 0
-3 25129227896 296
-8 25129250535 296
-4 25129251238 264
-2 25132899872 0
-3 25132902793 296
-8 25132925297 296
-4 25132926008 264
-2 25136527276 0
-6 25136527977 280
-3 25136530005 280
-8 25136533239 280
-4 25136533929 264
-2 25136574845 0
-3 25136577887 296
-8 25136600695 296
-4 25136601413 264
-2 25140203423 0
-3 25140204098 264
-2 25140249676 0
-3 25140252641 296
-8 25140275409 296
-4 25140276120 264
-2 25143924396 0
-3 25143927340 296
-8 25143950027 296
-4 25143950727 264
-2 25147599364 0
-3 25147602264 296
-8 25147624967 296
-4 25147625675 264
-2 25151274305 0
-3 25151277226 296
-8 25151299774 296
-4 25151300479 264
-2 25154901384 0
-6 25154902089 280
-3 25154904163 280
-8 25154907461 280
-4 25154908151 264
-2 25154949003 0
-3 25154952056 296
-8 25154975005 296
-4 25154975729 264
-2 25158577718 0
-3 25158578393 264
-2 25158623971 0
-3 25158626925 296
-8 25158649664 296
-4 25158650391 264
-2 25162298653 0
-3 25162301575 296
-8 25162324267 296
-4 25162324977 264
-2 25165973605 0
-3 25165976498 296
-8 25165999186 296
-4 25165999893 264
-2 25169648160 0
-3 25169651081 296
-8 25169673635 296
-4 25169674346 264
-2 25173275614 0
-6 25173276315 280
-3 25173278343 280
-8 25173281590 280
-4 25173282280 264
-2 25173323183 0
-3 25173326198 296
-8 25173349050 296
-4 25173349768 264
-2 25176951777 0
-3 25176952452 264
-2 25176998030 0
-3 25177000995 296
-8 25177023789 296
-4 25177024500 264
-2 25180672778 0
-3 25180675722 296
-8 25180698415 296
-4 25180699120 264
-2 25184347752 0
-3 25184350656 296
-8 25184373382 296
-4 25184374090 264
-2 25188022357 0
-3 25188025283 296
-8 25188047832 296
-4 25188048537 264
-2 25191649810 0
-6 25191650511 280
-3 25191652572 280
-8 25191655820 280
-4 25191656510 264
-2 25191697413 0
-3 25191700471 296
-8 25191723382 296
-4 25191724106 264
-2 25195326095 0
-3 25195326770 264
-2 25195371979 0
-3 25195374933 296
-8 25195397672 296
-4 25195398393 264
-2 25199047024 0
-3 25199049946 296
-8 25199072654 296
-4 25199073364 264
-2 25202721629 0
-3 25202724522 296
-8 25202747211 296
-4 25202747918 264
-2 25206396548 0
-3 25206399469 296
-8 25206422023 296
-4 25206422734 264
-2 25210024008 0
-6 25210024709 280
-3 25210026757 280
-8 25210029999 280
-4 25210030689 264
-2 25210071598 0
-3 25210074640 296
-8 25210097481 296
-4 25210098199 264
-2 25213700209 0
-3 25213700884 264
-2 25213746462 0
-3 25213749427 296
-8 25213772239 296
-4 25213772950 264
-2 25217421226 0
-3 25217424170 296
-8 25217446857 296
-4 25217447557 264
-2 25221095831 0
-3 25221098731 296
-8 25221121439 296
-4 25221122152 264
-2 25224770777 0
-3 25224773699 296
-8 25224796247 296
-4 25224796952 264
-2 25228398225 0
-6 25228398926 280
-3 25228400975 280
-8 25228404229 280
-4 25228404919 264
-2 25228445448 0
-3 25228448501 296
-8 25228471446 296
-4 25228472170 264
-2 25232074526 0
-3 25232075201 264
-2 25232120411 0
-3 25232123365 296
-8 25232146106 296
-4 25232146827 264
-2 25235795098 0
-3 25235798020 296
-8 25235820712 296
-4 25235821422 264
-2 25239470050 0
-3 25239472954 296
-8 25239495642 296
-4 25239496349 264
-2 25243144979 0
-3 25243147900 296
-8 25243170475 296
-4 25243171189 264
-2 25246772086 0
-6 25246772787 280
-3 25246774825 280
-8 25246778073 280
-4 25246778775 264
-2 25246819667 0
-3 25246822731 296
-8 25246845588 296
-4 25246846306 264
-2 25250448316 0
-3 25250448991 264
-2 25250494569 0
-3 25250497534 296
-8 25250520328 296
-4 25250521039 264
-2 25254169317 0
-3 25254172265 296
-8 25254194959 296
-4 25254195664 264
-2 25257844296 0
-3 25257847200 296
-8 25257869926 296
-4 25257870634 264
-2 25261518901 0
-3 25261521827 296
-8 25261544376 296
-4 25261545081 264
-2 25265146354 0
-6 25265147055 280
-3 25265149104 280
-8 25265152353 280
-4 25265153043 264
-2 25265193946 0
-3 25265197004 296
-8 25265219916 296
-4 25265220640 264
-2 25268822628 0
-3 25268823303 264
-2 25268868881 0
-3 25268871835 296
-8 25268894576 296
-4 25268895297 264
-2 25272543568 0
-3 25272546490 296
-8 25272569198 296
-4 25272569908 264
-2 25276218536 0
-3 25276221429 296
-8 25276244118 296
-4 25276244825 264
-2 25279893092 0
-3 25279896013 296
-8 25279918567 296
-4 25279919278 264
-2 25283520545 0
-6 25283521250 280
-3 25283523302 280
-8 25283526543 280
-4 25283527233 264
-2 25283568142 0
-3 25283571201 296
-8 25283594053 296
-4 25283594771 264
-2 25287196780 0
-3 25287197455 264
-2 25287243033 0
-3 25287245998 296
-8 25287268816 296
-4 25287269527 264
-2 25290917803 0
-3 25290920747 296
-8 25290943434 296
-4 25290944134 264
-2 25294592408 0
-3 25294595318 296
-8 25294618022 296
-4 25294618730 264
-2 25298267360 0
-3 25298270286 296
-8 25298292851 296
-4 25298293556 264
-2 25301894830 0
-6 25301895531 280
-3 25301897580 280
-8 25301900841 280
-4 25301901531 264
-2 25301942053 0
-3 25301945111 296
-8 25301968056 296
-4 25301968780 264
-2 25305571136 0
-3 25305571811 264
-2 25305617021 0
-3 25305619975 296
-8 25305642716 296
-4 25305643437 264
-2 25309291708 0
-3 25309294630 296
-8 25309317322 296
-4 25309318033 264
-2 25312966660 0
-3 25312969553 296
-8 25312992241 296
-4 25312992944 264
-2 25316641578 0
-3 25316644499 296
-8 25316667053 296
-4 25316667764 264
-2 25320268663 0
-6 25320269375 280
-3 25320271403 280
-8 25320274813 280
-4 25320275503 264
-2 25320316244 0
-3 25320319263 296
-8 25320342116 296
-4 25320342834 264
-2 25323944843 0
-3 25323945518 264
-2 25323991096 0
-3 25323994061 296
-8 25324016855 296
-4 25324017566 264
-2 25327665844 0
-3 25327668788 296
-8 25327691481 296
-4 25327692186 264
-2 25331340818 0
-3 25331343722 296
-8 25331366448 296
-4 25331367156 264
-2 25335015786 0
-3 25335018712 296
-8 25335041261 296
-4 25335041966 264
-2 25338642871 0
-6 25338643572 280
-3 25338645622 280
-8 25338648869 280
-4 25338649559 264
-2 25338690462 0
-3 25338693520 296
-8 25338716431 296
-4 25338717155 264
-2 25342319144 0
-3 25342319819 264
-2 25342365397 0
-3 25342368351 296
-8 25342391090 296
-4 25342391811 264
-2 25346040079 0
-3 25346043001 296
-8 25346065709 296
-4 25346066419 264
-2 25349715047 0
-3 25349717940 296
-8 25349740629 296
-4 25349741336 264
-2 25353389966 0
-3 25353392887 296
-8 25353415441 296
-4 25353416152 264
-2 25357017051 0
-6 25357017756 280
-3 25357019784 280
-8 25357023027 280
-4 25357023717 264
-2 25357064626 0
-3 25357067685 296
-8 25357090536 296
-4 25357091260 264
-2 25360693264 0
-3 25360693939 264
-2 25360739517 0
-3 25360742482 296
-8 25360765294 296
-4 25360766005 264
-2 25364414281 0
-3 25364417225 296
-8 25364439912 296
-4 25364440612 264
-2 25368089249 0
-3 25368092148 296
-8 25368114852 296
-4 25368115560 264
-2 25371763827 0
-3 25371766753 296
-8 25371789302 296
-4 25371790007 264
-2 25375391280 0
-6 25375391981 280
-3 25375394030 280
-8 25375397279 280
-4 25375397969 264
-2 25375438872 0
-3 25375441930 296
-8 25375464882 296
-4 25375465606 264
-2 25379067587 0
-3 25379068262 264
-2 25379113471 0
-3 25379116425 296
-8 25379139164 296
-4 25379139885 264
-2 25382788516 0
-3 25382791438 296
-8 25382814137 296
-4 25382814849 264
-2 25386463473 0
-3 25386466366 296
-8 25386489055 296
-4 25386489758 264
-2 25390138029 0
-3 25390140950 296
-8 25390163504 296
-4 25390164215 264
-2 25393765482 0
-6 25393766183 280
-3 25393768221 280
-8 25393771610 280
-4 25393772300 264
-2 25393813063 0
-3 25393816082 296
-8 25393838935 296
-4 25393839653 264
-2 25397441662 0
-3 25397442337 264
-2 25397487915 0
-3 25397490880 296
-8 25397513674 296
-4 25397514385 264
-2 25401162663 0
-3 25401165607 296
-8 25401188300 296
-4 25401189005 264
-2 25404837274 0
-3 25404840179 296
-8 25404862904 296
-4 25404863612 264
-2 25408512242 0
-3 25408515168 296
-8 25408537717 296
-4 25408538422 264
-2 25412139695 0
-6 25412140400 280
-3 25412142456 280
-8 25412145705 280
-4 25412146395 264
-2 25412186929 0
-3 25412189982 296
-8 25412212894 296
-4 25412213618 264
-2 25415815974 0
-3 25415816649 264
-2 25415861859 0
-3 25415864813 296
-8 25415887554 296
-4 25415888275 264
-2 25419536909 0
-3 25419539831 296
-8 25419562545 296
-4 25419563255 264
-2 25423211520 0
-3 25423214413 296
-8 25423237101 296
-4 25423237808 264
-2 25426886438 0
-3 25426889365 296
-8 25426911919 296
-4 25426912630 264
-2 25430513897 0
-6 25430514598 280
-3 25430516626 280
-8 25430519869 280
-4 25430520553 264
-2 25430561098 0
-3 25430564140 296
-8 25430586970 296
-4 25430587688 264
-2 25434190066 0
-3 25434190741 264
-2 25434235951 0
-3 25434238916 296
-8 25434261728 296
-4 25434262439 264
-2 25437911078 0
-3 25437914022 296
-8 25437936709 296
-4 25437937409 264
-2 25441585683 0
-3 25441588583 296
-8 25441611286 296
-4 25441611998 264
-2 25445260624 0
-3 25445263550 296
-8 25445286099 296
-4 25445286804 264
-2 25448887709 0
-6 25448888410 280
-3 25448890471 280
-8 25448893726 280
-4 25448894416 264
-2 25448935311 0
-3 25448938364 296
-8 25448961309 296
-4 25448962033 264
-2 25452564021 0
-3 25452564696 264
-2 25452610274 0
-3 25452613228 296
-8 25452635969 296
-4 25452636690 264
-2 25456284961 0
-3 25456287883 296
-8 25456310575 296
-4 25456311285 264
-2 25459959913 0
-3 25459962806 296
-8 25459985494 296
-4 25459986201 264
-2 25463634831 0
-3 25463637752 296
-8 25463660306 296
-4 25463661017 264
-2 25467261916 0
-6 25467262617 280
-3 25467264645 280
-8 25467267903 280
-4 25467268593 264
-2 25467309486 0
-3 25467312533 296
-8 25467335385 296
-4 25467336103 264
-2 25470938113 0
-3 25470938788 264
-2 25470984366 0
-3 25470987326 296
-8 25471010138 296
-4 25471010864 264
-2 25474659130 0
-3 25474662173 296
-8 25474684867 296
-4 25474685567 264
-2 25478334208 0
-3 25478337134 296
-8 25478359794 296
-4 25478360502 264
-2 25482008769 0
-3 25482011691 296
-8 25482034189 296
-4 25482034894 264
-2 25485636168 0
-6 25485636870 280
-3 25485638924 280
-8 25485642172 280
-4 25485642875 264
-2 25485683765 0
-3 25485686824 296
-8 25485709648 296
-4 25485710372 264
-2 25489312375 0
-3 25489313050 264
-2 25489358628 0
-3 25489361582 296
-8 25489384296 296
-4 25489385017 264
-2 25493033288 0
-3 25493036210 296
-8 25493058869 296
-4 25493059579 264
-2 25496708207 0
-3 25496711100 296
-8 25496733739 296
-4 25496734442 264
-2 25500383076 0
-3 25500385997 296
-8 25500408501 296
-4 25500409212 264
-2 25504010480 0
-6 25504011185 280
-3 25504013208 280
-8 25504016443 280
-4 25504017133 264
-2 25504058049 0
-3 25504061091 296
-8 25504083883 296
-4 25504084601 264
-2 25507686610 0
-3 25507687285 264
-2 25507732863 0
-3 25507735828 296
-8 25507758597 296
-4 25507759308 264
-2 25511407589 0
-3 25511410533 296
-8 25511433220 296
-4 25511433920 264
-2 25515082194 0
-3 25515085094 296
-8 25515107797 296
-4 25515108505 264
-2 25518757135 0
-3 25518760061 296
-8 25518782610 296
-4 25518783315 264
-2 25522384588 0
-6 25522385289 280
-3 25522387345 280
-8 25522390592 280
-4 25522391282 264
-2 25522432185 0
-3 25522435239 296
-8 25522458176 296
-4 25522458900 264
-2 25526060889 0
-3 25526061564 264
-2 25526106774 0
-3 25526109728 296
-8 25526132469 296
-4 25526133190 264
-2 25529781824 0
-3 25529784746 296
-8 25529807438 296
-4 25529808148 264
-2 25533456413 0
-3 25533459306 296
-8 25533481994 296
-4 25533482701 264
-2 25537131331 0
-3 25537134252 296
-8 25537156806 296
-4 25537157517 264
-2 25540758792 0
-6 25540759493 280
-3 25540761541 280
-8 25540764788 280
-4 25540765478 264
-2 25540806013 0
-3 25540809028 296
-8 25540831874 296
-4 25540832592 264
-2 25544434970 0
-3 25544435645 264
-2 25544480855 0
-3 25544483820 296
-8 25544506614 296
-4 25544507325 264
-2 25548155966 0
-3 25548158914 296
-8 25548181608 296
-4 25548182313 264
-2 25551830582 0
-3 25551833486 296
-8 25551856217 296
-4 25551856930 264
-2 25555505555 0
-3 25555508477 296
-8 25555531030 296
-4 25555531735 264
-2 25559132640 0
-6 25559133341 280
-3 25559135385 280
-8 25559138633 280
-4 25559139329 264
-2 25559180226 0
-3 25559183279 296
-8 25559206266 296
-4 25559206990 264
-2 25562808980 0
-3 25562809655 264
-2 25562855233 0
-3 25562858187 296
-8 25562880928 296
-4 25562881649 264
-2 25566529920 0
-3 25566532842 296
-8 25566555550 296
-4 25566556260 264
-2 25570204888 0
-3 25570207781 296
-8 25570230470 296
-4 25570231177 264
-2 25573879807 0
-3 25573882728 296
-8 25573905286 296
-4 25573905992 264
-2 25577506892 0
-6 25577507593 280
-3 25577509621 280
-8 25577512862 280
-4 25577513552 264
-2 25577554461 0
-3 25577557520 296
-8 25577580366 296
-4 25577581084 264
-2 25581183094 0
-3 25581183769 264
-2 25581229347 0
-3 25581232312 296
-8 25581255124 296
-4 25581255835 264
-2 25584904111 0
-3 25584907055 296
-8 25584929742 296
-4 25584930442 264
-2 25588579079 0
-3 25588581979 296
-8 25588604682 296
-4 25588605390 264
-2 25592253657 0
-3 25592256583 296
-8 25592279132 296
-4 25592279837 264
-2 25595881110 0
-6 25595881811 280
-3 25595883855 280
-8 25595887154 280
-4 25595887844 264
-2 25595928696 0
-3 25595931750 296
-8 25595954687 296
-4 25595955411 264
-2 25599557400 0
-3 25599558075 264
-2 25599603285 0
-3 25599606239 296
-8 25599628980 296
-4 25599629701 264
-2 25603278335 0
-3 25603281257 296
-8 25603303949 296
-4 25603304659 264
-2 25606953287 0
-3 25606956180 296
-8 25606978868 296
-4 25606979575 264
-2 25610627842 0
-3 25610630763 296
-8 25610653317 296
-4 25610654028 264
-2 25614255296 0
-6 25614256001 280
-3 25614258051 280
-8 25614261299 280
-4 25614261989 264
-2 25614302893 0
-3 25614305912 296
-8 25614328748 296
-4 25614329466 264
-2 25617931476 0
-3 25617932151 264
-2 25617977729 0
-3 25617980694 296
-8 25618003493 296
-4 25618004209 264
-2 25621652482 0
-3 25621655426 296
-8 25621678119 296
-4 25621678824 264
-2 25625327093 0
-3 25625330003 296
-8 25625352728 296
-4 25625353436 264
-2 25629002066 0
-3 25629004988 296
-8 25629027552 296
-4 25629028257 264
-2 25632629531 0
-6 25632630232 280
-3 25632632281 280
-8 25632635529 280
-4 25632636219 264
-2 25632676754 0
-3 25632679812 296
-8 25632702717 296
-4 25632703441 264
-2 25636305799 0
-3 25636306474 264
-2 25636351683 0
-3 25636354637 296
-8 25636377376 296
-4 25636378097 264
-2 25640026728 0
-3 25640029650 296
-8 25640052358 296
-4 25640053068 264
-2 25643701333 0
-3 25643704226 296
-8 25643726915 296
-4 25643727622 264
-2 25647376252 0
-3 25647379173 296
-8 25647401727 296
-4 25647402438 264
-2 25651003705 0
-6 25651004406 280
-3 25651006439 280
-8 25651009681 280
-4 25651010371 264
-2 25651050912 0
-3 25651053971 296
-8 25651076817 296
-4 25651077535 264
-2 25654679913 0
-3 25654680588 264
-2 25654725797 0
-3 25654728762 296
-8 25654751575 296
-4 25654752286 264
-2 25658400567 0
-3 25658403511 296
-8 25658426198 296
-4 25658426898 264
-2 25662075535 0
-3 25662078435 296
-8 25662101138 296
-4 25662101846 264
-2 25665750476 0
-3 25665753397 296
-8 25665775945 296
-4 25665776650 264
-2 25669377555 0
-6 25669378256 280
-3 25669380305 280
-8 25669383554 280
-4 25669384244 264
-2 25669425147 0
-3 25669428205 296
-8 25669451143 296
-4 25669451867 264
-2 25673053856 0
-3 25673054531 264
-2 25673100109 0
-3 25673103063 296
-8 25673125802 296
-4 25673126523 264
-2 25676774791 0
-3 25676777713 296
-8 25676800405 296
-4 25676801115 264
-2 25680449743 0
-3 25680452637 296
-8 25680475324 296
-4 25680476027 264
-2 25684124661 0
-3 25684127582 296
-8 25684150157 296
-4 25684150867 264
-2 25687751768 0
-6 25687752473 280
-3 25687754496 280
-8 25687757731 280
-4 25687758433 264
-2 25687799338 0
-3 25687802397 296
-8 25687825259 296
-4 25687825977 264
-2 25691427987 0
-3 25691428668 264
-2 25691474245 0
-3 25691477210 296
-8 25691500004 296
-4 25691500715 264
-2 25695148993 0
-3 25695151937 296
-8 25695174630 296
-4 25695175335 264
-2 25698823967 0
-3 25698826871 296
-8 25698849597 296
-4 25698850305 264
-2 25702498572 0
-3 25702501498 296
-8 25702524047 296
-4 25702524752 264
-2 25706126025 0
-6 25706126726 280
-3 25706128770 280
-8 25706132018 280
-4 25706132708 264
-2 25706173611 0
-3 25706176665 296
-8 25706199577 296
-4 25706200305 264
-2 25709802282 0
-3 25709802957 264
-2 25709848535 0
-3 25709851489 296
-8 25709874228 296
-4 25709874949 264
-2 25713523217 0
-3 25713526139 296
-8 25713548847 296
-4 25713549557 264
-2 25717198185 0
-3 25717201078 296
-8 25717223767 296
-4 25717224474 264
-2 25720872741 0
-3 25720875662 296
-8 25720898216 296
-4 25720898927 264
-2 25724500194 0
-6 25724500895 280
-3 25724502918 280
-8 25724506159 280
-4 25724506849 264
-2 25724547758 0
-3 25724550800 296
-8 25724573636 296
-4 25724574354 264
-2 25728176363 0
-3 25728177038 264
-2 25728222616 0
-3 25728225581 296
-8 25728248394 296
-4 25728249105 264
-2 25731897386 0
-3 25731900330 296
-8 25731923017 296
-4 25731923717 264
-2 25735571991 0
-3 25735574891 296
-8 25735597594 296
-4 25735598302 264
-2 25739246939 0
-3 25739249864 296
-8 25739272412 296
-4 25739273117 264
-2 25742874391 0
-6 25742875096 280
-3 25742877168 280
-8 25742880530 280
-4 25742881220 264
-2 25742922010 0
-3 25742925063 296
-8 25742948000 296
-4 25742948724 264
-2 25746550714 0
-3 25746551389 264
-2 25746596598 0
-3 25746599552 296
-8 25746622291 296
-4 25746623012 264
-2 25750271643 0
-3 25750274565 296
-8 25750297262 296
-4 25750297972 264
-2 25753946237 0
-3 25753949130 296
-8 25753971824 296
-4 25753972531 264
-2 25757621161 0
-3 25757624088 296
-8 25757646642 296
-4 25757647353 264
-2 25761248620 0
-6 25761249321 280
-3 25761251344 280
-8 25761254591 280
-4 25761255281 264
-2 25761295816 0
-3 25761298831 296
-8 25761321677 296
-4 25761322395 264
-2 25764924773 0
-3 25764925448 264
-2 25764970657 0
-3 25764973622 296
-8 25764996416 296
-4 25764997127 264
-2 25768645768 0
-3 25768648712 296
-8 25768671405 296
-4 25768672110 264
-2 25772320379 0
-3 25772323283 296
-8 25772346009 296
-4 25772346717 264
-2 25775995347 0
-3 25775998273 296
-8 25776020822 296
-4 25776021527 264
-2 25779622432 0
-6 25779623133 280
-3 25779625188 280
-8 25779628491 280
-4 25779629181 264
-2 25779670029 0
-3 25779673082 296
-8 25779695986 296
-4 25779696710 264
-2 25783298700 0
-3 25783299375 264
-2 25783344953 0
-3 25783347907 296
-8 25783370648 296
-4 25783371369 264
-2 25787019640 0
-3 25787022562 296
-8 25787045270 296
-4 25787045980 264
-2 25790694608 0
-3 25790697501 296
-8 25790720190 296
-4 25790720897 264
-2 25794369527 0
-3 25794372448 296
-8 25794395002 296
-4 25794395713 264
-2 25797996612 0
-6 25797997313 280
-3 25797999340 280
-8 25798002582 280
-4 25798003272 264
-2 25798044181 0
-3 25798047223 296
-8 25798070064 296
-4 25798070782 264
-2 25801672792 0
-3 25801673467 264
-2 25801719045 0
-3 25801722009 296
-8 25801744822 296
-4 25801745548 264
-2 25805393809 0
-3 25805396769 296
-8 25805419458 296
-4 25805420158 264
-2 25809068799 0
-3 25809071699 296
-8 25809094402 296
-4 25809095110 264
-2 25812743740 0
-3 25812746661 296
-8 25812769209 296
-4 25812769914 264
-2 25816370819 0
-6 25816371524 280
-3 25816373598 280
-8 25816376845 280
-4 25816377535 264
-2 25816418438 0
-3 25816421491 296
-8 25816444398 296
-4 25816445122 264
-2 25820047126 0
-3 25820047801 264
-2 25820093379 0
-3 25820096333 296
-8 25820119096 296
-4 25820119817 264
-2 25823768088 0
-3 25823771014 296
-8 25823793707 296
-4 25823794417 264
-2 25827443045 0
-3 25827445938 296
-8 25827468643 296
-4 25827469350 264
-2 25831117617 0
-3 25831120538 296
-8 25831143109 296
-4 25831143820 264
-2 25834745087 0
-6 25834745788 280
-3 25834747811 280
-8 25834751069 280
-4 25834751759 264
-2 25834792651 0
-3 25834795715 296
-8 25834818545 296
-4 25834819263 264
-2 25838421273 0
-3 25838421948 264
-2 25838467526 0
-3 25838470486 296
-8 25838493298 296
-4 25838494029 264
-2 25842142290 0
-3 25842145333 296
-8 25842168159 296
-4 25842168859 264
-2 25845817137 0
-3 25845820063 296
-8 25845842855 296
-4 25845843563 264
-2 25849491830 0
-3 25849494752 296
-8 25849517322 296
-4 25849518027 264
-2 25853119300 0
-6 25853120001 280
-3 25853122045 280
-8 25853125310 280
-4 25853126013 264
-2 25853166886 0
-3 25853169944 296
-8 25853192835 296
-4 25853193559 264
-2 25856795563 0
-3 25856796238 264
-2 25856841447 0
-3 25856844401 296
-8 25856867159 296
-4 25856867880 264
-2 25860516514 0
-3 25860519436 296
-8 25860542139 296
-4 25860542849 264
-2 25864191114 0
-3 25864194007 296
-8 25864216690 296
-4 25864217397 264
-2 25867866027 0
-3 25867868948 296
-8 25867891496 296
-4 25867892207 264
-2 25871493475 0
-6 25871494176 280
-3 25871496208 280
-8 25871499456 280
-4 25871500146 264
-2 25871541050 0
-3 25871544092 296
-8 25871566916 296
-4 25871567634 264
-2 25875169644 0
-3 25875170319 264
-2 25875215897 0
-3 25875218862 296
-8 25875241674 296
-4 25875242385 264
-2 25878890661 0
-3 25878893605 296
-8 25878916336 296
-4 25878917036 264
-2 25882565310 0
-3 25882568210 296
-8 25882590957 296
-4 25882591670 264
-2 25886240295 0
-3 25886243221 296
-8 25886265819 296
-4 25886266528 264
-2 25889867429 0
-6 25889868134 280
-3 25889870180 280
-8 25889873441 280
-4 25889874131 264
-2 25889915021 0
-3 25889918074 296
-8 25889941038 296
-4 25889941762 264
-2 25893543741 0
-3 25893544416 264
-2 25893589994 0
-3 25893592948 296
-8 25893615731 296
-4 25893616452 264
-2 25897264720 0
-3 25897267642 296
-8 25897290378 296
-4 25897291088 264
-2 25900939353 0
-3 25900942246 296
-8 25900964978 296
-4 25900965685 264
-2 25904614315 0
-3 25904617236 296
-8 25904639834 296
-4 25904640545 264
-2 25908241813 0
-6 25908242514 280
-3 25908244541 280
-8 25908247789 280
-4 25908248479 264
-2 25908289014 0
-3 25908292033 296
-8 25908314919 296
-4 25908315637 264
-2 25911918015 0
-3 25911918690 264
-2 25911963899 0
-3 25911966864 296
-8 25911989702 296
-4 25911990413 264
-2 25915638691 0
-3 25915641634 296
-8 25915664372 296
-4 25915665077 264
-2 25919313709 0
-3 25919316608 296
-8 25919339377 296
-4 25919340085 264
-2 25922988352 0
-3 25922991274 296
-8 25923013866 296
-4 25923014571 264
-2 25926615844 0
-6 25926616545 280
-3 25926618601 280
-8 25926622079 280
-4 25926622769 264
-2 25926663441 0
-3 25926666495 296
-8 25926689426 296
-4 25926690150 264
-2 25930292129 0
-3 25930292804 264
-2 25930338013 0
-3 25930340967 296
-8 25930363750 296
-4 25930364471 264
-2 25934013102 0
-3 25934016024 296
-8 25934038776 296
-4 25934039486 264
-2 25937687758 0
-3 25937690651 296
-8 25937713382 296
-4 25937714089 264
-2 25941362719 0
-3 25941365640 296
-8 25941388238 296
-4 25941388949 264
-2 25944989848 0
-6 25944990553 280
-3 25944992605 280
-8 25944995846 280
-4 25944996536 264
-2 25945037445 0
-3 25945040504 296
-8 25945063394 296
-4 25945064112 264
-2 25948666122 0
-3 25948666797 264
-2 25948712375 0
-3 25948715340 296
-8 25948738202 296
-4 25948738918 264
-2 25952387194 0
-3 25952390138 296
-8 25952412869 296
-4 25952413569 264
-2 25956061843 0
-3 25956064748 296
-8 25956087495 296
-4 25956088203 264
-2 25959736833 0
-3 25959739755 296
-8 25959762363 296
-4 25959763068 264
-2 25963363973 0
-6 25963364674 280
-3 25963366718 280
-8 25963369966 280
-4 25963370656 264
-2 25963411559 0
-3 25963414613 296
-8 25963437577 296
-4 25963438301 264
-2 25967040280 0
-3 25967040955 264
-2 25967086533 0
-3 25967089487 296
-8 25967112272 296
-4 25967112993 264
-2 25970761264 0
-3 25970764186 296
-8 25970786922 296
-4 25970787636 264
-2 25974436260 0
-3 25974439153 296
-8 25974461885 296
-4 25974462588 264
-2 25978110859 0
-3 25978113780 296
-8 25978136378 296
-4 25978137089 264
-2 25981738357 0
-6 25981739058 280
-3 25981741091 280
-8 25981744325 280
-4 25981745015 264
-2 25981785932 0
-3 25981788951 296
-8 25981811842 296
-4 25981812560 264
-2 25985414570 0
-3 25985415245 264
-2 25985460454 0
-3 25985463419 296
-8 25985486257 296
-4 25985486968 264
-2 25989135609 0
-3 25989138553 296
-8 25989161290 296
-4 25989161995 264
-2 25992810264 0
-3 25992813168 296
-8 25992835938 296
-4 25992836646 264
-2 25996485276 0
-3 25996488202 296
-8 25996510795 296
-4 25996511500 264
-2 26000112405 0
-6 26000113106 280
-3 26000115155 280
-8 26000118403 280
-4 26000119093 264
-2 26000159996 0
-3 26000163052 296
-8 26000185993 296
-4 26000186717 264
-2 26003788700 0
-3 26003789375 264
-2 26003834953 0
-3 26003837907 296
-8 26003860690 296
-4 26003861411 264
-2 26007509679 0
-3 26007512601 296
-8 26007535353 296
-4 26007536063 264
-2 26011184328 0
-3 26011187221 296
-8 26011209954 296
-4 26011210661 264
-2 26014859291 0
-3 26014862212 296
-8 26014884810 296
-4 26014885521 264
-2 26018486420 0
-6 26018487125 280
-3 26018489153 280
-8 26018492396 280
-4 26018493086 264
-2 26018533995 0
-3 26018537054 296
-8 26018559949 296
-4 26018560667 264
-2 26022162677 0
-3 26022163352 264
-2 26022208930 0
-3 26022211901 296
-8 26022234757 296
-4 26022235468 264
-2 26025883749 0
-3 26025886693 296
-8 26025909442 296
-4 26025910142 264
-2 26029558420 0
-3 26029561320 296
-8 26029584067 296
-4 26029584775 264
-2 26033233405 0
-3 26033236331 296
-8 26033258924 296
-4 26033259629 264
-2 26036860534 0
-6 26036861235 280
-3 26036863284 280
-8 26036866583 280
-4 26036867273 264
-2 26036908125 0
-3 26036911179 296
-8 26036934158 296
-4 26036934882 264
-2 26040536857 0
-3 26040537532 264
-2 26040583110 0
-3 26040586064 296
-8 26040608849 296
-4 26040609570 264
-2 26044257841 0
-3 26044260763 296
-8 26044283499 296
-4 26044284209 264
-2 26047932837 0
-3 26047935731 296
-8 26047958462 296
-4 26047959169 264
-2 26051607436 0
-3 26051610357 296
-8 26051632976 296
-4 26051633686 264
-2 26055234956 0
-6 26055235657 280
-3 26055237695 280
-8 26055240943 280
-4 26055241645 264
-2 26055282536 0
-3 26055285595 296
-8 26055308496 296
-4 26055309214 264
-2 26058911224 0
-3 26058911899 264
-2 26058957108 0
-3 26058960073 296
-8 26058982911 296
-4 26058983622 264
-2 26062631900 0
-3 26062634844 296
-8 26062657581 296
-4 26062658286 264
-2 26066306918 0
-3 26066309817 296
-8 26066332586 296
-4 26066333294 264
-2 26069981561 0
-3 26069984482 296
-8 26070007080 296
-4 26070007785 264
-2 26073609059 0
-6 26073609761 280
-3 26073611815 280
-8 26073615063 280
-4 26073615753 264
-2 26073656656 0
-3 26073659709 296
-8 26073682647 296
-4 26073683371 264
-2 26077285354 0
-3 26077286029 264
-2 26077331239 0
-3 26077334193 296
-8 26077356978 296
-4 26077357699 264
-2 26081006333 0
-3 26081009255 296
-8 26081032007 296
-4 26081032717 264
-2 26084680982 0
-3 26084683875 296
-8 26084706613 296
-4 26084707316 264
-2 26088355950 0
-3 26088358871 296
-8 26088381475 296
-4 26088382186 264
-2 26091983085 0
-6 26091983786 280
-3 26091985814 280
-8 26091989042 280
-4 26091989732 264
-2 26092030654 0
-3 26092033696 296
-8 26092056592 296
-4 26092057310 264
-2 26095659320 0
-3 26095659995 264
-2 26095705573 0
-3 26095708538 296
-8 26095731394 296
-4 26095732105 264
-2 26099380381 0
-3 26099383324 296
-8 26099406056 296
-4 26099406756 264
-2 26103055030 0
-3 26103057929 296
-8 26103080677 296
-4 26103081385 264
-2 26106730015 0
-3 26106732941 296
-8 26106755534 296
-4 26106756241 264
-2 26110357144 0
-6 26110357845 280
-3 26110359906 280
-8 26110363153 280
-4 26110363843 264
-2 26110404746 0
-3 26110407799 296
-8 26110430772 296
-4 26110431496 264
-2 26114033478 0
-3 26114034153 264
-2 26114079731 0
-3 26114082685 296
-8 26114105470 296
-4 26114106191 264
-2 26117754462 0
-3 26117757384 296
-8 26117780120 296
-4 26117780830 264
-2 26121429458 0
-3 26121432352 296
-8 26121455083 296
-4 26121455790 264
-2 26125104057 0
-3 26125106978 296
-8 26125129597 296
-4 26125130307 264
-2 26128731577 0
-6 26128732278 280
-3 26128734306 280
-8 26128737553 280
-4 26128738255 264
-2 26128779146 0
-3 26128782188 296
-8 26128805084 296
-4 26128805802 264
-2 26132407812 0
-3 26132408487 264
-2 26132453696 0
-3 26132456662 296
-8 26132479499 296
-4 26132480225 264
-2 26136128488 0
-3 26136131443 296
-8 26136154180 296
-4 26136154885 264
-2 26139803517 0
-3 26139806416 296
-8 26139829185 296
-4 26139829899 264
-2 26143478160 0
-3 26143481081 296
-8 26143503674 296
-4 26143504379 264
-2 26147105652 0
-6 26147106357 280
-3 26147108413 280
-8 26147111662 280
-4 26147112352 264
-2 26147153255 0
-3 26147156308 296
-8 26147179221 296
-4 26147179945 264
-2 26150781942 0
-3 26150782617 264
-2 26150827827 0
-3 26150830781 296
-8 26150853599 296
-4 26150854320 264
-2 26154502954 0
-3 26154505880 296
-8 26154528634 296
-4 26154529344 264
-2 26158177609 0
-3 26158180502 296
-8 26158203251 296
-4 26158203958 264
-2 26161852588 0
-3 26161855509 296
-8 26161878090 296
-4 26161878801 264
-2 26165479700 0
-6 26165480401 280
-3 26165482429 280
-8 26165485676 280
-4 26165486366 264
-2 26165527270 0
-3 26165530285 296
-8 26165553180 296
-4 26165553898 264
-2 26169155908 0
-3 26169156583 264
-2 26169202161 0
-3 26169205126 296
-8 26169227986 296
-4 26169228701 264
-2 26172876975 0
-3 26172879918 296
-8 26172902655 296
-4 26172903360 264
-2 26176551629 0
-3 26176554528 296
-8 26176577281 296
-4 26176577989 264
-2 26180226619 0
-3 26180229540 296
-8 26180252133 296
-4 26180252838 264
-2 26183853743 0
-6 26183854444 280
-3 26183856505 280
-8 26183859848 280
-4 26183860538 264
-2 26183901345 0
-3 26183904398 296
-8 26183927359 296
-4 26183928083 264
-2 26187530066 0
-3 26187530741 264
-2 26187576319 0
-3 26187579273 296
-8 26187602058 296
-4 26187602779 264
-2 26191251050 0
-3 26191253972 296
-8 26191276708 296
-4 26191277418 264
-2 26194926046 0
-3 26194928940 296
-8 26194951671 296
-4 26194952374 264
-2 26198600645 0
-3 26198603566 296
-8 26198626192 296
-4 26198626903 264
-2 26202228170 0
-6 26202228871 280
-3 26202230921 280
-8 26202234161 280
-4 26202234869 264
-2 26202275762 0
-3 26202278897 296
-8 26202301793 296
-4 26202302511 264
-2 26205904521 0
-3 26205905196 264
-2 26205950405 0
-3 26205953365 296
-8 26205976221 296
-4 26205976947 264
-2 26209625208 0
-3 26209628251 296
-8 26209650989 296
-4 26209651694 264
-2 26213299967 0
-3 26213302893 296
-8 26213325603 296
-4 26213326311 264
-2 26216974941 0
-3 26216977862 296
-8 26217000410 296
-4 26217001115 264
-2 26220602389 0
-6 26220603091 280
-3 26220605145 280
-8 26220608398 280
-4 26220609101 264
-2 26220649617 0
-3 26220652676 296
-8 26220675552 296
-4 26220676276 264
-2 26224278640 0
-3 26224279315 264
-2 26224324525 0
-3 26224327479 296
-8 26224350234 296
-4 26224350955 264
-2 26227999586 0
-3 26228002508 296
-8 26228025211 296
-4 26228025921 264
-2 26231674186 0
-3 26231677079 296
-8 26231699762 296
-4 26231700465 264
-2 26235349099 0
-3 26235352020 296
-8 26235374568 296
-4 26235375279 264
-2 26238976547 0
-6 26238977259 280
-3 26238979287 280
-8 26238982521 280
-4 26238983211 264
-2 26239023759 0
-3 26239026818 296
-8 26239049669 296
-4 26239050387 264
-2 26242652765 0
-3 26242653440 264
-2 26242698650 0
-3 26242701615 296
-8 26242724427 296
-4 26242725138 264
-2 26246373414 0
-3 26246376358 296
-8 26246399089 296
-4 26246399789 264
-2 26250048426 0
-3 26250051325 296
-8 26250074073 296
-4 26250074781 264
-2 26253723048 0
-3 26253725974 296
-8 26253748567 296
-4 26253749272 264
-2 26257350545 0
-6 26257351246 280
-3 26257353307 280
-8 26257356555 280
-4 26257357245 264
-2 26257398148 0
-3 26257401206 296
-8 26257424178 296
-4 26257424902 264
-2 26261026885 0
-3 26261027560 264
-2 26261072769 0
-3 26261075723 296
-8 26261098506 296
-4 26261099227 264
-2 26264747858 0
-3 26264750780 296
-8 26264773516 296
-4 26264774226 264
-2 26268422491 0
-3 26268425384 296
-8 26268448116 296
-4 26268448819 264
-2 26272097453 0
-3 26272100374 296
-8 26272122972 296
-4 26272123683 264
-2 26275724582 0
-6 26275725287 280
-3 26275727339 280
-8 26275730573 280
-4 26275731263 264
-2 26275772179 0
-3 26275775200 296
-8 26275798095 296
-4 26275798813 264
-2 26279400823 0
-3 26279401498 264
-2 26279447076 0
-3 26279450041 296
-8 26279472884 296
-4 26279473600 264
-2 26283121873 0
-3 26283124816 296
-8 26283147559 296
-4 26283148264 264
-2 26286796533 0
-3 26286799433 296
-8 26286822196 296
-4 26286822904 264
-2 26290471534 0
-3 26290474455 296
-8 26290497064 296
-4 26290497769 264
-2 26294098674 0
-6 26294099375 280
-3 26294101424 280
-8 26294104673 280
-4 26294105363 264
-2 26294146266 0
-3 26294149313 296
-8 26294172263 296
-4 26294172987 264
-2 26297774970 0
-3 26297775645 264
-2 26297821223 0
-3 26297824177 296
-8 26297846962 296
-4 26297847683 264
-2 26301495954 0
-3 26301498876 296
-8 26301521632 296
-4 26301522342 264
-2 26305170972 0
-3 26305173865 296
-8 26305196597 296
-4 26305197300 264
-2 26308845571 0
-3 26308848492 296
-8 26308871090 296
-4 26308871801 264
-2 26312473069 0
-6 26312473770 280
-3 26312475808 280
-8 26312479022 280
-4 26312479706 264
-2 26312520649 0
-3 26312523708 296
-8 26312546593 296
-4 26312547311 264
-2 26316149320 0
-3 26316149995 264
-2 26316195205 0
-3 26316198170 296
-8 26316221026 296
-4 26316221737 264
-2 26319870013 0
-3 26319872957 296
-8 26319895688 296
-4 26319896388 264
-2 26323545025 0
-3 26323547925 296
-8 26323570672 296
-4 26323571380 264
-2 26327219647 0
-3 26327222573 296
-8 26327245166 296
-4 26327245871 264
-2 26330847144 0
-6 26330847845 280
-3 26330849923 280
-8 26330853278 280
-4 26330853968 264
-2 26330894763 0
-3 26330897810 296
-8 26330920782 296
-4 26330921506 264
-2 26334523498 0
-3 26334524175 264
-2 26334569385 0
-3 26334572339 296
-8 26334595124 296
-4 26334595845 264
-2 26338244479 0
-3 26338247401 296
-8 26338270137 296
-4 26338270847 264
-2 26341919112 0
-3 26341922006 296
-8 26341944737 296
-4 26341945440 264
-2 26345594074 0
-3 26345596995 296
-8 26345619614 296
-4 26345620324 264
-2 26349221225 0
-6 26349221930 280
-3 26349223960 280
-8 26349227207 280
-4 26349227909 264
-2 26349268800 0
-3 26349271859 296
-8 26349294755 296
-4 26349295473 264
-2 26352897482 0
-3 26352898157 264
-2 26352943735 0
-3 26352946706 296
-8 26352969544 296
-4 26352970255 264
-2 26356618533 0
-3 26356621481 296
-8 26356644230 296
-4 26356644935 264
-2 26360293204 0
-3 26360296103 296
-8 26360318872 296
-4 26360319580 264
-2 26363968210 0
-3 26363971131 296
-8 26363993724 296
-4 26363994429 264
-2 26367595334 0
-6 26367596039 280
-3 26367598085 280
-8 26367601332 280
-4 26367602022 264
-2 26367642925 0
-3 26367645979 296
-8 26367668910 296
-4 26367669638 264
-2 26371271613 0
-3 26371272288 264
-2 26371317866 0
-3 26371320820 296
-8 26371343605 296
-4 26371344326 264
-2 26374992597 0
-3 26374995519 296
-8 26375018271 296
-4 26375018981 264
-2 26378667609 0
-3 26378670502 296
-8 26378693235 296
-4 26378693938 264
-2 26382342209 0
-3 26382345130 296
-8 26382367728 296
-4 26382368439 264
-2 26385969706 0
-6 26385970407 280
-3 26385972440 280
-8 26385975757 280
-4 26385976447 264
-2 26386017281 0
-3 26386020340 296
-8 26386043236 296
-4 26386043954 264
-2 26389645963 0
-3 26389646638 264
-2 26389691848 0
-3 26389694813 296
-8 26389717669 296
-4 26389718380 264
-2 26393366656 0
-3 26393369600 296
-8 26393392331 296
-4 26393393031 264
-2 26397041668 0
-3 26397044568 296
-8 26397067315 296
-4 26397068023 264
-2 26400716290 0
-3 26400719217 296
-8 26400741809 296
-4 26400742514 264
-2 26404343787 0
-6 26404344489 280
-3 26404346560 280
-8 26404349808 280
-4 26404350498 264
-2 26404391401 0
-3 26404394459 296
-8 26404417424 296
-4 26404418148 264
-2 26408020127 0
-3 26408020802 264
-2 26408066011 0
-3 26408068965 296
-8 26408091748 296
-4 26408092469 264
-2 26411740737 0
-3 26411743659 296
-8 26411766395 296
-4 26411767105 264
-2 26415415733 0
-3 26415418627 296
-8 26415441364 296
-4 26415442071 264
-2 26419090701 0
-3 26419093622 296
-8 26419116241 296
-4 26419116957 264
-2 26422717852 0
-6 26422718557 280
-3 26422720580 280
-8 26422723828 280
-4 26422724530 264
-2 26422765421 0
-3 26422768480 296
-8 26422791403 296
-4 26422792121 264
-2 26426394131 0
-3 26426394806 264
-2 26426440384 0
-3 26426443349 296
-8 26426466187 296
-4 26426466898 264
-2 26430115176 0
-3 26430118124 296
-8 26430140862 296
-4 26430141567 264
-2 26433789836 0
-3 26433792740 296
-8 26433815510 296
-4 26433816218 264
-2 26437464848 0
-3 26437467774 296
-8 26437490367 296
-4 26437491072 264
-2 26441091977 0
-6 26441092678 280
-3 26441094733 280
-8 26441097981 280
-4 26441098671 264
-2 26441139574 0
-3 26441142632 296
-8 26441165564 296
-4 26441166288 264
-2 26444768267 0
-3 26444768942 264
-2 26444814520 0
-3 26444817474 296
-8 26444840259 296
-4 26444840980 264
-2 26448489251 0
-3 26448492173 296
-8 26448514925 296
-4 26448515635 264
-2 26452163900 0
-3 26452166793 296
-8 26452189526 296
-4 26452190233 264
-2 26455838863 0
-3 26455841784 296
-8 26455864382 296
-4 26455865093 264
-2 26459466360 0
-6 26459467061 280
-3 26459469084 280
-8 26459472589 280
-4 26459473279 264
-2 26459513556 0
-3 26459516615 296
-8 26459539510 296
-4 26459540228 264
-2 26463142606 0
-3 26463143281 264
-2 26463188491 0
-3 26463191456 296
-8 26463214312 296
-4 26463215023 264
-2 26466863299 0
-3 26466866243 296
-8 26466888974 296
-4 26466889674 264
-2 26470538311 0
-3 26470541211 296
-8 26470563958 296
-4 26470564666 264
-2 26474212933 0
-3 26474215859 296
-8 26474238452 296
-4 26474239157 264
-2 26477840430 0
-6 26477841131 280
-3 26477843180 280
-8 26477846442 280
-4 26477847132 264
-2 26477888022 0
-3 26477891080 296
-8 26477914045 296
-4 26477914769 264
-2 26481516748 0
-3 26481517423 264
-2 26481562632 0
-3 26481565586 296
-8 26481588377 296
-4 26481589098 264
-2 26485237369 0
-3 26485240295 296
-8 26485263032 296
-4 26485263742 264
-2 26488912370 0
-3 26488915263 296
-8 26488938012 296
-4 26488938719 264
-2 26492587349 0
-3 26492590270 296
-8 26492612868 296
-4 26492613579 264
-2 26496214478 0
-6 26496215179 280
-3 26496217202 280
-8 26496220449 280
-4 26496221139 264
-2 26496262042 0
-3 26496265063 296
-8 26496287942 296
-4 26496288660 264
-2 26499890669 0
-3 26499891344 264
-2 26499936922 0
-3 26499939887 296
-8 26499962725 296
-4 26499963436 264
-2 26503611714 0
-3 26503614658 296
-8 26503637395 296
-4 26503638100 264
-2 26507286369 0
-3 26507289273 296
-8 26507312043 296
-4 26507312751 264
-2 26510961381 0
-3 26510964307 296
-8 26510986900 296
-4 26510987605 264
-2 26514588510 0
-6 26514589211 280
-3 26514591266 280
-8 26514594514 280
-4 26514595204 264
-2 26514636107 0
-3 26514639165 296
-8 26514662097 296
-4 26514662821 264
-2 26518264800 0
-3 26518265475 264
-2 26518311053 0
-3 26518314007 296
-8 26518336792 296
-4 26518337513 264
-2 26521985784 0
-3 26521988706 296
-8 26522011458 296
-4 26522012168 264
-2 26525660796 0
-3 26525663689 296
-8 26525686422 296
-4 26525687129 264
-2 26529335396 0
-3 26529338317 296
-8 26529360915 296
-4 26529361626 264
-2 26532962893 0
-6 26532963594 280
-3 26532965622 280
-8 26532968864 280
-4 26532969554 264
-2 26533010463 0
-3 26533013522 296
-8 26533036412 296
-4 26533037130 264
-2 26536639139 0
-3 26536639814 264
-2 26536685024 0
-3 26536687989 296
-8 26536710845 296
-4 26536711556 264
-2 26540359832 0
-3 26540362776 296
-8 26540385507 296
-4 26540386207 264
-2 26544034844 0
-3 26544037744 296
-8 26544060491 296
-4 26544061199 264
-2 26547709466 0
-3 26547712392 296
-8 26547734990 296
-4 26547735695 264
-2 26551336969 0
-6 26551337670 280
-3 26551339719 280
-8 26551342967 280
-4 26551343657 264
-2 26551384560 0
-3 26551387624 296
-8 26551410589 296
-4 26551411313 264
-2 26555013292 0
-3 26555013967 264
-2 26555059176 0
-3 26555062130 296
-8 26555084932 296
-4 26555085653 264
-2 26558734287 0
-3 26558737209 296
-8 26558759945 296
-4 26558760655 264
-2 26562408920 0
-3 26562411813 296
-8 26562434545 296
-4 26562435252 264
-2 26566083882 0
-3 26566086803 296
-8 26566109401 296
-4 26566110112 264
-2 26569711011 0
-6 26569711712 280
-3 26569713735 280
-8 26569716993 280
-4 26569717683 264
-2 26569758575 0
-3 26569761611 296
-8 26569784508 296
-4 26569785226 264
-2 26573387235 0
-3 26573387910 264
-2 26573433488 0
-3 26573436454 296
-8 26573459310 296
-4 26573460036 264
-2 26577108302 0
-3 26577111345 296
-8 26577134083 296
-4 26577134783 264
-2 26580783061 0
-3 26580785987 296
-8 26580808691 296
-4 26580809399 264
-2 26584458029 0
-3 26584460951 296
-8 26584483493 296
-4 26584484198 264
-2 26588085103 0
-6 26588085804 280
-3 26588087860 280
-8 26588091107 280
-4 26588091810 264
-2 26588132700 0
-3 26588135758 296
-8 26588158617 296
-4 26588159341 264
-2 26591761338 0
-3 26591762013 264
-2 26591807591 0
-3 26591810545 296
-8 26591833303 296
-4 26591834024 264
-2 26595482295 0
-3 26595485217 296
-8 26595507920 296
-4 26595508630 264
-2 26599157258 0
-3 26599160151 296
-8 26599182834 296
-4 26599183541 264
-2 26602832171 0
-3 26602835092 296
-8 26602857640 296
-4 26602858351 264
-2 26606459250 0
-6 26606459951 280
-3 26606461979 280
-8 26606465226 280
-4 26606465916 264
-2 26606506820 0
-3 26606509879 296
-8 26606532714 296
-4 26606533432 264
-2 26610135441 0
-3 26610136116 264
-2 26610181694 0
-3 26610184659 296
-8 26610207472 296
-4 26610208188 264
-2 26613856464 0
-3 26613859408 296
-8 26613882146 296
-4 26613882846 264
-2 26617531487 0
-3 26617534387 296
-8 26617557140 296
-4 26617557848 264
-2 26621206114 0
-3 26621209036 296
-8 26621231628 296
-4 26621232333 264
-2 26624833606 0
-6 26624834307 280
-3 26624836351 280
-8 26624839712 280
-4 26624840402 264
-2 26624881192 0
-3 26624884246 296
-8 26624907210 296
-4 26624907934 264
-2 26628509913 0
-3 26628510588 264
-2 26628555797 0
-3 26628558751 296
-8 26628581534 296
-4 26628582255 264
-2 26632230886 0
-3 26632233808 296
-8 26632256544 296
-4 26632257254 264
-2 26635905519 0
-3 26635908412 296
-8 26635931144 296
-4 26635931851 264
-2 26639580481 0
-3 26639583402 296
-8 26639606000 296
-4 26639606711 264
-2 26643207610 0
-6 26643208311 280
-3 26643210344 280
-8 26643213592 280
-4 26643214282 264
-2 26643255185 0
-3 26643258206 296
-8 26643281085 296
-4 26643281803 264
-2 26646883812 0
-3 26646884487 264
-2 26646930065 0
-3 26646933030 296
-8 26646955868 296
-4 26646956579 264
-2 26650604857 0
-3 26650607801 296
-8 26650630538 296
-4 26650631243 264
-2 26654279875 0
-3 26654282779 296
-8 26654305549 296
-4 26654306257 264
-2 26657954524 0
-3 26657957450 296
-8 26657980043 296
-4 26657980748 264
-2 26661582021 0
-6 26661582722 280
-3 26661584766 280
-8 26661588014 280
-4 26661588704 264
-2 26661629239 0
-3 26661632297 296
-8 26661655237 296
-4 26661655961 264
-2 26665258311 0
-3 26665258986 264
-2 26665304196 0
-3 26665307150 296
-8 26665329935 296
-4 26665330656 264
-2 26668978927 0
-3 26668981849 296
-8 26669004601 296
-4 26669005311 264
-2 26672653939 0
-3 26672656832 296
-8 26672679565 296
-4 26672680272 264
-2 26676328539 0
-3 26676331460 296
-8 26676354058 296
-4 26676354769 264
-2 26679956036 0
-6 26679956737 280
-3 26679958765 280
-8 26679962007 280
-4 26679962697 264
-2 26680003606 0
-3 26680006665 296
-8 26680029555 296
-4 26680030273 264
-2 26683632282 0
-3 26683632957 264
-2 26683678535 0
-3 26683681506 296
-8 26683704362 296
-4 26683705073 264
-2 26687353349 0
-3 26687356293 296
-8 26687379042 296
-4 26687379742 264
-2 26691028020 0
-3 26691030920 296
-8 26691053667 296
-4 26691054375 264
-2 26694703005 0
-3 26694705931 296
-8 26694728524 296
-4 26694729229 264
-2 26698330134 0
-6 26698330835 280
-3 26698332884 280
-8 26698336132 280
-4 26698336822 264
-2 26698377725 0
-3 26698380779 296
-8 26698403748 296
-4 26698404472 264
-2 26702006446 0
-3 26702007121 264
-2 26702052330 0
-3 26702055284 296
-8 26702078067 296
-4 26702078788 264
-2 26705727419 0
-3 26705730341 296
-8 26705753077 296
-4 26705753787 264
-2 26709402052 0
-3 26709404945 296
-8 26709427677 296
-4 26709428384 264
-2 26713077014 0
-3 26713079935 296
-8 26713102533 296
-4 26713103244 264
-2 26716704143 0
-6 26716704844 280
-3 26716706877 280
-8 26716710125 280
-4 26716710815 264
-2 26716751718 0
-3 26716754739 296
-8 26716777618 296
-4 26716778336 264
-2 26720380345 0
-3 26720381020 264
-2 26720426598 0
-3 26720429563 296
-8 26720452401 296
-4 26720453112 264
-2 26724101390 0
-3 26724104334 296
-8 26724127071 296
-4 26724127776 264
-2 26727776408 0
-3 26727779312 296
-8 26727802082 296
-4 26727802790 264
-2 26731451057 0
-3 26731453983 296
-8 26731476576 296
-4 26731477281 264
-2 26735078554 0
-6 26735079255 280
-3 26735081304 280
-8 26735084553 280
-4 26735085243 264
-2 26735126146 0
-3 26735129204 296
-8 26735152136 296
-4 26735152860 264
-2 26738754839 0
-3 26738755514 264
-2 26738800723 0
-3 26738803677 296
-8 26738826460 296
-4 26738827181 264
-2 26742475812 0
-3 26742478734 296
-8 26742501486 296
-4 26742502196 264
-2 26746150461 0
-3 26746153354 296
-8 26746176092 296
-4 26746176799 264
-2 26749825429 0
-3 26749828350 296
-8 26749850948 296
-4 26749851659 264
-2 26753452558 0
-6 26753453259 280
-3 26753455282 280
-8 26753458523 280
-4 26753459213 264
-2 26753500122 0
-3 26753503181 296
-8 26753526082 296
-4 26753526800 264
-2 26757128810 0
-3 26757129485 264
-2 26757175063 0
-3 26757178028 296
-8 26757200884 296
-4 26757201595 264
-2 26760849871 0
-3 26760852815 296
-8 26760875546 296
-4 26760876246 264
-2 26764524520 0
-3 26764527420 296
-8 26764550167 296
-4 26764550875 264
-2 26768199505 0
-3 26768202431 296
-8 26768225024 296
-4 26768225729 264
-2 26771826634 0
-6 26771827335 280
-3 26771829384 280
-8 26771832683 280
-4 26771833373 264
-2 26771874225 0
-3 26771877279 296
-8 26771900243 296
-4 26771900967 264
-2 26775502946 0
-3 26775503621 264
-2 26775549199 0
-3 26775552153 296
-8 26775574938 296
-4 26775575659 264
-2 26779223930 0
-3 26779226852 296
-8 26779249588 296
-4 26779250298 264
-2 26782898926 0
-3 26782901819 296
-8 26782924551 296
-4 26782925258 264
-2 26786573525 0
-3 26786576446 296
-8 26786599044 296
-4 26786599755 264
-2 26790201023 0
-6 26790201724 280
-3 26790203751 280
-8 26790206999 280
-4 26790207689 264
-2 26790248592 0
-3 26790251613 296
-8 26790274492 296
-4 26790275210 264
-2 26793877219 0
-3 26793877894 264
-2 26793923104 0
-3 26793926069 296
-8 26793948907 296
-4 26793949618 264
-2 26797598259 0
-3 26797601207 296
-8 26797623950 296
-4 26797624655 264
-2 26801272924 0
-3 26801275824 296
-8 26801298593 296
-4 26801299301 264
-2 26804947568 0
-3 26804950494 296
-8 26804973087 296
-4 26804973792 264
-2 26808575065 0
-6 26808575766 280
-3 26808577815 280
-8 26808581064 280
-4 26808581754 264
-2 26808622657 0
-3 26808625715 296
-8 26808648647 296
-4 26808649371 264
-2 26812251350 0
-3 26812252025 264
-2 26812297234 0
-3 26812300188 296
-8 26812322979 296
-4 26812323700 264
-2 26815972334 0
-3 26815975256 296
-8 26815998014 296
-4 26815998724 264
-2 26819646989 0
-3 26819649882 296
-8 26819672614 296
-4 26819673317 264
-2 26823321951 0
-3 26823324872 296
-8 26823347470 296
-4 26823348181 264
-2 26826949080 0
-6 26826949781 280
-3 26826951804 280
-8 26826955032 280
-4 26826955722 264
-2 26826996644 0
-3 26826999703 296
-8 26827022599 296
-4 26827023317 264
-2 26830625326 0
-3 26830626001 264
-2 26830671579 0
-3 26830674544 296
-8 26830697401 296
-4 26830698112 264
-2 26834346393 0
-3 26834349337 296
-8 26834372068 296
-4 26834372773 264
-2 26838021042 0
-3 26838023942 296
-8 26838046689 296
-4 26838047418 264
-2 26841696027 0
-3 26841698953 296
-8 26841721546 296
-4 26841722251 264
-2 26845323524 0
-6 26845324225 280
-3 26845326281 280
-8 26845329528 280
-4 26845330218 264
-2 26845370753 0
-3 26845373811 296
-8 26845396776 296
-4 26845397500 264
-2 26848999847 0
-3 26849000522 264
-2 26849045732 0
-3 26849048686 296
-8 26849071471 296
-4 26849072192 264
-2 26852720463 0
-3 26852723385 296
-8 26852746121 296
-4 26852746831 264
-2 26856395459 0
-3 26856398352 296
-8 26856421084 296
-4 26856421791 264
-2 26860070058 0
-3 26860072979 296
-8 26860095577 296
-4 26860096288 264
-2 26863697556 0
-6 26863698257 280
-3 26863700307 280
-8 26863703554 280
-4 26863704244 264
-2 26863745147 0
-3 26863748168 296
-8 26863771047 296
-4 26863771765 264
-2 26867373774 0
-3 26867374449 264
-2 26867420027 0
-3 26867422992 296
-8 26867445830 296
-4 26867446541 264
-2 26871094819 0
-3 26871097763 296
-8 26871120500 296
-4 26871121205 264
-2 26874769474 0
-3 26874772378 296
-8 26874795148 296
-4 26874795856 264
-2 26878444486 0
-3 26878447412 296
-8 26878470010 296
-4 26878470719 264
-2 26882071620 0
-6 26882072321 280
-3 26882074365 280
-8 26882077613 280
-4 26882078303 264
-2 26882119206 0
-3 26882122270 296
-8 26882145202 296
-4 26882145926 264
-2 26885747905 0
-3 26885748580 264
-2 26885794158 0
-3 26885797112 296
-8 26885819911 296
-4 26885820632 264
-2 26889468900 0
-3 26889471822 296
-8 26889494574 296
-4 26889495284 264
-2 26893143549 0
-3 26893146442 296
-8 26893169175 296
-4 26893169882 264
-2 26896818512 0
-3 26896821433 296
-8 26896844031 296
-4 26896844742 264
-2 26900445641 0
-6 26900446342 280
-3 26900448369 280
-8 26900451611 280
-4 26900452301 264
-2 26900493210 0
-3 26900496269 296
-8 26900519165 296
-4 26900519883 264
-2 26904121892 0
-3 26904122567 264
-2 26904168145 0
-3 26904171110 296
-8 26904193967 296
-4 26904194678 264
-2 26907842959 0
-3 26907845903 296
-8 26907868634 296
-4 26907869334 264
-2 26911517971 0
-3 26911520871 296
-8 26911543618 296
-4 26911544326 264
-2 26915192593 0
-3 26915195519 296
-8 26915218112 296
-4 26915218817 264
-2 26918820090 0
-6 26918820791 280
-3 26918822847 280
-8 26918826228 280
-4 26918826918 264
-2 26918867319 0
-3 26918870377 296
-8 26918893342 296
-4 26918894066 264
-2 26922496413 0
-3 26922497088 264
-2 26922542298 0
-3 26922545252 296
-8 26922568037 296
-4 26922568758 264
-2 26926217029 0
-3 26926219951 296
-8 26926242687 296
-4 26926243397 264
-2 26929892025 0
-3 26929894918 296
-8 26929917650 296
-4 26929918357 264
-2 26933566624 0
-3 26933569545 296
-8 26933592143 296
-4 26933592854 264
-2 26937194122 0
-6 26937194823 280
-3 26937196873 280
-8 26937200131 280
-4 26937200821 264
-2 26937241713 0
-3 26937244749 296
-8 26937267640 296
-4 26937268358 264
-2 26940870368 0
-3 26940871043 264
-2 26940916621 0
-3 26940919585 296
-8 26940942442 296
-4 26940943168 264
-2 26944591429 0
-3 26944594472 296
-8 26944617221 296
-4 26944617921 264
-2 26948266199 0
-3 26948269125 296
-8 26948291829 296
-4 26948292543 264
-2 26951940804 0
-3 26951943726 296
-8 26951966268 296
-4 26951966973 264
-2 26955568247 0
-6 26955568948 280
-3 26955570997 280
-8 26955574245 280
-4 26955574948 264
-2 26955615838 0
-3 26955618896 296
-8 26955641755 296
-4 26955642479 264
-2 26959244476 0
-3 26959245151 264
-2 26959290729 0
-3 26959293683 296
-8 26959316441 296
-4 26959317162 264
-2 26962965433 0
-3 26962968355 296
-8 26962991058 296
-4 26962991768 264
-2 26966640396 0
-3 26966643289 296
-8 26966665972 296
-4 26966666679 264
-2 26970314946 0
-3 26970317867 296
-8 26970340415 296
-4 26970341126 264
-2 26973942394 0
-6 26973943095 280
-3 26973945128 280
-8 26973948375 280
-4 26973949065 264
-2 26973989969 0
-3 26973993028 296
-8 26974015863 296
-4 26974016581 264
-2 26977618590 0
-3 26977619265 264
-2 26977664843 0
-3 26977667808 296
-8 26977690621 296
-4 26977691332 264
-2 26981339613 0
-3 26981342557 296
-8 26981365288 296
-4 26981365988 264
-2 26985014262 0
-3 26985017162 296
-8 26985039909 296
-4 26985040617 264
-2 26988689247 0
-3 26988692173 296
-8 26988714766 296
-4 26988715471 264
-2 26992316376 0
-6 26992317077 280
-3 26992319126 280
-8 26992322374 280
-4 26992323064 264
-2 26992363967 0
-3 26992367021 296
-8 26992389999 296
-4 26992390723 264
-2 26995992704 0
-3 26995993379 264
-2 26996038957 0
-3 26996041911 296
-8 26996064694 296
-4 26996065415 264
-2 26999713683 0
-3 26999716605 296
-8 26999739341 296
-4 26999740051 264
-2 27003388679 0
-3 27003391572 296
-8 27003414304 296
-4 27003415011 264
-2 27007063278 0
-3 27007066199 296
-8 27007088797 296
-4 27007089508 264
-2 27010690776 0
-6 27010691477 280
-3 27010693527 280
-8 27010696774 280
-4 27010697464 264
-2 27010738367 0
-3 27010741388 296
-8 27010764267 296
-4 27010764985 264
-2 27014366994 0
-3 27014367669 264
-2 27014413247 0
-3 27014416212 296
-8 27014439050 296
-4 27014439761 264
-2 27018088039 0
-3 27018090983 296
-8 27018113731 296
-4 27018114436 264
-2 27021762705 0
-3 27021765609 296
-8 27021788379 296
-4 27021789087 264
-2 27025437717 0
-3 27025440643 296
-8 27025463236 296
-4 27025463941 264
-2 27029064846 0
-6 27029065547 280
-3 27029067596 280
-8 27029070844 280
-4 27029071534 264
-2 27029112437 0
-3 27029115491 296
-8 27029138422 296
-4 27029139146 264
-2 27032741125 0
-3 27032741800 264
-2 27032787378 0
-3 27032790332 296
-8 27032813117 296
-4 27032813838 264
-2 27036462109 0
-3 27036465031 296
-8 27036487783 296
-4 27036488493 264
-2 27040136758 0
-3 27040139651 296
-8 27040162384 296
-4 27040163091 264
-2 27043811721 0
-3 27043814642 296
-8 27043837240 296
-4 27043837951 264
-2 27047438850 0
-6 27047439551 280
-3 27047441584 280
-8 27047444826 280
-4 27047445516 264
-2 27047486425 0
-3 27047489484 296
-8 27047512374 296
-4 27047513092 264
-2 27051115101 0
-3 27051115776 264
-2 27051161354 0
-3 27051164319 296
-8 27051187176 296
-4 27051187887 264
-2 27054836168 0
-3 27054839112 296
-8 27054861843 296
-4 27054862543 264
-2 27058511180 0
-3 27058514080 296
-8 27058536827 296
-4 27058537535 264
-2 27062185802 0
-3 27062188729 296
-8 27062211321 296
-4 27062212026 264
-2 27065813299 0
-6 27065814002 280
-3 27065816071 280
-8 27065819333 280
-4 27065820023 264
-2 27065860544 0
-3 27065863598 296
-8 27065886562 296
-4 27065887286 264
-2 27069489633 0
-3 27069490308 264
-2 27069535518 0
-3 27069538472 296
-8 27069561257 296
-4 27069561978 264
-2 27073210249 0
-3 27073213171 296
-8 27073235907 296
-4 27073236617 264
-2 27076885245 0
-3 27076888138 296
-8 27076910870 296
-4 27076911577 264
-2 27080559844 0
-3 27080562765 296
-8 27080585363 296
-4 27080586074 264
-2 27084187342 0
-6 27084188043 280
-3 27084190076 280
-8 27084193323 280
-4 27084194013 264
-2 27084234917 0
-3 27084237936 296
-8 27084260833 296
-4 27084261551 264
-2 27087863560 0
-3 27087864235 264
-2 27087909813 0
-3 27087912778 296
-8 27087935616 296
-4 27087936327 264
-2 27091584605 0
-3 27091587549 296
-8 27091610286 296
-4 27091610991 264
-2 27095259260 0
-3 27095262164 296
-8 27095284934 296
-4 27095285642 264
-2 27098934272 0
-3 27098937198 296
-8 27098959797 296
-4 27098960504 264
-2 27102561406 0
-6 27102562107 280
-3 27102564163 280
-8 27102567410 280
-4 27102568100 264
-2 27102609003 0
-3 27102612057 296
-8 27102634993 296
-4 27102635717 264
-2 27106237696 0
-3 27106238371 264
-2 27106283949 0
-3 27106286903 296
-8 27106309686 296
-4 27106310407 264
-2 27109958675 0
-3 27109961597 296
-8 27109984349 296
-4 27109985059 264
-2 27113633324 0
-3 27113636217 296
-8 27113658950 296
-4 27113659657 264
-2 27117308287 0
-3 27117311208 296
-8 27117333806 296
-4 27117334517 264
-2 27120935784 0
-6 27120936485 280
-3 27120938508 280
-8 27120941749 280
-4 27120942439 264
-2 27120982980 0
-3 27120986039 296
-8 27121008929 296
-4 27121009647 264
-2 27124612025 0
-3 27124612700 264
-2 27124657909 0
-3 27124660874 296
-8 27124683731 296
-4 27124684442 264
-2 27128332723 0
-3 27128335672 296
-8 27128358405 296
-4 27128359105 264
-2 27132007746 0
-3 27132010646 296
-8 27132033393 296
-4 27132034101 264
-2 27135682368 0
-3 27135685294 296
-8 27135707887 296
-4 27135708592 264
-2 27139309865 0
-6 27139310566 280
-3 27139312644 280
-8 27139315891 280
-4 27139316581 264
-2 27139357116 0
-3 27139360174 296
-8 27139383139 296
-4 27139383863 264
-2 27142986210 0
-3 27142986885 264
-2 27143032095 0
-3 27143035049 296
-8 27143057837 296
-4 27143058558 264
-2 27146706826 0
-3 27146709748 296
-8 27146732484 296
-4 27146733200 264
-2 27150381822 0
-3 27150384715 296
-8 27150407447 296
-4 27150408154 264
-2 27154056784 0
-3 27154059705 296
-8 27154082303 296
-4 27154083014 264
-2 27157683913 0
-6 27157684625 280
-3 27157686648 280
-8 27157689895 280
-4 27157690585 264
-2 27157731488 0
-3 27157734509 296
-8 27157757481 296
-4 27157758199 264
-2 27161360209 0
-3 27161360884 264
-2 27161406462 0
-3 27161409433 296
-8 27161432270 296
-4 27161432981 264
-2 27165081259 0
-3 27165084203 296
-8 27165106940 296
-4 27165107645 264
-2 27168755914 0
-3 27168758818 296
-8 27168781588 296
-4 27168782296 264
-2 27172430926 0
-3 27172433852 296
-8 27172456445 296
-4 27172457150 264
-2 27176058055 0
-6 27176058756 280
-3 27176060811 280
-8 27176064059 280
-4 27176064749 264
-2 27176105652 0
-3 27176108710 296
-8 27176131642 296
-4 27176132366 264
-2 27179734345 0
-3 27179735020 264
-2 27179780598 0
-3 27179783552 296
-8 27179806337 296
-4 27179807058 264
-2 27183455329 0
-3 27183458251 296
-8 27183481003 296
-4 27183481713 264
-2 27187129978 0
-3 27187132871 296
-8 27187155604 296
-4 27187156311 264
-2 27190804941 0
-3 27190807862 296
-8 27190830460 296
-4 27190831171 264
-2 27194432070 0
-6 27194432771 280
-3 27194434804 280
-8 27194438031 280
-4 27194438715 264
-2 27194479645 0
-3 27194482704 296
-8 27194505588 296
-4 27194506306 264
-2 27198108316 0
-3 27198108991 264
-2 27198154569 0
-3 27198157534 296
-8 27198180390 296
-4 27198181101 264
-2 27201829377 0
-3 27201832321 296
-8 27201855052 296
-4 27201855752 264
-2 27205504389 0
-3 27205507289 296
-8 27205530036 296
-4 27205530744 264
-2 27209179011 0
-3 27209181937 296
-8 27209204535 296
-4 27209205244 264
-2 27212806514 0
-6 27212807215 280
-3 27212809264 280
-8 27212812789 280
-4 27212813479 264
-2 27212853737 0
-3 27212856795 296
-8 27212879768 296
-4 27212880492 264
-2 27216482842 0
-3 27216483517 264
-2 27216528727 0
-3 27216531681 296
-8 27216554480 296
-4 27216555201 264
-2 27220203469 0
-3 27220206391 296
-8 27220229127 296
-4 27220229837 264
-2 27223878465 0
-3 27223881358 296
-8 27223904090 296
-4 27223904797 264
-2 27227553064 0
-3 27227555985 296
-8 27227578583 296
-4 27227579294 264
-2 27231180562 0
-6 27231181267 280
-3 27231183295 280
-8 27231186543 280
-4 27231187233 264
-2 27231228137 0
-3 27231231156 296
-8 27231254047 296
-4 27231254765 264
-2 27234856775 0
-3 27234857450 264
-2 27234903028 0
-3 27234905993 296
-8 27234928831 296
-4 27234929542 264
-2 27238577820 0
-3 27238580768 296
-8 27238603506 296
-4 27238604211 264
-2 27242252480 0
-3 27242255384 296
-8 27242278154 296
-4 27242278862 264
-2 27245927492 0
-3 27245930418 296
-8 27245953011 296
-4 27245953716 264
-2 27249554621 0
-6 27249555322 280
-3 27249557383 280
-8 27249560630 280
-4 27249561320 264
-2 27249602223 0
-3 27249605277 296
-8 27249628216 296
-4 27249628940 264
-2 27253230922 0
-3 27253231597 264
-2 27253277175 0
-3 27253280129 296
-8 27253302914 296
-4 27253303635 264
-2 27256951906 0
-3 27256954828 296
-8 27256977580 296
-4 27256978290 264
-2 27260626555 0
-3 27260629448 296
-8 27260652181 296
-4 27260652888 264
-2 27264301518 0
-3 27264304439 296
-8 27264327037 296
-4 27264327748 264
-2 27267928647 0
-6 27267929348 280
-3 27267931398 280
-8 27267934639 280
-4 27267935329 264
-2 27267976238 0
-3 27267979297 296
-8 27268002193 296
-4 27268002911 264
-2 27271604920 0
-3 27271605595 264
-2 27271651173 0
-3 27271654138 296
-8 27271676995 296
-4 27271677706 264
-2 27275325987 0
-3 27275328931 296
-8 27275351669 296
-4 27275352369 264
-2 27279001010 0
-3 27279003910 296
-8 27279026657 296
-4 27279027365 264
-2 27282675632 0
-3 27282678564 296
-8 27282701156 296
-4 27282701861 264
-2 27286303135 0
-6 27286303840 280
-3 27286305891 280
-8 27286309155 280
-4 27286309845 264
-2 27286350363 0
-3 27286353417 296
-8 27286376389 296
-4 27286377113 264
-2 27289979463 0
-3 27289980138 264
-2 27290025348 0
-3 27290028302 296
-8 27290051087 296
-4 27290051808 264
-2 27293700079 0
-3 27293703001 296
-8 27293725737 296
-4 27293726447 264
-2 27297375075 0
-3 27297377968 296
-8 27297400700 296
-4 27297401407 264
-2 27301049674 0
-3 27301052595 296
-8 27301075193 296
-4 27301075904 264
-2 27304677172 0
-6 27304677873 280
-3 27304679901 280
-8 27304683159 280
-4 27304683849 264
-2 27304724741 0
-3 27304727777 296
-8 27304750674 296
-4 27304751392 264
-2 27308353401 0
-3 27308354076 264
-2 27308399654 0
-3 27308402620 296
-8 27308425476 296
-4 27308426202 264
-2 27312074468 0
-3 27312077511 296
-8 27312100249 296
-4 27312100949 264
-2 27315749227 0
-3 27315752153 296
-8 27315774857 296
-4 27315775565 264
-2 27319423832 0
-3 27319426754 296
-8 27319449296 296
-4 27319450001 264
-2 27323051275 0
-6 27323051976 280
-3 27323054025 280
-8 27323057273 280
-4 27323057976 264
-2 27323098866 0
-3 27323101924 296
-8 27323124790 296
-4 27323125514 264
-2 27326727510 0
-3 27326728185 264
-2 27326773763 0
-3 27326776717 296
-8 27326799472 296
-4 27326800193 264
-2 27330448461 0
-3 27330451383 296
-8 27330474086 296
-4 27330474796 264
-2 27334123424 0
-3 27334126317 296
-8 27334149000 296
-4 27334149707 264
-2 27337797974 0
-3 27337800895 296
-8 27337823443 296
-4 27337824154 264
-2 27341425422 0
-6 27341426123 280
-3 27341428173 280
-8 27341431420 280
-4 27341432110 264
-2 27341473013 0
-3 27341476072 296
-8 27341498918 296
-4 27341499636 264
-2 27345101646 0
-3 27345102321 264
-2 27345147899 0
-3 27345150864 296
-8 27345173682 296
-4 27345174393 264
-2 27348822674 0
-3 27348825618 296
-8 27348848349 296
-4 27348849049 264
-2 27352497323 0
-3 27352500223 296
-8 27352522970 296
-4 27352523678 264
-2 27356172308 0
-3 27356175234 296
-8 27356197827 296
-4 27356198532 264
-2 27359799437 0
-6 27359800138 280
-3 27359802187 280
-8 27359805486 280
-4 27359806176 264
-2 27359847028 0
-3 27359850082 296
-8 27359873054 296
-4 27359873778 264
-2 27363475760 0
-3 27363476435 264
-2 27363522013 0
-3 27363524967 296
-8 27363547752 296
-4 27363548473 264
-2 27367196744 0
-3 27367199666 296
-8 27367222402 296
-4 27367223112 264
-2 27370871740 0
-3 27370874633 296
-8 27370897365 296
-4 27370898072 264
-2 27374546339 0
-3 27374549260 296
-8 27374571858 296
-4 27374572569 264
-2 27378173837 0
-6 27378174538 280
-3 27378176576 280
-8 27378179923 280
-4 27378180613 264
-2 27378221417 0
-3 27378224438 296
-8 27378247322 296
-4 27378248040 264
-2 27381850050 0
-3 27381850725 264
-2 27381895934 0
-3 27381898899 296
-8 27381921737 296
-4 27381922448 264
-2 27385571089 0
-3 27385574033 296
-8 27385596770 296
-4 27385597475 264
-2 27389245744 0
-3 27389248648 296
-8 27389271418 296
-4 27389272126 264
-2 27392920393 0
-3 27392923320 296
-8 27392945912 296
-4 27392946617 264
-2 27396547890 0
-6 27396548591 280
-3 27396550640 280
-8 27396553889 280
-4 27396554592 264
-2 27396595482 0
-3 27396598540 296
-8 27396621480 296
-4 27396622204 264
-2 27400224186 0
-3 27400224861 264
-2 27400270070 0
-3 27400273024 296
-8 27400295807 296
-4 27400296528 264
-2 27403945159 0
-3 27403948081 296
-8 27403970833 296
-4 27403971543 264
-2 27407619808 0
-3 27407622701 296
-8 27407645439 296
-4 27407646146 264
-2 27411294776 0
-3 27411297697 296
-8 27411320295 296
-4 27411321006 264
-2 27414921905 0
-6 27414922606 280
-3 27414924640 280
-8 27414927881 280
-4 27414928571 264
-2 27414969480 0
-3 27414972539 296
-8 27414995446 296
-4 27414996164 264
-2 27418598173 0
-3 27418598848 264
-2 27418644426 0
-3 27418647391 296
-8 27418670248 296
-4 27418670959 264
-2 27422319240 0
-3 27422322184 296
-8 27422344915 296
-4 27422345615 264
-2 27425993889 0
-3 27425996789 296
-8 27426019536 296
-4 27426020244 264
-2 27429668874 0
-3 27429671800 296
-8 27429694393 296
-4 27429695102 264
-2 27433296003 0
-6 27433296704 280
-3 27433298765 280
-8 27433302012 280
-4 27433302702 264
-2 27433343605 0
-3 27433346659 296
-8 27433369635 296
-4 27433370359 264
-2 27436972342 0
-3 27436973017 264
-2 27437018595 0
-3 27437021549 296
-8 27437044332 296
-4 27437045053 264
-2 27440693321 0
-3 27440696243 296
-8 27440718979 296
-4 27440719689 264
-2 27444368317 0
-3 27444371210 296
-8 27444393942 296
-4 27444394649 264
-2 27448042916 0
-3 27448045837 296
-8 27448068435 296
-4 27448069146 264
-2 27451670414 0
-6 27451671115 280
-3 27451673143 280
-8 27451676720 280
-4 27451677410 264
-2 27451717983 0
-3 27451721004 296
-8 27451743888 296
-4 27451744606 264
-2 27455346616 0
-3 27455347291 264
-2 27455392869 0
-3 27455395834 296
-8 27455418672 296
-4 27455419383 264
-2 27459067661 0
-3 27459070609 296
-8 27459093347 296
-4 27459094052 264
-2 27462742321 0
-3 27462745225 296
-8 27462767995 296
-4 27462768703 264
-2 27466417333 0
-3 27466420259 296
-8 27466442852 296
-4 27466443557 264
-2 27470044462 0
-6 27470045163 280
-3 27470047212 280
-8 27470050460 280
-4 27470051150 264
-2 27470092053 0
-3 27470095107 296
-8 27470118046 296
-4 27470118770 264
-2 27473720752 0
-3 27473721427 264
-2 27473767005 0
-3 27473769959 296
-8 27473792747 296
-4 27473793468 264
-2 27477441736 0
-3 27477444658 296
-8 27477467410 296
-4 27477468120 264
-2 27481116385 0
-3 27481119278 296
-8 27481142011 296
-4 27481142718 264
-2 27484791348 0
-3 27484794269 296
-8 27484816867 296
-4 27484817578 264
-2 27488418477 0
-6 27488419178 280
-3 27488421206 280
-8 27488424447 280
-4 27488425137 264
-2 27488466046 0
-3 27488469105 296
-8 27488492001 296
-4 27488492719 264
-2 27492094728 0
-3 27492095403 264
-2 27492140981 0
-3 27492143946 296
-8 27492166803 296
-4 27492167514 264
-2 27495815795 0
-3 27495818739 296
-8 27495841470 296
-4 27495842170 264
-2 27499490807 0
-3 27499493707 296
-8 27499516454 296
-4 27499517162 264
-2 27503165429 0
-3 27503168355 296
-8 27503190948 296
-4 27503191653 264
-2 27506792926 0
-6 27506793627 280
-3 27506795688 280
-8 27506798949 280
-4 27506799639 264
-2 27506840160 0
-3 27506843214 296
-8 27506866186 296
-4 27506866910 264
-2 27510469260 0
-3 27510469935 264
-2 27510515145 0
-3 27510518099 296
-8 27510540884 296
-4 27510541605 264
-2 27514189876 0
-3 27514192798 296
-8 27514215534 296
-4 27514216244 264
-2 27517864872 0
-3 27517867765 296
-8 27517890497 296
-4 27517891204 264
-2 27521539471 0
-3 27521542392 296
-8 27521564990 296
-4 27521565701 264
-2 27525166969 0
-6 27525167670 280
-3 27525169720 280
-8 27525172975 280
-4 27525173665 264
-2 27525214560 0
-3 27525217581 296
-8 27525240465 296
-4 27525241183 264
-2 27528843193 0
-3 27528843868 264
-2 27528889446 0
-3 27528892411 296
-8 27528915249 296
-4 27528915960 264
-2 27532564238 0
-3 27532567186 296
-8 27532589924 296
-4 27532590629 264
-2 27536238898 0
-3 27536241802 296
-8 27536264572 296
-4 27536265280 264
-2 27539913910 0
-3 27539916836 296
-8 27539939434 296
-4 27539940143 264
-2 27543541044 0
-6 27543541745 280
-3 27543543794 280
-8 27543547043 280
-4 27543547733 264
-2 27543588636 0
-3 27543591694 296
-8 27543614638 296
-4 27543615368 264
-2 27547217345 0
-3 27547218020 264
-2 27547263598 0
-3 27547266552 296
-8 27547289335 296
-4 27547290056 264
-2 27550938324 0
-3 27550941246 296
-8 27550963998 296
-4 27550964708 264
-2 27554612973 0
-3 27554615866 296
-8 27554638599 296
-4 27554639306 264
-2 27558287936 0
-3 27558290857 296
-8 27558313455 296
-4 27558314166 264
-2 27561915065 0
-6 27561915766 280
-3 27561917794 280
-8 27561921035 280
-4 27561921725 264
-2 27561962634 0
-3 27561965693 296
-8 27561988602 296
-4 27561989320 264
-2 27565591322 0
-3 27565591997 264
-2 27565637575 0
-3 27565640540 296
-8 27565663396 296
-4 27565664107 264
-2 27569312383 0
-3 27569315327 296
-8 27569338058 296
-4 27569338758 264
-2 27572987395 0
-3 27572990295 296
-8 27573013042 296
-4 27573013750 264
-2 27576662017 0
-3 27576664943 296
-8 27576687536 296
-4 27576688241 264
-2 27580289514 0
-6 27580290215 280
-3 27580292276 280
-8 27580295524 280
-4 27580296214 264
-2 27580336748 0
-3 27580339802 296
-8 27580362774 296
-4 27580363498 264
-2 27583965848 0
-3 27583966523 264
-2 27584011733 0
-3 27584014687 296
-8 27584037472 296
-4 27584038193 264
-2 27587686464 0
-3 27587689386 296
-8 27587712122 296
-4 27587712832 264
-2 27591361460 0
-3 27591364351 296
-8 27591387085 296
-4 27591387792 264
-2 27595036059 0
-3 27595038980 296
-8 27595061578 296
-4 27595062289 264
-2 27598663557 0
-6 27598664258 280
-3 27598666308 280
-8 27598669555 280
-4 27598670245 264
-2 27598711148 0
-3 27598714163 296
-8 27598737059 296
-4 27598737777 264
-2 27602339786 0
-3 27602340461 264
-2 27602386039 0
-3 27602389004 296
-8 27602411842 296
-4 27602412553 264
-2 27606060831 0
-3 27606063775 296
-8 27606086517 296
-4 27606087226 264
-2 27609735491 0
-3 27609738391 296
-8 27609761160 296
-4 27609761868 264
-2 27613410498 0
-3 27613413430 296
-8 27613436022 296
-4 27613436727 264
-2 27617037632 0
-6 27617038333 280
-3 27617040383 280
-8 27617043642 280
-4 27617044332 264
-2 27617085224 0
-3 27617088277 296
-8 27617111215 296
-4 27617111939 264
-2 27620713922 0
-3 27620714597 264
-2 27620760175 0
-3 27620763129 296
-8 27620785912 296
-4 27620786633 264
-2 27624434901 0
-3 27624437823 296
-8 27624460575 296
-4 27624461285 264
-2 27628109550 0
-3 27628112443 296
-8 27628135185 296
-4 27628135892 264
-2 27631784524 0
-3 27631787445 296
-8 27631810043 296
-4 27631810754 264
-2 27635412021 0
-6 27635412722 280
-3 27635414760 280
-8 27635418003 280
-4 27635418693 264
-2 27635459233 0
-3 27635462275 296
-8 27635485160 296
-4 27635485878 264
-2 27639088256 0
-3 27639088931 264
-2 27639134141 0
-3 27639137106 296
-8 27639159962 296
-4 27639160673 264
-2 27642808949 0
-3 27642811893 296
-8 27642834624 296
-4 27642835324 264
-2 27646483961 0
-3 27646486861 296
-8 27646509608 296
-4 27646510316 264
-2 27650158583 0
-3 27650161509 296
-8 27650184102 296
-4 27650184807 264
-2 27653786080 0
-6 27653786781 280
-3 27653788830 280
-8 27653792224 280
-4 27653792914 264
-2 27653833672 0
-3 27653836725 296
-8 27653859703 296
-4 27653860427 264
-2 27657462409 0
-3 27657463084 264
-2 27657508293 0
-3 27657511248 296
-8 27657534030 296
-4 27657534751 264
-2 27661183019 0
-3 27661185941 296
-8 27661208677 296
-4 27661209387 264
-2 27664858015 0
-3 27664860908 296
-8 27664883640 296
-4 27664884347 264
-2 27668532977 0
-3 27668535898 296
-8 27668558496 296
-4 27668559207 264
-2 27672160106 0
-6 27672160807 280
-3 27672162857 280
-8 27672166115 280
-4 27672166805 264
-2 27672207698 0
-3 27672210734 296
-8 27672233625 296
-4 27672234343 264
-2 27675836352 0
-3 27675837027 264
-2 27675882605 0
-3 27675885571 296
-8 27675908427 296
-4 27675909159 264
-2 27679557419 0
-3 27679560462 296
-8 27679583200 296
-4 27679583900 264
-2 27683232178 0
-3 27683235104 296
-8 27683257808 296
-4 27683258516 264
-2 27686907146 0
-3 27686910068 296
-8 27686932610 296
-4 27686933315 264
-2 27690534220 0
-6 27690534921 280
-3 27690536965 280
-8 27690540213 280
-4 27690540916 264
-2 27690581806 0
-3 27690584865 296
-8 27690607723 296
-4 27690608447 264
-2 27694210444 0
-3 27694211119 264
-2 27694256697 0
-3 27694259651 296
-8 27694282409 296
-4 27694283130 264
-2 27697931401 0
-3 27697934323 296
-8 27697957026 296
-4 27697957736 264
-2 27701606364 0
-3 27701609257 296
-8 27701631940 296
-4 27701632647 264
-2 27705281277 0
-3 27705284198 296
-8 27705306746 296
-4 27705307457 264
-2 27708908356 0
-6 27708909057 280
-3 27708911090 280
-8 27708914338 280
-4 27708915028 264
-2 27708955931 0
-3 27708958990 296
-8 27708981820 296
-4 27708982538 264
-2 27712584547 0
-3 27712585222 264
-2 27712630800 0
-3 27712633765 296
-8 27712656578 296
-4 27712657289 264
-2 27716305570 0
-3 27716308514 296
-8 27716331245 296
-4 27716331945 264
-2 27719980582 0
-3 27719983482 296
-8 27720006229 296
-4 27720006937 264
-2 27723655204 0
-3 27723658130 296
-8 27723680723 296
-4 27723681428 264
-2 27727282708 0
-6 27727283409 280
-3 27727285480 280
-8 27727288733 280
-4 27727289423 264
-2 27727329952 0
-3 27727333005 296
-8 27727355969 296
-4 27727356693 264
-2 27730959041 0
-3 27730959716 264
-2 27731004925 0
-3 27731007879 296
-8 27731030662 296
-4 27731031383 264
-2 27734679651 0
-3 27734682573 296
-8 27734705309 296
-4 27734706019 264
-2 27738354647 0
-3 27738357540 296
-8 27738380278 296
-4 27738380985 264
-2 27742029615 0
-3 27742032536 296
-8 27742055139 296
-4 27742055850 264
-2 27745656749 0
-6 27745657450 280
-3 27745659473 280
-8 27745662726 280
-4 27745663416 264
-2 27745704313 0
-3 27745707328 296
-8 27745730218 296
-4 27745730936 264
-2 27749332946 0
-3 27749333621 264
-2 27749379199 0
-3 27749382164 296
-8 27749405002 296
-4 27749405713 264
-2 27753053991 0
-3 27753056939 296
-8 27753079677 296
-4 27753080382 264
-2 27756728651 0
-3 27756731556 296
-8 27756754325 296
-4 27756755033 264
-2 27760403663 0
-3 27760406589 296
-8 27760429182 296
-4 27760429887 264
-2 27764030792 0
-6 27764031493 280
-3 27764033680 280
-8 27764036935 280
-4 27764037625 264
-2 27764078521 0
-3 27764081579 296
-8 27764104516 296
-4 27764105240 264
-2 27767706851 0
-3 27767707526 264
-2 27767753104 0
-3 27767756058 296
-8 27767778846 296
-4 27767779567 264
-2 27771428198 0
-3 27771431120 296
-8 27771453872 296
-4 27771454582 264
-2 27775102847 0
-3 27775105740 296
-8 27775128473 296
-4 27775129180 264
-2 27778777810 0
-3 27778780731 296
-8 27778803329 296
-4 27778804040 264
-2 27782404939 0
-6 27782405640 280
-3 27782407667 280
-8 27782410909 280
-4 27782411599 264
-2 27782452508 0
-3 27782455567 296
-8 27782478457 296
-4 27782479175 264
-2 27786081185 0
-3 27786081860 264
-2 27786127438 0
-3 27786130403 296
-8 27786153259 296
-4 27786153970 264
-2 27789802246 0
-3 27789805195 296
-8 27789827917 296
-4 27789828617 264
-2 27793476895 0
-3 27793479794 296
-8 27793502542 296
-4 27793503250 264
-2 27797151880 0
-3 27797154806 296
-8 27797177399 296
-4 27797178104 264
-2 27800779377 0
-6 27800780078 280
-3 27800782156 280
-8 27800785422 280
-4 27800786125 264
-2 27800826628 0
-3 27800829686 296
-8 27800852651 296
-4 27800853375 264
-2 27804455722 0
-3 27804456397 264
-2 27804501607 0
-3 27804504561 296
-8 27804527349 296
-4 27804528070 264
-2 27808176338 0
-3 27808179260 296
-8 27808201996 296
-4 27808202706 264
-2 27811851334 0
-3 27811854232 296
-8 27811876965 296
-4 27811877672 264
-2 27815525939 0
-3 27815528859 296
-8 27815551474 296
-4 27815552185 264
-2 27819153453 0
-6 27819154154 280
-3 27819156181 280
-8 27819159429 280
-4 27819160119 264
-2 27819201022 0
-3 27819204043 296
-8 27819226922 296
-4 27819227640 264
-2 27822829649 0
-3 27822830324 264
-2 27822875534 0
-3 27822878499 296
-8 27822901337 296
-4 27822902048 264
-2 27826550689 0
-3 27826553637 296
-8 27826576381 296
-4 27826577088 264
-2 27830225354 0
-3 27830228254 296
-8 27830251023 296
-4 27830251731 264
-2 27833900361 0
-3 27833903287 296
-8 27833925880 296
-4 27833926585 264
-2 27837527490 0
-6 27837528191 280
-3 27837530246 280
-8 27837533549 280
-4 27837534239 264
-2 27837575087 0
-3 27837578145 296
-8 27837601077 296
-4 27837601801 264
-2 27841203780 0
-3 27841204455 264
-2 27841250033 0
-3 27841252987 296
-8 27841275772 296
-4 27841276493 264
-2 27844924764 0
-3 27844927686 296
-8 27844950438 296
-4 27844951148 264
-2 27848599413 0
-3 27848602306 296
-8 27848625039 296
-4 27848625746 264
-2 27852274376 0
-3 27852277297 296
-8 27852299895 296
-4 27852300606 264
-2 27855901505 0
-6 27855902206 280
-3 27855904234 280
-8 27855907475 280
-4 27855908165 264
-2 27855949074 0
-3 27855952210 296
-8 27855975100 296
-4 27855975818 264
-2 27859577828 0
-3 27859578503 264
-2 27859624081 0
-3 27859627046 296
-8 27859649902 296
-4 27859650613 264
-2 27863298889 0
-3 27863301833 296
-8 27863324564 296
-4 27863325264 264
-2 27866973538 0
-3 27866976438 296
-8 27866999185 296
-4 27866999893 264
-2 27870648523 0
-3 27870651449 296
-8 27870674042 296
-4 27870674751 264
-2 27874275652 0
-6 27874276353 280
-3 27874278402 280
-8 27874281650 280
-4 27874282340 264
-2 27874323243 0
-3 27874326297 296
-8 27874349266 296
-4 27874349990 264
-2 27877951969 0
-3 27877952644 264
-2 27877998222 0
-3 27878001176 296
-8 27878023959 296
-4 27878024680 264
-2 27881672948 0
-3 27881675870 296
-8 27881698606 296
-4 27881699316 264
-2 27885347944 0
-3 27885350837 296
-8 27885373569 296
-4 27885374276 264
-2 27889022543 0
-3 27889025464 296
-8 27889048062 296
-4 27889048773 264
-2 27892650041 0
-6 27892650742 280
-3 27892652769 280
-8 27892656017 280
-4 27892656707 264
-2 27892697610 0
-3 27892700631 296
-8 27892723578 296
-4 27892724296 264
-2 27896326298 0
-3 27896326973 264
-2 27896372182 0
-3 27896375147 296
-8 27896397985 296
-4 27896398696 264
-2 27900046974 0
-3 27900049918 296
-8 27900072655 296
-4 27900073360 264
-2 27903721992 0
-3 27903724896 296
-8 27903747666 296
-4 27903748374 264
-2 27907396641 0
-3 27907399567 296
-8 27907422160 296
-4 27907422865 264
-2 27911024138 0
-6 27911024839 280
-3 27911026895 280
-8 27911030351 280
-4 27911031041 264
-2 27911071735 0
-3 27911074788 296
-8 27911097720 296
-4 27911098444 264
-2 27914700423 0
-3 27914701098 264
-2 27914746307 0
-3 27914749261 296
-8 27914772044 296
-4 27914772765 264
-2 27918421396 0
-3 27918424318 296
-8 27918447070 296
-4 27918447780 264
-2 27922096045 0
-3 27922098938 296
-8 27922121671 296
-4 27922122378 264
-2 27925771015 0
-3 27925773934 296
-8 27925796532 296
-4 27925797243 264
-2 27929398142 0
-6 27929398843 280
-3 27929400871 280
-8 27929404113 280
-4 27929404803 264
-2 27929445712 0
-3 27929448754 296
-8 27929471633 296
-4 27929472351 264
-2 27933074361 0
-3 27933075036 264
-2 27933120614 0
-3 27933123579 296
-8 27933146435 296
-4 27933147146 264
-2 27936795422 0
-3 27936798366 296
-8 27936821104 296
-4 27936821804 264
-2 27940470445 0
-3 27940473345 296
-8 27940496092 296
-4 27940496800 264
-2 27944145067 0
-3 27944147994 296
-8 27944170586 296
-4 27944171291 264
-2 27947772564 0
-6 27947773265 280
-3 27947775309 280
-8 27947778587 280
-4 27947779277 264
-2 27947819782 0
-3 27947822835 296
-8 27947845799 296
-4 27947846523 264
-2 27951448871 0
-3 27951449546 264
-2 27951494755 0
-3 27951497709 296
-8 27951520492 296
-4 27951521213 264
-2 27955169481 0
-3 27955172403 296
-8 27955195139 296
-4 27955195849 264
-2 27958844477 0
-3 27958847370 296
-8 27958870102 296
-4 27958870813 264
-2 27962519076 0
-3 27962521997 296
-8 27962544595 296
-4 27962545306 264
-2 27966146574 0
-6 27966147275 280
-3 27966149308 280
-8 27966152638 280
-4 27966153328 264
-2 27966194149 0
-3 27966197164 296
-8 27966220054 296
-4 27966220772 264
-2 27969822781 0
-3 27969823456 264
-2 27969869034 0
-3 27969871999 296
-8 27969894837 296
-4 27969895548 264
-2 27973543826 0
-3 27973546770 296
-8 27973569507 296
-4 27973570212 264
-2 27977218481 0
-3 27977221385 296
-8 27977244155 296
-4 27977244863 264
-2 27980893493 0
-3 27980896419 296
-8 27980919012 296
-4 27980919717 264
-2 27984520622 0
-6 27984521323 280
-3 27984523372 280
-8 27984526620 280
-4 27984527310 264
-2 27984568213 0
-3 27984571266 296
-8 27984594198 296
-4 27984594922 264
-2 27988196901 0
-3 27988197576 264
-2 27988243154 0
-3 27988246108 296
-8 27988268893 296
-4 27988269614 264
-2 27991917885 0
-3 27991920807 296
-8 27991943559 296
-4 27991944269 264
-2 27995592897 0
-3 27995595790 296
-8 27995618523 296
-4 27995619230 264
-2 27999267497 0
-3 27999270418 296
-8 27999293016 296
-4 27999293727 264
-2 28002894994 0
-6 28002895695 280
-3 28002897723 280
-8 28002900965 280
-4 28002901655 264
-2 28002942564 0
-3 28002945606 296
-8 28002968485 296
-4 28002969207 264
-2 28006571213 0
-3 28006571888 264
-2 28006617097 0
-3 28006620062 296
-8 28006642919 296
-4 28006643630 264
-2 28010291911 0
-3 28010294865 296
-8 28010317597 296
-4 28010318297 264
-2 28013966934 0
-3 28013969834 296
-8 28013992597 296
-4 28013993305 264
-2 28017641572 0
-3 28017644494 296
-8 28017667086 296
-4 28017667791 264
-2 28021269064 0
-6 28021269765 280
-3 28021271809 280
-8 28021275057 280
-4 28021275747 264
-2 28021316650 0
-3 28021319703 296
-8 28021342717 296
-4 28021343441 264
-2 28024945420 0
-3 28024946095 264
-2 28024991305 0
-3 28024994259 296
-8 28025017044 296
-4 28025017770 264
-2 28028666036 0
-3 28028668958 296
-8 28028691694 296
-4 28028692404 264
-2 28032341032 0
-3 28032343925 296
-8 28032366657 296
-4 28032367364 264
-2 28036015994 0
-3 28036018915 296
-8 28036041513 296
-4 28036042224 264
-2 28039643123 0
-6 28039643824 280
-3 28039645857 280
-8 28039649121 280
-4 28039649811 264
-2 28039690698 0
-3 28039693734 296
-8 28039716625 296
-4 28039717343 264
-2 28043319353 0
-3 28043320028 264
-2 28043365606 0
-3 28043368570 296
-8 28043391427 296
-4 28043392153 264
-2 28047040414 0
-3 28047043457 296
-8 28047066195 296
-4 28047066895 264
-2 28050715173 0
-3 28050718099 296
-8 28050740803 296
-4 28050741511 264
-2 28054390141 0
-3 28054393063 296
-8 28054415605 296
-4 28054416310 264
-2 28058017222 0
-6 28058017923 280
-3 28058019977 280
-8 28058023225 280
-4 28058023928 264
-2 28058064818 0
-3 28058067877 296
-8 28058090734 296
-4 28058091458 264
-2 28061693450 0
-3 28061694125 264
-2 28061739703 0
-3 28061742657 296
-8 28061765415 296
-4 28061766136 264
-2 28065414407 0
-3 28065417329 296
-8 28065440032 296
-4 28065440742 264
-2 28069089370 0
-3 28069092263 296
-8 28069114946 296
-4 28069115653 264
-2 28072764283 0
-3 28072767204 296
-8 28072789758 296
-4 28072790469 264
-2 28076391368 0
-6 28076392080 280
-3 28076394107 280
-8 28076397340 280
-4 28076398030 264
-2 28076438948 0
-3 28076441990 296
-8 28076464798 296
-4 28076465516 264
-2 28080067526 0
-3 28080068201 264
-2 28080113779 0
-3 28080116744 296
-8 28080139556 296
-4 28080140267 264
-2 28083788543 0
-3 28083791487 296
-8 28083814218 296
-4 28083814918 264
-2 28087463555 0
-3 28087466455 296
-8 28087489202 296
-4 28087489910 264
-2 28091138177 0
-3 28091141103 296
-8 28091163696 296
-4 28091164401 264
-2 28094765674 0
-6 28094766375 280
-3 28094768431 280
-8 28094771693 280
-4 28094772383 264
-2 28094813271 0
-3 28094816325 296
-8 28094839289 296
-4 28094840013 264
-2 28098441992 0
-3 28098442667 264
-2 28098487876 0
-3 28098490830 296
-8 28098513613 296
-4 28098514334 264
-2 28102162965 0
-3 28102165887 296
-8 28102188623 296
-4 28102189333 264
-2 28105837598 0
-3 28105840491 296
-8 28105863223 296
-4 28105863930 264
-2 28109512560 0
-3 28109515481 296
-8 28109538079 296
-4 28109538790 264
-2 28113139689 0
-6 28113140390 280
-3 28113142423 280
-8 28113145671 280
-4 28113146361 264
-2 28113187264 0
-3 28113190285 296
-8 28113213164 296
-4 28113213882 264
-2 28116815891 0
-3 28116816566 264
-2 28116862144 0
-3 28116865109 296
-8 28116887947 296
-4 28116888658 264
-2 28120536936 0
-3 28120539885 296
-8 28120562617 296
-4 28120563322 264
-2 28124211954 0
-3 28124214858 296
-8 28124237628 296
-4 28124238336 264
-2 28127886603 0
-3 28127889529 296
-8 28127912122 296
-4 28127912827 264
-2 28131513732 0
-6 28131514433 280
-3 28131516482 280
-8 28131519730 280
-4 28131520433 264
-2 28131561323 0
-3 28131564381 296
-8 28131587313 296
-4 28131588037 264
-2 28135190016 0
-3 28135190691 264
-2 28135236269 0
-3 28135239223 296
-8 28135262014 296
-4 28135262735 264
-2 28138911006 0
-3 28138913928 296
-8 28138936680 296
-4 28138937390 264
-2 28142586018 0
-3 28142588918 296
-8 28142611649 296
-4 28142612356 264
-2 28146260623 0
-3 28146263544 296
-8 28146286181 296
-4 28146286892 264
-2 28149888159 0
-6 28149888864 280
-3 28149890887 280
-8 28149894130 280
-4 28149894832 264
-2 28149935729 0
-3 28149938788 296
-8 28149961793 296
-4 28149962511 264
-2 28153564521 0
-3 28153565196 264
-2 28153610405 0
-3 28153613370 296
-8 28153636205 296
-4 28153636916 264
-2 28157285197 0
-3 28157288141 296
-8 28157310872 296
-4 28157311576 264
-2 28160960209 0
-3 28160963109 296
-8 28160985872 296
-4 28160986580 264
-2 28164634847 0
-3 28164637769 296
-8 28164660361 296
-4 28164661066 264
-2 28168262339 0
-6 28168263040 280
-3 28168265096 280
-8 28168268350 280
-4 28168269040 264
-2 28168309568 0
-3 28168312626 296
-8 28168335569 296
-4 28168336293 264
-2 28171938640 0
-3 28171939315 264
-2 28171984525 0
-3 28171987479 296
-8 28172010264 296
-4 28172010985 264
-2 28175659256 0
-3 28175662178 296
-8 28175684930 296
-4 28175685640 264
-2 28179334268 0
-3 28179337161 296
-8 28179359894 296
-4 28179360601 264
-2 28183009231 0
-3 28183012152 296
-8 28183034733 296
-4 28183035444 264
-2 28186636343 0
-6 28186637044 280
-3 28186639072 280
-8 28186642319 280
-4 28186643009 264
-2 28186683913 0
-3 28186686933 296
-8 28186709818 296
-4 28186710536 264
-2 28190312545 0
-3 28190313226 264
-2 28190358804 0
-3 28190361769 296
-8 28190384629 296
-4 28190385340 264
-2 28194033618 0
-3 28194036566 296
-8 28194059304 296
-4 28194060009 264
-2 28197708278 0
-3 28197711182 296
-8 28197733935 296
-4 28197734643 264
-2 28201383273 0
-3 28201386195 296
-8 28201408787 296
-4 28201409492 264
-2 28205010397 0
-6 28205011098 280
-3 28205013147 280
-8 28205016395 280
-4 28205017085 264
-2 28205057988 0
-3 28205061042 296
-8 28205084000 296
-4 28205084724 264
-2 28208686703 0
-3 28208687378 264
-2 28208732956 0
-3 28208735910 296
-8 28208758693 296
-4 28208759414 264
-2 28212407682 0
-3 28212410604 296
-8 28212433340 296
-4 28212434050 264
-2 28216082678 0
-3 28216085571 296
-8 28216108303 296
-4 28216109010 264
-2 28219757277 0
-3 28219760198 296
-8 28219782813 296
-4 28219783524 264
-2 28223384791 0
-6 28223385492 280
-3 28223387515 280
-8 28223390756 280
-4 28223391446 264
-2 28223432355 0
-3 28223435414 296
-8 28223458318 296
-4 28223459041 264
-2 28227061037 0
-3 28227061712 264
-2 28227106922 0
-3 28227109887 296
-8 28227132721 296
-4 28227133432 264
-2 28230781708 0
-3 28230784652 296
-8 28230807383 296
-4 28230808083 264
-2 28234456720 0
-3 28234459620 296
-8 28234482383 296
-4 28234483091 264
-2 28238131358 0
-3 28238134280 296
-8 28238156872 296
-4 28238157577 264
-2 28241758850 0
-6 28241759551 280
-3 28241761607 280
-8 28241764911 280
-4 28241765601 264
-2 28241806447 0
-3 28241809500 296
-8 28241832443 296
-4 28241833167 264
-2 28245435146 0
-3 28245435821 264
-2 28245481030 0
-3 28245483984 296
-8 28245506767 296
-4 28245507488 264
-2 28249156119 0
-3 28249159041 296
-8 28249181793 296
-4 28249182503 264
-2 28252830768 0
-3 28252833661 296
-8 28252856394 296
-4 28252857101 264
-2 28256505731 0
-3 28256508652 296
-8 28256531233 296
-4 28256531944 264
-2 28260132843 0
-6 28260133544 280
-3 28260135567 280
-8 28260138814 280
-4 28260139504 264
-2 28260180407 0
-3 28260183422 296
-8 28260206312 296
-4 28260207030 264
-2 28263809040 0
-3 28263809715 264
-2 28263855293 0
-3 28263858258 296
-8 28263881118 296
-4 28263881829 264
-2 28267530107 0
-3 28267533055 296
-8 28267555798 296
-4 28267556507 264
-2 28271205135 0
-3 28271208035 296
-8 28271230793 296
-4 28271231501 264
-2 28274879768 0
-3 28274882694 296
-8 28274905287 296
-4 28274905992 264
-2 28278507265 0
-6 28278507966 280
-3 28278510010 280
-8 28278513258 280
-4 28278513948 264
-2 28278554483 0
-3 28278557536 296
-8 28278580489 296
-4 28278581213 264
-2 28282183561 0
-3 28282184236 264
-2 28282229445 0
-3 28282232399 296
-8 28282255182 296
-4 28282255903 264
-2 28285904171 0
-3 28285907093 296
-8 28285929829 296
-4 28285930539 264
-2 28289579167 0
-3 28289582060 296
-8 28289604796 296
-4 28289605503 264
-2 28293254135 0
-3 28293257056 296
-8 28293279670 296
-4 28293280381 264
-2 28296881280 0
-6 28296881981 280
-3 28296884014 280
-8 28296887261 280
-4 28296887951 264
-2 28296928855 0
-3 28296931897 296
-8 28296954777 296
-4 28296955495 264
-2 28300557504 0
-3 28300558179 264
-2 28300603757 0
-3 28300606722 296
-8 28300629557 296
-4 28300630268 264
-2 28304278549 0
-3 28304281493 296
-8 28304304224 296
-4 28304304924 264
-2 28307953198 0
-3 28307956098 296
-8 28307978861 296
-4 28307979569 264
-2 28311628199 0
-3 28311631121 296
-8 28311653713 296
-4 28311654418 264
-2 28315255323 0
-6 28315256024 280
-3 28315258073 280
-8 28315261321 280
-4 28315262011 264
-2 28315302914 0
-3 28315305967 296
-8 28315328910 296
-4 28315329634 264
-2 28318931613 0
-3 28318932288 264
-2 28318977866 0
-3 28318980820 296
-8 28319003605 296
-4 28319004326 264
-2 28322652597 0
-3 28322655519 296
-8 28322678271 296
-4 28322678981 264
-2 28326327609 0
-3 28326330502 296
-8 28326353235 296
-4 28326353942 264
-2 28330002209 0
-3 28330005130 296
-8 28330027711 296
-4 28330028422 264
-2 28333629690 0
-6 28333630391 280
-3 28333632419 280
-8 28333635666 280
-4 28333636356 264
-2 28333677259 0
-3 28333680274 296
-8 28333703170 296
-4 28333703888 264
-2 28337305897 0
-3 28337306572 264
-2 28337351782 0
-3 28337354747 296
-8 28337377607 296
-4 28337378318 264
-2 28341026596 0
-3 28341029550 296
-8 28341052287 296
-4 28341052992 264
-2 28344701624 0
-3 28344704524 296
-8 28344727287 296
-4 28344727995 264
-2 28348376262 0
-3 28348379184 296
-8 28348401776 296
-4 28348402481 264
-2 28352003754 0
-6 28352004455 280
-3 28352006504 280
-8 28352009753 280
-4 28352010443 264
-2 28352051346 0
-3 28352054399 296
-8 28352077359 296
-4 28352078083 264
-2 28355680066 0
-3 28355680741 264
-2 28355725951 0
-3 28355728905 296
-8 28355751698 296
-4 28355752419 264
-2 28359401051 0
-3 28359403971 296
-8 28359426708 296
-4 28359427418 264
-2 28363075683 0
-3 28363078576 296
-8 28363101309 296
-4 28363102016 264
-2 28366750646 0
-3 28366753567 296
-8 28366776181 296
-4 28366776892 264
-2 28370377791 0
-6 28370378492 280
-3 28370380530 280
-8 28370384064 280
-4 28370384754 264
-2 28370425372 0
-3 28370428414 296
-8 28370451299 296
-4 28370452017 264
-2 28374054026 0
-3 28374054701 264
-2 28374100279 0
-3 28374103244 296
-8 28374126079 296
-4 28374126790 264
-2 28377775071 0
-3 28377778015 296
-8 28377800746 296
-4 28377801446 264
-2 28381449720 0
-3 28381452620 296
-8 28381475383 296
-4 28381476091 264
-2 28385124721 0
-3 28385127643 296
-8 28385150235 296
-4 28385150940 264
-2 28388751845 0
-6 28388752546 280
-3 28388754595 280
-8 28388757956 280
-4 28388758646 264
-2 28388799436 0
-3 28388802489 296
-8 28388825440 296
-4 28388826164 264
-2 28392428146 0
-3 28392428821 264
-2 28392474399 0
-3 28392477353 296
-8 28392500138 296
-4 28392500859 264
-2 28396149130 0
-3 28396152052 296
-8 28396174804 296
-4 28396175514 264
-2 28399824142 0
-3 28399827035 296
-8 28399849768 296
-4 28399850475 264
-2 28403498742 0
-3 28403501663 296
-8 28403524250 296
-4 28403524961 264
-2 28407126228 0
-6 28407126929 280
-3 28407128957 280
-8 28407132215 280
-4 28407132905 264
-2 28407173798 0
-3 28407176840 296
-8 28407199736 296
-4 28407200454 264
-2 28410802463 0
-3 28410803138 264
-2 28410848716 0
-3 28410851682 296
-8 28410874560 296
-4 28410875286 264
-2 28414523552 0
-3 28414526595 296
-8 28414549333 296
-4 28414550033 264
-2 28418198311 0
-3 28418201237 296
-8 28418223925 296
-4 28418224633 264
-2 28421872900 0
-3 28421875826 296
-8 28421898369 296
-4 28421899074 264
-2 28425500348 0
-6 28425501049 280
-3 28425503099 280
-8 28425506353 280
-4 28425507056 264
-2 28425547939 0
-3 28425550997 296
-8 28425573879 296
-4 28425574603 264
-2 28429176599 0
-3 28429177274 264
-2 28429222852 0
-3 28429225806 296
-8 28429248564 296
-4 28429249285 264
-2 28432897556 0
-3 28432900478 296
-8 28432923164 296
-4 28432923874 264
-2 28436572502 0
-3 28436575395 296
-8 28436598078 296
-4 28436598785 264
-2 28440247052 0
-3 28440249973 296
-8 28440272538 296
-4 28440273249 264
-2 28443874517 0
-6 28443875218 280
-3 28443877256 280
-8 28443880834 280
-4 28443881524 264
-2 28443922097 0
-3 28443925156 296
-8 28443947991 296
-4 28443948709 264
-2 28447550719 0
-3 28447551394 264
-2 28447596972 0
-3 28447599937 296
-8 28447622727 296
-4 28447623438 264
-2 28451271714 0
-3 28451274658 296
-8 28451297389 296
-4 28451298089 264
-2 28454946370 0
-3 28454949273 296
-8 28454972037 296
-4 28454972745 264
-2 28458621375 0
-3 28458624297 296
-8 28458646889 296
-4 28458647594 264
-2 28462248499 0
-6 28462249200 280
-3 28462251249 280
-8 28462254497 280
-4 28462255187 264
-2 28462296090 0
-3 28462299144 296
-8 28462322098 296
-4 28462322822 264
-2 28465924805 0
-3 28465925480 264
-2 28465971058 0
-3 28465974012 296
-8 28465996803 296
-4 28465997524 264
-2 28469645795 0
-3 28469648717 296
-8 28469671475 296
-4 28469672185 264
-2 28473320813 0
-3 28473323712 296
-8 28473346444 296
-4 28473347151 264
-2 28476995418 0
-3 28476998339 296
-8 28477020937 296
-4 28477021648 264
-2 28480622915 0
-6 28480623616 280
-3 28480625644 280
-8 28480628891 280
-4 28480629581 264
-2 28480670485 0
-3 28480673504 296
-8 28480696390 296
-4 28480697108 264
-2 28484299117 0
-3 28484299792 264
-2 28484345002 0
-3 28484347967 296
-8 28484370827 296
-4 28484371538 264
-2 28488019816 0
-3 28488022764 296
-8 28488045502 296
-4 28488046207 264
-2 28491694839 0
-3 28491697743 296
-8 28491720496 296
-4 28491721204 264
-2 28495369471 0
-3 28495372393 296
-8 28495394985 296
-4 28495395690 264
-2 28498996963 0
-6 28498997664 280
-3 28498999725 280
-8 28499002980 280
-4 28499003670 264
-2 28499044566 0
-3 28499047624 296
-8 28499070586 296
-4 28499071310 264
-2 28502673292 0
-3 28502673967 264
-2 28502719176 0
-3 28502722130 296
-8 28502744913 296
-4 28502745634 264
-2 28506394265 0
-3 28506397187 296
-8 28506419923 296
-4 28506420633 264
-2 28510068898 0
-3 28510071791 296
-8 28510094523 296
-4 28510095230 264
-2 28513743860 0
-3 28513746781 296
-8 28513769396 296
-4 28513770107 264
-2 28517371006 0
-6 28517371707 280
-3 28517373735 280
-8 28517376976 280
-4 28517377666 264
-2 28517418575 0
-3 28517421640 296
-8 28517444535 296
-4 28517445253 264
-2 28521047263 0
-3 28521047938 264
-2 28521093516 0
-3 28521096487 296
-8 28521119321 296
-4 28521120032 264
-2 28524768313 0
-3 28524771257 296
-8 28524793988 296
-4 28524794688 264
-2 28528442962 0
-3 28528445862 296
-8 28528468625 296
-4 28528469333 264
-2 28532117963 0
-3 28532120885 296
-8 28532143477 296
-4 28532144182 264
-2 28535745087 0
-6 28535745788 280
-3 28535747837 280
-8 28535751098 280
-4 28535751788 264
-2 28535792678 0
-3 28535795732 296
-8 28535818679 296
-4 28535819403 264
-2 28539421382 0
-3 28539422057 264
-2 28539467635 0
-3 28539470595 296
-8 28539493380 296
-4 28539494101 264
-2 28543142372 0
-3 28543145294 296
-8 28543168063 296
-4 28543168773 264
-2 28546817401 0
-3 28546820294 296
-8 28546843026 296
-4 28546843733 264
-2 28550492000 0
-3 28550494921 296
-8 28550517503 296
-4 28550518214 264
-2 28554119481 0
-6 28554120182 280
-3 28554122210 280
-8 28554125457 280
-4 28554126147 264
-2 28554167051 0
-3 28554170070 296
-8 28554192950 296
-4 28554193672 264
-2 28557795678 0
-3 28557796353 264
-2 28557841931 0
-3 28557844896 296
-8 28557867756 296
-4 28557868467 264
-2 28561516745 0
-3 28561519693 296
-8 28561542431 296
-4 28561543136 264
-2 28565191405 0
-3 28565194309 296
-8 28565217062 296
-4 28565217772 264
-2 28568866400 0
-3 28568869322 296
-8 28568891914 296
-4 28568892619 264
-2 28572493524 0
-6 28572494225 280
-3 28572496280 280
-8 28572499535 280
-4 28572500225 264
-2 28572541121 0
-3 28572544179 296
-8 28572567133 296
-4 28572567857 264
-2 28576169836 0
-3 28576170511 264
-2 28576215720 0
-3 28576218674 296
-8 28576241457 296
-4 28576242178 264
-2 28579890809 0
-3 28579893731 296
-8 28579916467 296
-4 28579917177 264
-2 28583565442 0
-3 28583568335 296
-8 28583591067 296
-4 28583591774 264
-2 28587240411 0
-3 28587243330 296
-8 28587265945 296
-4 28587266656 264
-2 28590867555 0
-6 28590868256 280
-3 28590870284 280
-8 28590873526 280
-4 28590874216 264
-2 28590915125 0
-3 28590918184 296
-8 28590941074 296
-4 28590941792 264
-2 28594543801 0
-3 28594544476 264
-2 28594590054 0
-3 28594593019 296
-8 28594615854 296
-4 28594616565 264
-2 28598264846 0
-3 28598267790 296
-8 28598290521 296
-4 28598291225 264
-2 28601939858 0
-3 28601942758 296
-8 28601965527 296
-4 28601966240 264
-2 28605614502 0
-3 28605617428 296
-8 28605640027 296
-4 28605640732 264
-2 28609241999 0
-6 28609242700 280
-3 28609244744 280
-8 28609247992 280
-4 28609248682 264
-2 28609289217 0
-3 28609292275 296
-8 28609315218 296
-4 28609315942 264
-2 28612918289 0
-3 28612918964 264
-2 28612964174 0
-3 28612967128 296
-8 28612989913 296
-4 28612990634 264
-2 28616638905 0
-3 28616641827 296
-8 28616664579 296
-4 28616665289 264
-2 28620313917 0
-3 28620316810 296
-8 28620339543 296
-4 28620340250 264
-2 28623988517 0
-3 28623991438 296
-8 28624014019 296
-4 28624014732 264
-2 28627615998 0
-6 28627616699 280
-3 28627618732 280
-8 28627621984 280
-4 28627622674 264
-2 28627663573 0
-3 28627666592 296
-8 28627689472 296
-4 28627690190 264
-2 28631292200 0
-3 28631292875 264
-2 28631338453 0
-3 28631341418 296
-8 28631364278 296
-4 28631364989 264
-2 28635013267 0
-3 28635016215 296
-8 28635038953 296
-4 28635039658 264
-2 28638687927 0
-3 28638690831 296
-8 28638713584 296
-4 28638714292 264
-2 28642362922 0
-3 28642365844 296
-8 28642388436 296
-4 28642389141 264
-2 28645990046 0
-6 28645990747 280
-3 28645992796 280
-8 28645996044 280
-4 28645996734 264
-2 28646037637 0
-3 28646040691 296
-8 28646063644 296
-4 28646064368 264
-2 28649666347 0
-3 28649667022 264
-2 28649712600 0
-3 28649715554 296
-8 28649738339 296
-4 28649739060 264
-2 28653387338 0
-3 28653390258 296
-8 28653412994 296
-4 28653413704 264
-2 28657062332 0
-3 28657065225 296
-8 28657087958 296
-4 28657088665 264
-2 28660736932 0
-3 28660739853 296
-8 28660762467 296
-4 28660763178 264
-2 28664364446 0
-6 28664365147 280
-3 28664367175 280
-8 28664370416 280
-4 28664371106 264
-2 28664411647 0
-3 28664414706 296
-8 28664437596 296
-4 28664438314 264
-2 28668040692 0
-3 28668041367 264
-2 28668086576 0
-3 28668089541 296
-8 28668112381 296
-4 28668113092 264
-2 28671761368 0
-3 28671764317 296
-8 28671787050 296
-4 28671787750 264
-2 28675436391 0
-3 28675439291 296
-8 28675462071 296
-4 28675462779 264
-2 28679111046 0
-3 28679113972 296
-8 28679136565 296
-4 28679137270 264
-2 28682738543 0
-6 28682739244 280
-3 28682741288 280
-8 28682744549 280
-4 28682745239 264
-2 28682786129 0
-3 28682789183 296
-8 28682812130 296
-4 28682812854 264
-2 28686414833 0
-3 28686415508 264
-2 28686460718 0
-3 28686463672 296
-8 28686486457 296
-4 28686487182 264
-2 28690135812 0
-3 28690138734 296
-8 28690161486 296
-4 28690162196 264
-2 28693810461 0
-3 28693813354 296
-8 28693836087 296
-4 28693836794 264
-2 28697485424 0
-3 28697488345 296
-8 28697510926 296
-4 28697511637 264
-2 28701112536 0
-6 28701113237 280
-3 28701115270 280
-8 28701118523 280
-4 28701119213 264
-2 28701160111 0
-3 28701163132 296
-8 28701186011 296
-4 28701186729 264
-2 28704788738 0
-3 28704789413 264
-2 28704834991 0
-3 28704837956 296
-8 28704860816 296
-4 28704861527 264
-2 28708509805 0
-3 28708512749 296
-8 28708535486 296
-4 28708536191 264
-2 28712184460 0
-3 28712187364 296
-8 28712210117 296
-4 28712210825 264
-2 28715859455 0
-3 28715862377 296
-8 28715884969 296
-4 28715885674 264
-2 28719486579 0
-6 28719487280 280
-3 28719489329 280
-8 28719492577 280
-4 28719493267 264
-2 28719534170 0
-3 28719537224 296
-8 28719560177 296
-4 28719560901 264
-2 28723162880 0
-3 28723163555 264
-2 28723209133 0
-3 28723212087 296
-8 28723234872 296
-4 28723235593 264
-2 28726883864 0
-3 28726886786 296
-8 28726909522 296
-4 28726910232 264
-2 28730558860 0
-3 28730561753 296
-8 28730584485 296
-4 28730585192 264
-2 28734233459 0
-3 28734236380 296
-8 28734259000 296
-4 28734259711 264
-2 28737860979 0
-6 28737861680 280
-3 28737863707 280
-8 28737866949 280
-4 28737867639 264
-2 28737908548 0
-3 28737911613 296
-8 28737934503 296
-4 28737935221 264
-2 28741537230 0
-3 28741537905 264
-2 28741583115 0
-3 28741586080 296
-8 28741608931 296
-4 28741609642 264
-2 28745257923 0
-3 28745260867 296
-8 28745283598 296
-4 28745284298 264
-2 28748932935 0
-3 28748935835 296
-8 28748958604 296
-4 28748959312 264
-2 28752607579 0
-3 28752610505 296
-8 28752633098 296
-4 28752633803 264
-2 28756235076 0
-6 28756235777 280
-3 28756237821 280
-8 28756241069 280
-4 28756241759 264
-2 28756282662 0
-3 28756285716 296
-8 28756308663 296
-4 28756309387 264
-2 28759911366 0
-3 28759912041 264
-2 28759957251 0
-3 28759960205 296
-8 28759982990 296
-4 28759983711 264
-2 28763632345 0
-3 28763635267 296
-8 28763658019 296
-4 28763658729 264
-2 28767306994 0
-3 28767309887 296
-8 28767332620 296
-4 28767333327 264
-2 28770981957 0
-3 28770984878 296
-8 28771007459 296
-4 28771008170 264
-2 28774609069 0
-6 28774609770 280
-3 28774611803 280
-8 28774615062 280
-4 28774615752 264
-2 28774656644 0
-3 28774659680 296
-8 28774682571 296
-4 28774683289 264
-2 28778285299 0
-3 28778285974 264
-2 28778331552 0
-3 28778334516 296
-8 28778357390 296
-4 28778358116 264
-2 28782006382 0
-3 28782009425 296
-8 28782032163 296
-4 28782032863 264
-2 28785681141 0
-3 28785684067 296
-8 28785706760 296
-4 28785707468 264
-2 28789356098 0
-3 28789359020 296
-8 28789381562 296
-4 28789382267 264
-2 28792983172 0
-6 28792983873 280
-3 28792985922 280
-8 28792989171 280
-4 28792989874 264
-2 28793030764 0
-3 28793033822 296
-8 28793056697 296
-4 28793057421 264
-2 28796659418 0
-3 28796660093 264
-2 28796705671 0
-3 28796708625 296
-8 28796731383 296
-4 28796732104 264
-2 28800380375 0
-3 28800383297 296
-8 28800405989 296
-4 28800406699 264
-2 28804055327 0
-3 28804058220 296
-8 28804080915 296
-4 28804081622 264
-2 28807730256 0
-3 28807733177 296
-8 28807755742 296
-4 28807756453 264
-2 28811357352 0
-6 28811358053 280
-3 28811360076 280
-8 28811363323 280
-4 28811364013 264
-2 28811404916 0
-3 28811407975 296
-8 28811430805 296
-4 28811431523 264
-2 28815033532 0
-3 28815034207 264
-2 28815079785 0
-3 28815082750 296
-8 28815105541 296
-4 28815106252 264
-2 28818754533 0
-3 28818757477 296
-8 28818780208 296
-4 28818780908 264
-2 28822429545 0
-3 28822432445 296
-8 28822455208 296
-4 28822455917 264
-2 28826104183 0
-3 28826107105 296
-8 28826129697 296
-4 28826130402 264
-2 28829731675 0
-6 28829732376 280
-3 28829734432 280
-8 28829737803 280
-4 28829738493 264
-2 28829779272 0
-3 28829782326 296
-8 28829805273 296
-4 28829805997 264
-2 28833407976 0
-3 28833408651 264
-2 28833453861 0
-3 28833456815 296
-8 28833479600 296
-4 28833480321 264
-2 28837128955 0
-3 28837131877 296
-8 28837154629 296
-4 28837155339 264
-2 28840803604 0
-3 28840806497 296
-8 28840829230 296
-4 28840829937 264
-2 28844478567 0
-3 28844481488 296
-8 28844504069 296
-4 28844504780 264
-2 28848105679 0
-6 28848106380 280
-3 28848108403 280
-8 28848111650 280
-4 28848112340 264
-2 28848153243 0
-3 28848156264 296
-8 28848179148 296
-4 28848179866 264
-2 28851781885 0
-3 28851782562 264
-2 28851828140 0
-3 28851831105 296
-8 28851853965 296
-4 28851854676 264
-2 28855502954 0
-3 28855505902 296
-8 28855528640 296
-4 28855529345 264
-2 28859177977 0
-3 28859180881 296
-8 28859203634 296
-4 28859204342 264
-2 28862852609 0
-3 28862855531 296
-8 28862878123 296
-4 28862878828 264
-2 28866480101 0
-6 28866480802 280
-3 28866482852 280
-8 28866486100 280
-4 28866486790 264
-2 28866527324 0
-3 28866530378 296
-8 28866553336 296
-4 28866554060 264
-2 28870156408 0
-3 28870157083 264
-2 28870202292 0
-3 28870205252 296
-8 28870228037 296
-4 28870228758 264
-2 28873877029 0
-3 28873879951 296
-8 28873902703 296
-4 28873903413 264
-2 28877552041 0
-3 28877554934 296
-8 28877577667 296
-4 28877578374 264
-2 28881226641 0
-3 28881229562 296
-8 28881252176 296
-4 28881252887 264
-2 28884854155 0
-6 28884854856 280
-3 28884856883 280
-8 28884860125 280
-4 28884860815 264
-2 28884901724 0
-3 28884904783 296
-8 28884927673 296
-4 28884928391 264
-2 28888530401 0
-3 28888531082 264
-2 28888576291 0
-3 28888579256 296
-8 28888602090 296
-4 28888602801 264
-2 28892251440 0
-3 28892254384 296
-8 28892277115 296
-4 28892277815 264
-2 28895926089 0
-3 28895928989 296
-8 28895951752 296
-4 28895952460 264
-2 28899601090 0
-3 28899604012 296
-8 28899626604 296
-4 28899627309 264
-2 28903228214 0
-6 28903228915 280
-3 28903230970 280
-8 28903234515 280
-4 28903235205 264
-2 28903275811 0
-3 28903278869 296
-8 28903301812 296
-4 28903302536 264
-2 28906904515 0
-3 28906905190 264
-2 28906950768 0
-3 28906953722 296
-8 28906976507 296
-4 28906977228 264
-2 28910625499 0
-3 28910628421 296
-8 28910651173 296
-4 28910651883 264
-2 28914300148 0
-3 28914303041 296
-8 28914325774 296
-4 28914326481 264
-2 28917975111 0
-3 28917978031 296
-8 28918000613 296
-4 28918001324 264
-2 28921602223 0
-6 28921602924 280
-3 28921604952 280
-8 28921608199 280
-4 28921608898 264
-2 28921649793 0
-3 28921652812 296
-8 28921675692 296
-4 28921676410 264
-2 28925278420 0
-3 28925279095 264
-2 28925324673 0
-3 28925327638 296
-8 28925350498 296
-4 28925351209 264
-2 28928999487 0
-3 28929002435 296
-8 28929025173 296
-4 28929025878 264
-2 28932674510 0
-3 28932677414 296
-8 28932700173 296
-4 28932700881 264
-2 28936349148 0
-3 28936352074 296
-8 28936374667 296
-4 28936375378 264
-2 28939976645 0
-6 28939977346 280
-3 28939979390 280
-8 28939982638 280
-4 28939983328 264
-2 28940024231 0
-3 28940027278 296
-8 28940050243 296
-4 28940050967 264
-2 28943652946 0
-3 28943653621 264
-2 28943698831 0
-3 28943701785 296
-8 28943724570 296
-4 28943725291 264
-2 28947373562 0
-3 28947376484 296
-8 28947399220 296
-4 28947399930 264
-2 28951048558 0
-3 28951051451 296
-8 28951074183 296
-4 28951074890 264
-2 28954723520 0
-3 28954726441 296
-8 28954749056 296
-4 28954749767 264
-2 28958350666 0
-6 28958351367 280
-3 28958353400 280
-8 28958356627 280
-4 28958357311 264
-2 28958398241 0
-3 28958401300 296
-8 28958424173 296
-4 28958424891 264
-2 28962026901 0
-3 28962027576 264
-2 28962073154 0
-3 28962076119 296
-8 28962098953 296
-4 28962099664 264
-2 28965747940 0
-3 28965750884 296
-8 28965773615 296
-4 28965774315 264
-2 28969422589 0
-3 28969425489 296
-8 28969448252 296
-4 28969448960 264
-2 28973097590 0
-3 28973100512 296
-8 28973123104 296
-4 28973123809 264
-2 28976724714 0
-6 28976725415 280
-3 28976727464 280
-8 28976730820 280
-4 28976731510 264
-2 28976772305 0
-3 28976775359 296
-8 28976798306 296
-4 28976799030 264
-2 28980401009 0
-3 28980401684 264
-2 28980447262 0
-3 28980450216 296
-8 28980472999 296
-4 28980473720 264
-2 28984121995 0
-3 28984124915 296
-8 28984147668 296
-4 28984148378 264
-2 28987797006 0
-3 28987799899 296
-8 28987822631 296
-4 28987823338 264
-2 28991471605 0
-3 28991474526 296
-8 28991497108 296
-4 28991497819 264
-2 28995099086 0
-6 28995099798 280
-3 28995101826 280
-8 28995105073 280
-4 28995105763 264
-2 28995146667 0
-3 28995149686 296
-8 28995172566 296
-4 28995173288 264
-2 28998775294 0
-3 28998775969 264
-2 28998821547 0
-3 28998824512 296
-8 28998847372 296
-4 28998848088 264
-2 29002496361 0
-3 29002499309 296
-8 29002522047 296
-4 29002522752 264
-2 29006171021 0
-3 29006173925 296
-8 29006196689 296
-4 29006197397 264
-2 29009846027 0
-3 29009848949 296
-8 29009871541 296
-4 29009872246 264
-2 29013473151 0
-6 29013473856 280
-3 29013475902 280
-8 29013479149 280
-4 29013479839 264
-2 29013520742 0
-3 29013523796 296
-8 29013546754 296
-4 29013547478 264
-2 29017149457 0
-3 29017150132 264
-2 29017195342 0
-3 29017198296 296
-8 29017221085 296
-4 29017221806 264
-2 29020870436 0
-3 29020873358 296
-8 29020896094 296
-4 29020896804 264
-2 29024545069 0
-3 29024547962 296
-8 29024570694 296
-4 29024571401 264
-2 29028220031 0
-3 29028222952 296
-8 29028245567 296
-4 29028246278 264
-2 29031847177 0
-6 29031847878 280
-3 29031849911 280
-8 29031853153 280
-4 29031853843 264
-2 29031894752 0
-3 29031897811 296
-8 29031920701 296
-4 29031921419 264
-2 29035523428 0
-3 29035524103 264
-2 29035569681 0
-3 29035572646 296
-8 29035595481 296
-4 29035596192 264
-2 29039244473 0
-3 29039247417 296
-8 29039270148 296
-4 29039270848 264
-2 29042919485 0
-3 29042922385 296
-8 29042945148 296
-4 29042945856 264
-2 29046594123 0
-3 29046597045 296
-8 29046619637 296
-4 29046620342 264
-2 29050221615 0
-6 29050222316 280
-3 29050224366 280
-8 29050227614 280
-4 29050228304 264
-2 29050268838 0
-3 29050271892 296
-8 29050294839 296
-4 29050295563 264
-2 29053897911 0
-3 29053898586 264
-2 29053943795 0
-3 29053946749 296
-8 29053969532 296
-4 29053970253 264
-2 29057618521 0
-3 29057621443 296
-8 29057644195 296
-4 29057644905 264
-2 29061293533 0
-3 29061296426 296
-8 29061319159 296
-4 29061319866 264
-2 29064968133 0
-3 29064971054 296
-8 29064993635 296
-4 29064994346 264
-2 29068595614 0
-6 29068596315 280
-3 29068598342 280
-8 29068601590 280
-4 29068602280 264
-2 29068643183 0
-3 29068646208 296
-8 29068669176 296
-4 29068669894 264
-2 29072271904 0
-3 29072272579 264
-2 29072318157 0
-3 29072321122 296
-8 29072343993 296
-4 29072344704 264
-2 29075992982 0
-3 29075995930 296
-8 29076018668 296
-4 29076019373 264
-2 29079667642 0
-3 29079670546 296
-8 29079693299 296
-4 29079694007 264
-2 29083342637 0
-3 29083345564 296
-8 29083368162 296
-4 29083368867 264
-2 29086969772 0
-6 29086970473 280
-3 29086972522 280
-8 29086975886 280
-4 29086976576 264
-2 29087017363 0
-3 29087020410 296
-8 29087043364 296
-4 29087044088 264
-2 29090646067 0
-3 29090646742 264
-2 29090691952 0
-3 29090694906 296
-8 29090717691 296
-4 29090718412 264
-2 29094367046 0
-3 29094369968 296
-8 29094392704 296
-4 29094393414 264
-2 29098041679 0
-3 29098044572 296
-8 29098067304 296
-4 29098068011 264
-2 29101716641 0
-3 29101719562 296
-8 29101742177 296
-4 29101742888 264
-2 29105343787 0
-6 29105344488 280
-3 29105346521 280
-8 29105349763 280
-4 29105350453 264
-2 29105391362 0
-3 29105394421 296
-8 29105417311 296
-4 29105418029 264
-2 29109020038 0
-3 29109020713 264
-2 29109066291 0
-3 29109069256 296
-8 29109092091 296
-4 29109092802 264
-2 29112741083 0
-3 29112744027 296
-8 29112766758 296
-4 29112767458 264
-2 29116416095 0
-3 29116419000 296
-8 29116441764 296
-4 29116442472 264
-2 29120090739 0
-3 29120093665 296
-8 29120116258 296
-4 29120116963 264
-2 29123718236 0
-6 29123718937 280
-3 29123720986 280
-8 29123724248 280
-4 29123724938 264
-2 29123765459 0
-3 29123768513 296
-8 29123791460 296
-4 29123792184 264
-2 29127394532 0
-3 29127395207 264
-2 29127440416 0
-3 29127443370 296
-8 29127466153 296
-4 29127466874 264
-2 29131115142 0
-3 29131118064 296
-8 29131140822 296
-4 29131141532 264
-2 29134790160 0
-3 29134793053 296
-8 29134815785 296
-4 29134816498 264
-2 29138464759 0
-3 29138467680 296
-8 29138490262 296
-4 29138490973 264
-2 29142092240 0
-6 29142092941 280
-3 29142094964 280
-8 29142098222 280
-4 29142098912 264
-2 29142139804 0
-3 29142142840 296
-8 29142165737 296
-4 29142166556 264
-2 29145768464 0
-3 29145769139 264
-2 29145814717 0
-3 29145817683 296
-8 29145840566 296
-4 29145841292 264
-2 29149489553 0
-3 29149492596 296
-8 29149515334 296
-4 29149516034 264
-2 29153164312 0
-3 29153167238 296
-8 29153189926 296
-4 29153190634 264
-2 29156838901 0
-3 29156841827 296
-8 29156864370 296
-4 29156865075 264
-2 29160466349 0
-6 29160467050 280
-3 29160469105 280
-8 29160472353 280
-4 29160473056 264
-2 29160513946 0
-3 29160517004 296
-8 29160539879 296
-4 29160540603 264
-2 29164142600 0
-3 29164143275 264
-2 29164188853 0
-3 29164191807 296
-8 29164214565 296
-4 29164215286 264
-2 29167863557 0
-3 29167866479 296
-8 29167889165 296
-4 29167889875 264
-2 29171538503 0
-3 29171541396 296
-8 29171564079 296
-4 29171564786 264
-2 29175213053 0
-3 29175215974 296
-8 29175238539 296
-4 29175239250 264
-2 29178840518 0
-6 29178841219 280
-3 29178843246 280
-8 29178846494 280
-4 29178847184 264
-2 29178888087 0
-3 29178891146 296
-8 29178913981 296
-4 29178914699 264
-2 29182516718 0
-3 29182517395 264
-2 29182562973 0
-3 29182565938 296
-8 29182588728 296
-4 29182589439 264
-2 29186237715 0
-3 29186240659 296
-8 29186263390 296
-4 29186264090 264
-2 29189912364 0
-3 29189915264 296
-8 29189938027 296
-4 29189938735 264
-2 29193587365 0
-3 29193590287 296
-8 29193612879 296
-4 29193613584 264
-2 29197214489 0
-6 29197215190 280
-3 29197217239 280
-8 29197220487 280
-4 29197221177 264
-2 29197262080 0
-3 29197265134 296
-8 29197288081 296
-4 29197288805 264
-2 29200890784 0
-3 29200891459 264
-2 29200937037 0
-3 29200939997 296
-8 29200962782 296
-4 29200963503 264
-2 29204611774 0
-3 29204614696 296
-8 29204637465 296
-4 29204638175 264
-2 29208286803 0
-3 29208289696 296
-8 29208312428 296
-4 29208313135 264
-2 29211961402 0
-3 29211964323 296
-8 29211986905 296
-4 29211987616 264
-2 29215588883 0
-6 29215589584 280
-3 29215591607 280
-8 29215594854 280
-4 29215595544 264
-2 29215636447 0
-3 29215639468 296
-8 29215662347 296
-4 29215663065 264
-2 29219265074 0
-3 29219265749 264
-2 29219311327 0
-3 29219314292 296
-8 29219337152 296
-4 29219337863 264
-2 29222986141 0
-3 29222989085 296
-8 29223011822 296
-4 29223012527 264
-2 29226660796 0
-3 29226663711 296
-8 29226686464 296
-4 29226687172 264
-2 29230335802 0
-3 29230338724 296
-8 29230361316 296
-4 29230362021 264
-2 29233962926 0
-6 29233963627 280
-3 29233965682 280
-8 29233968930 280
-4 29233969620 264
-2 29234010523 0
-3 29234013581 296
-8 29234036535 296
-4 29234037259 264
-2 29237639238 0
-3 29237639913 264
-2 29237685491 0
-3 29237688445 296
-8 29237711230 296
-4 29237711951 264
-2 29241360222 0
-3 29241363144 296
-8 29241385880 296
-4 29241386590 264
-2 29245034855 0
-3 29245037748 296
-8 29245060480 296
-4 29245061187 264
-2 29248709817 0
-3 29248712738 296
-8 29248735353 296
-4 29248736064 264
-2 29252336963 0
-6 29252337664 280
-3 29252339692 280
-8 29252342983 280
-4 29252343673 264
-2 29252384532 0
-3 29252387591 296
-8 29252410481 296
-4 29252411199 264
-2 29256013209 0
-3 29256013884 264
-2 29256059462 0
-3 29256062427 296
-8 29256085261 296
-4 29256085972 264
-2 29259734248 0
-3 29259737192 296
-8 29259759923 296
-4 29259760623 264
-2 29263409260 0
-3 29263412160 296
-8 29263434929 296
-4 29263435637 264
-2 29267083904 0
-3 29267086830 296
-8 29267109423 296
-4 29267110128 264
-2 29270711401 0
-6 29270712108 280
-3 29270714157 280
-8 29270717518 280
-4 29270718208 264
-2 29270758630 0
-3 29270761688 296
-8 29270784647 296
-4 29270785371 264
-2 29274387719 0
-3 29274388394 264
-2 29274433603 0
-3 29274436557 296
-8 29274459340 296
-4 29274460065 264
-2 29278108329 0
-3 29278111251 296
-8 29278134003 296
-4 29278134713 264
-2 29281783341 0
-3 29281786234 296
-8 29281808967 296
-4 29281809674 264
-2 29285457941 0
-3 29285460862 296
-8 29285483443 296
-4 29285484156 264
-2 29289085422 0
-6 29289086123 280
-3 29289088156 280
-8 29289091403 280
-4 29289092093 264
-2 29289132997 0
-3 29289136016 296
-8 29289158896 296
-4 29289159614 264
-2 29292761624 0
-3 29292762299 264
-2 29292807877 0
-3 29292810842 296
-8 29292833702 296
-4 29292834413 264
-2 29296482691 0
-3 29296485639 296
-8 29296508377 296
-4 29296509082 264
-2 29300157351 0
-3 29300160255 296
-8 29300183008 296
-4 29300183716 264
-2 29303832346 0
-3 29303835268 296
-8 29303857860 296
-4 29303858565 264
-2 29307459470 0
-6 29307460171 280
-3 29307462220 280
-8 29307465468 280
-4 29307466158 264
-2 29307507061 0
-3 29307510115 296
-8 29307533068 296
-4 29307533792 264
-2 29311135771 0
-3 29311136446 264
-2 29311182024 0
-3 29311184978 296
-8 29311207763 296
-4 29311208484 264
-2 29314856755 0
-3 29314859677 296
-8 29314882413 296
-4 29314883123 264
-2 29318531751 0
-3 29318534644 296
-8 29318557376 296
-4 29318558083 264
-2 29322206350 0
-3 29322209271 296
-8 29322231886 296
-4 29322232597 264
-2 29325833864 0
-6 29325834636 280
-3 29325836664 280
-8 29325839906 280
-4 29325840596 264
-2 29325881137 0
-3 29325884196 296
-8 29325907086 296
-4 29325907804 264
-2 29329510182 0
-3 29329510857 264
-2 29329556066 0
-3 29329559031 296
-8 29329581871 296
-4 29329582582 264
-2 29333230858 0
-3 29333233802 296
-8 29333256539 296
-4 29333257239 264
-2 29336905876 0
-3 29336908780 296
-8 29336931544 296
-4 29336932252 264
-2 29340580519 0
-3 29340583441 296
-8 29340606033 296
-4 29340606738 264
-2 29344208011 0
-6 29344208712 280
-3 29344210756 280
-8 29344214004 280
-4 29344214694 264
-2 29344255229 0
-3 29344258287 296
-8 29344281230 296
-4 29344281954 264
-2 29347884301 0
-3 29347884976 264
-2 29347930186 0
-3 29347933140 296
-8 29347955925 296
-4 29347956646 264
-2 29351604917 0
-3 29351607839 296
-8 29351630591 296
-4 29351631302 264
-2 29355279929 0
-3 29355282822 296
-8 29355305555 296
-4 29355306262 264
-2 29358954892 0
-3 29358957813 296
-8 29358980395 296
-4 29358981101 264
-2 29362582004 0
-6 29362582705 280
-3 29362584738 280
-8 29362588184 280
-4 29362588874 264
-2 29362629579 0
-3 29362632600 296
-8 29362655479 296
-4 29362656197 264
-2 29366258206 0
-3 29366258881 264
-2 29366304459 0
-3 29366307424 296
-8 29366330284 296
-4 29366330995 264
-2 29369979273 0
-3 29369982217 296
-8 29370004954 296
-4 29370005659 264
-2 29373653928 0
-3 29373656832 296
-8 29373679585 296
-4 29373680293 264
-2 29377328923 0
-3 29377331845 296
-8 29377354437 296
-4 29377355142 264
-2 29380956047 0
-6 29380956748 280
-3 29380958797 280
-8 29380962045 280
-4 29380962735 264
-2 29381003638 0
-3 29381006692 296
-8 29381029645 296
-4 29381030369 264
-2 29384632348 0
-3 29384633023 264
-2 29384678601 0
-3 29384681555 296
-8 29384704340 296
-4 29384705061 264
-2 29388353332 0
-3 29388356254 296
-8 29388378990 296
-4 29388379700 264
-2 29392028328 0
-3 29392031221 296
-8 29392053953 296
-4 29392054660 264
-2 29395702927 0
-3 29395705848 296
-8 29395728468 296
-4 29395729179 264
-2 29399330447 0
-6 29399331152 280
-3 29399333175 280
-8 29399336417 280
-4 29399337107 264
-2 29399378016 0
-3 29399381075 296
-8 29399403960 296
-4 29399404678 264
-2 29403006687 0
-3 29403007362 264
-2 29403052572 0
-3 29403055537 296
-8 29403078388 296
-4 29403079099 264
-2 29406727380 0
-3 29406730324 296
-8 29406753055 296
-4 29406753755 264
-2 29410402392 0
-3 29410405292 296
-8 29410428055 296
-4 29410428763 264
-2 29414077030 0
-3 29414079952 296
-8 29414102544 296
-4 29414103249 264
-2 29417704522 0
-6 29417705223 280
-3 29417707267 280
-8 29417710566 280
-4 29417711256 264
-2 29417752108 0
-3 29417755162 296
-8 29417778109 296
-4 29417778833 264
-2 29421380812 0
-3 29421381487 264
-2 29421426697 0
-3 29421429651 296
-8 29421452436 296
-4 29421453157 264
-2 29425101791 0
-3 29425104713 296
-8 29425127465 296
-4 29425128175 264
-2 29428776440 0
-3 29428779333 296
-8 29428802066 296
-4 29428802773 264
-2 29432451403 0
-3 29432454324 296
-8 29432476905 296
-4 29432477616 264
-2 29436078515 0
-6 29436079216 280
-3 29436081249 280
-8 29436084497 280
-4 29436085187 264
-2 29436126090 0
-3 29436129111 296
-8 29436151990 296
-4 29436152708 264
-2 29439754717 0
-3 29439755392 264
-2 29439800970 0
-3 29439803935 296
-8 29439826795 296
-4 29439827506 264
-2 29443475784 0
-3 29443478728 296
-8 29443501465 296
-4 29443502170 264
-2 29447150802 0
-3 29447153706 296
-8 29447176459 296
-4 29447177167 264
-2 29450825434 0
-3 29450828356 296
-8 29450850948 296
-4 29450851653 264
-2 29454452926 0
-6 29454453631 280
-3 29454455687 280
-8 29454458936 280
-4 29454459626 264
-2 29454500160 0
-3 29454503214 296
-8 29454526167 296
-4 29454526891 264
-2 29458129238 0
-3 29458129913 264
-2 29458175123 0
-3 29458178077 296
-8 29458200862 296
-4 29458201583 264
-2 29461849854 0
-3 29461852776 296
-8 29461875517 296
-4 29461876227 264
-2 29465524855 0
-3 29465527748 296
-8 29465550481 296
-4 29465551188 264
-2 29469199455 0
-3 29469202376 296
-8 29469224990 296
-4 29469225701 264
-2 29472826969 0
-6 29472827670 280
-3 29472829697 280
-8 29472832939 280
-4 29472833629 264
-2 29472874538 0
-3 29472877597 296
-8 29472900487 296
-4 29472901205 264
-2 29476503215 0
-3 29476503890 264
-2 29476549468 0
-3 29476552433 296
-8 29476575267 296
-4 29476575978 264
-2 29480224254 0
-3 29480227198 296
-8 29480249929 296
-4 29480250629 264
-2 29483898903 0
-3 29483901803 296
-8 29483924566 296
-4 29483925274 264
-2 29487573904 0
-3 29487576826 296
-8 29487599418 296
-4 29487600123 264
-2 29491201028 0
-6 29491201729 280
-3 29491203784 280
-8 29491207032 280
-4 29491207722 264
-2 29491248625 0
-3 29491251683 296
-8 29491274626 296
-4 29491275350 264
-2 29494877329 0
-3 29494878004 264
-2 29494923582 0
-3 29494926536 296
-8 29494949321 296
-4 29494950042 264
-2 29498598313 0
-3 29498601235 296
-8 29498623987 296
-4 29498624697 264
-2 29502272962 0
-3 29502275855 296
-8 29502298588 296
-4 29502299295 264
-2 29505947925 0
-3 29505950846 296
-8 29505973427 296
-4 29505974138 264
-2 29509575406 0
-6 29509576107 280
-3 29509578134 280
-8 29509581393 280
-4 29509582083 264
-2 29509622607 0
-3 29509625643 296
-8 29509648539 296
-4 29509649257 264
-2 29513251635 0
-3 29513252310 264
-2 29513297520 0
-3 29513300484 296
-8 29513323368 296
-4 29513324094 264
-2 29516972356 0
-3 29516975397 296
-8 29516998136 296
-4 29516998836 264
-2 29520647109 0
-3 29520650035 296
-8 29520672723 296
-4 29520673431 264
-2 29524322061 0
-3 29524324987 296
-8 29524347530 296
-4 29524348235 264
-2 29527949509 0
-6 29527950214 280
-3 29527952265 280
-8 29527955513 280
-4 29527956216 264
-2 29527996737 0
-3 29527999795 296
-8 29528022670 296
-4 29528023394 264
-2 29531625755 0
-3 29531626430 264
-2 29531671639 0
-3 29531674593 296
-8 29531697354 296
-4 29531698075 264
-2 29535346706 0
-3 29535349628 296
-8 29535372314 296
-4 29535373024 264
-2 29539021289 0
-3 29539024182 296
-8 29539046865 296
-4 29539047572 264
-2 29542696202 0
-3 29542699123 296
-8 29542721688 296
-4 29542722399 264
-2 29546323667 0
-6 29546324368 280
-3 29546326395 280
-8 29546329643 280
-4 29546330333 264
-2 29546371236 0
-3 29546374295 296
-8 29546397125 296
-4 29546397843 264
-2 29549999852 0
-3 29550000527 264
-2 29550045737 0
-3 29550048702 296
-8 29550071492 296
-4 29550072203 264
-2 29553720842 0
-3 29553723786 296
-8 29553746517 296
-4 29553747217 264
-2 29557395491 0
-3 29557398391 296
-8 29557421154 296
-4 29557421862 264
-2 29561070492 0
-3 29561073414 296
-8 29561096006 296
-4 29561096711 264
-2 29564697616 0
-6 29564698317 280
-3 29564700372 280
-8 29564703633 280
-4 29564704323 264
-2 29564745213 0
-3 29564748271 296
-8 29564771214 296
-4 29564771938 264
-2 29568373917 0
-3 29568374592 264
-2 29568420170 0
-3 29568423124 296
-8 29568445909 296
-4 29568446630 264
-2 29572094901 0
-3 29572097823 296
-8 29572120575 296
-4 29572121285 264
-2 29575769550 0
-3 29575772443 296
-8 29575795176 296
-4 29575795883 264
-2 29579444513 0
-3 29579447433 296
-8 29579470015 296
-4 29579470726 264
-2 29583071994 0
-6 29583072695 280
-3 29583074723 280
-8 29583077970 280
-4 29583078660 264
-2 29583119195 0
-3 29583122214 296
-8 29583145094 296
-4 29583145812 264
-2 29586748190 0
-3 29586748865 264
-2 29586794075 0
-3 29586797040 296
-8 29586819900 296
-4 29586820611 264
-2 29590468889 0
-3 29590471837 296
-8 29590494575 296
-4 29590495280 264
-2 29594143912 0
-3 29594146816 296
-8 29594169575 296
-4 29594170288 264
-2 29597818550 0
-3 29597821476 296
-8 29597844069 296
-4 29597844774 264
-2 29601446047 0
-6 29601446748 280
-3 29601448804 280
-8 29601452051 280
-4 29601452741 264
-2 29601493644 0
-3 29601496698 296
-8 29601519662 296
-4 29601520386 264
-2 29605122365 0
-3 29605123040 264
-2 29605168249 0
-3 29605171203 296
-8 29605193986 296
-4 29605194707 264
-2 29608843338 0
-3 29608846260 296
-8 29608868996 296
-4 29608869706 264
-2 29612517971 0
-3 29612520864 296
-8 29612543596 296
-4 29612544303 264
-2 29616192933 0
-3 29616195854 296
-8 29616218469 296
-4 29616219180 264
-2 29619820079 0
-6 29619820780 280
-3 29619822813 280
-8 29619826055 280
-4 29619826745 264
-2 29619867654 0
-3 29619870713 296
-8 29619893603 296
-4 29619894321 264
-2 29623496330 0
-3 29623497005 264
-2 29623542583 0
-3 29623545548 296
-8 29623568383 296
-4 29623569094 264
-2 29627217375 0
-3 29627220319 296
-8 29627243050 296
-4 29627243750 264
-2 29630892024 0
-3 29630894924 296
-8 29630917687 296
-4 29630918395 264
-2 29634567025 0
-3 29634569947 296
-8 29634592539 296
-4 29634593244 264
-2 29638194149 0
-6 29638194850 280
-3 29638196899 280
-8 29638200147 280
-4 29638200837 264
-2 29638241740 0
-3 29638244794 296
-8 29638267741 296
-4 29638268465 264
-2 29641870444 0
-3 29641871119 264
-2 29641916697 0
-3 29641919651 296
-8 29641942434 296
-4 29641943155 264
-2 29645591423 0
-3 29645594344 296
-8 29645617097 296
-4 29645617807 264
-2 29649266435 0
-3 29649269328 296
-8 29649292061 296
-4 29649292768 264
-2 29652941035 0
-3 29652943956 296
-8 29652966537 296
-4 29652967248 264
-2 29656568516 0
-6 29656569221 280
-3 29656571249 280
-8 29656574497 280
-4 29656575187 264
-2 29656616091 0
-3 29656619110 296
-8 29656641990 296
-4 29656642708 264
-2 29660244718 0
-3 29660245393 264
-2 29660290971 0
-3 29660293936 296
-8 29660316796 296
-4 29660317507 264
-2 29663965785 0
-3 29663968733 296
-8 29663991471 296
-4 29663992182 264
-2 29667640445 0
-3 29667643349 296
-8 29667666102 296
-4 29667666810 264
-2 29671315440 0
-3 29671318362 296
-8 29671340954 296
-4 29671341659 264
-2 29674942564 0
-6 29674943265 280
-3 29674945314 280
-8 29674948562 280
-4 29674949252 264
-2 29674990155 0
-3 29674993209 296
-8 29675016162 296
-4 29675016886 264
-2 29678618865 0
-3 29678619540 264
-2 29678665118 0
-3 29678668072 296
-8 29678690857 296
-4 29678691578 264
-2 29682339849 0
-3 29682342771 296
-8 29682365507 296
-4 29682366217 264
-2 29686014482 0
-3 29686017375 296
-8 29686040107 296
-4 29686040814 264
-2 29689689444 0
-3 29689692365 296
-8 29689714980 296
-4 29689715691 264
-2 29693316590 0
-6 29693317291 280
-3 29693319324 280
-8 29693322566 280
-4 29693323256 264
-2 29693364165 0
-3 29693367224 296
-8 29693390114 296
-4 29693390832 264
-2 29696992841 0
-3 29696993516 264
-2 29697039094 0
-3 29697042059 296
-8 29697064894 296
-4 29697065605 264
-2 29700713886 0
-3 29700716830 296
-8 29700739561 296
-4 29700740261 264
-2 29704388898 0
-3 29704391798 296
-8 29704414561 296
-4 29704415269 264
-2 29708063536 0
-3 29708066458 296
-8 29708089050 296
-4 29708089755 264
-2 29711691028 0
-6 29711691729 280
-3 29711693778 280
-8 29711697040 280
-4 29711697730 264
-2 29711738251 0
-3 29711741305 296
-8 29711764259 296
-4 29711764983 264
-2 29715367335 0
-3 29715368010 264
-2 29715413219 0
-3 29715416173 296
-8 29715438956 296
-4 29715439677 264
-2 29719087945 0
-3 29719090867 296
-8 29719113619 296
-4 29719114329 264
-2 29722762957 0
-3 29722765850 296
-8 29722788583 296
-4 29722789290 264
-2 29726437557 0
-3 29726440478 296
-8 29726463065 296
-4 29726463776 264
-2 29730065043 0
-6 29730065748 280
-3 29730067771 280
-8 29730071019 280
-4 29730071709 264
-2 29730112613 0
-3 29730115632 296
-8 29730138518 296
-4 29730139236 264
-2 29733741240 0
-3 29733741915 264
-2 29733787493 0
-3 29733790458 296
-8 29733813329 296
-4 29733814040 264
-2 29737462318 0
-3 29737465266 296
-8 29737488004 296
-4 29737488709 264
-2 29741136978 0
-3 29741139882 296
-8 29741162635 296
-4 29741163343 264
-2 29744811973 0
-3 29744814895 296
-8 29744837487 296
-4 29744838192 264
-2 29748439097 0
-6 29748439798 280
-3 29748441841 280
-8 29748445090 280
-4 29748445780 264
-2 29748486683 0
-3 29748489730 296
-8 29748512692 296
-4 29748513416 264
-2 29752115387 0
-3 29752116062 264
-2 29752161640 0
-3 29752164594 296
-8 29752187379 296
-4 29752188100 264
-2 29755836371 0
-3 29755839293 296
-8 29755862029 296
-4 29755862739 264
-2 29759511367 0
-3 29759514260 296
-8 29759536992 296
-4 29759537699 264
-2 29763185966 0
-3 29763188887 296
-8 29763211502 296
-4 29763212213 264
-2 29766813480 0
-6 29766814181 280
-3 29766816214 280
-8 29766819456 280
-4 29766820146 264
-2 29766861055 0
-3 29766864114 296
-8 29766887004 296
-4 29766887722 264
-2 29770489732 0
-3 29770490407 264
-2 29770535616 0
-3 29770538581 296
-8 29770561416 296
-4 29770562127 264
-2 29774210408 0
-3 29774213352 296
-8 29774236083 296
-4 29774236783 264
-2 29777885420 0
-3 29777888325 296
-8 29777911089 296
-4 29777911797 264
-2 29781560064 0
-3 29781562991 296
-8 29781585583 296
-4 29781586288 264
-2 29785187561 0
-6 29785188266 280
-3 29785190322 280
-8 29785193571 280
-4 29785194261 264
-2 29785235164 0
-3 29785238217 296
-8 29785261159 296
-4 29785261883 264
-2 29788863862 0
-3 29788864537 264
-2 29788909747 0
-3 29788912701 296
-8 29788935486 296
-4 29788936207 264
-2 29792584841 0
-3 29792587763 296
-8 29792610521 296
-4 29792611231 264
-2 29796259496 0
-3 29796262389 296
-8 29796285121 296
-4 29796285828 264
-2 29799934458 0
-3 29799937385 296
-8 29799959966 296
-4 29799960677 264
-2 29803561576 0
-6 29803562277 280
-3 29803564300 280
-8 29803567547 280
-4 29803568237 264
-2 29803609140 0
-3 29803612155 296
-8 29803635045 296
-4 29803635763 264
-2 29807237773 0
-3 29807238448 264
-2 29807284026 0
-3 29807286991 296
-8 29807309851 296
-4 29807310562 264
-2 29810958840 0
-3 29810961788 296
-8 29810984526 296
-4 29810985231 264
-2 29814633500 0
-3 29814636404 296
-8 29814659164 296
-4 29814659873 264
-2 29818308501 0
-3 29818311427 296
-8 29818334020 296
-4 29818334725 264
-2 29821935630 0
-6 29821936331 280
-3 29821938386 280
-8 29821941843 280
-4 29821942533 264
-2 29821983227 0
-3 29821986285 296
-8 29822009239 296
-4 29822009963 264
-2 29825611942 0
-3 29825612617 264
-2 29825658195 0
-3 29825661149 296
-8 29825683934 296
-4 29825684655 264
-2 29829332926 0
-3 29829335848 296
-8 29829358584 296
-4 29829359294 264
-2 29833007922 0
-3 29833010815 296
-8 29833033547 296
-4 29833034254 264
-2 29836682521 0
-3 29836685442 296
-8 29836708057 296
-4 29836708768 264
-2 29840310035 0
-6 29840310736 280
-3 29840312759 280
-8 29840315985 280
-4 29840316669 264
-2 29840357599 0
-3 29840360641 296
-8 29840383510 296
-4 29840384228 264
-2 29843986237 0
-3 29843986912 264
-2 29844032490 0
-3 29844035461 296
-8 29844058295 296
-4 29844059006 264
-2 29847707282 0
-3 29847710226 296
-8 29847732957 296
-4 29847733657 264
-2 29851381931 0
-3 29851384831 296
-8 29851407594 296
-4 29851408302 264
-2 29855056932 0
-3 29855059854 296
-8 29855082446 296
-4 29855083151 264
-2 29858684056 0
-6 29858684761 280
-3 29858686812 280
-8 29858690298 280
-4 29858690988 264
-2 29858731653 0
-3 29858734706 296
-8 29858757736 296
-4 29858758460 264
-2 29862360439 0
-3 29862361114 264
-2 29862406324 0
-3 29862409278 296
-8 29862432063 296
-4 29862432790 264
-2 29866081418 0
-3 29866084340 296
-8 29866107092 296
-4 29866107802 264
-2 29869756067 0
-3 29869758960 296
-8 29869781693 296
-4 29869782400 264
-2 29873431030 0
-3 29873433951 296
-8 29873456532 296
-4 29873457243 264
-2 29877058142 0
-6 29877058843 280
-3 29877060866 280
-8 29877064135 280
-4 29877064825 264
-2 29877105706 0
-3 29877108742 296
-8 29877131633 296
-4 29877132351 264
-2 29880734361 0
-3 29880735036 264
-2 29880780614 0
-3 29880783578 296
-8 29880806452 296
-4 29880807178 264
-2 29884455444 0
-3 29884458487 296
-8 29884481225 296
-4 29884481925 264
-2 29888130203 0
-3 29888133129 296
-8 29888155817 296
-4 29888156525 264
-2 29891805155 0
-3 29891808081 296
-8 29891830624 296
-4 29891831329 264
-2 29895432234 0
-6 29895432935 280
-3 29895434995 280
-8 29895438244 280
-4 29895438947 264
-2 29895479837 0
-3 29895482895 296
-8 29895505770 296
-4 29895506494 264
-2 29899108491 0
-3 29899109166 264
-2 29899154744 0
-3 29899157698 296
-8 29899180456 296
-4 29899181177 264
-2 29902829448 0
-3 29902832370 296
-8 29902855056 296
-4 29902855766 264
-2 29906504394 0
-3 29906507287 296
-8 29906529970 296
-4 29906530677 264
-2 29910179307 0
-3 29910182228 296
-8 29910204793 296
-4 29910205504 264
-2 29913806410 0
-6 29913807122 280
-3 29913809149 280
-8 29913812456 280
-4 29913813146 264
-2 29913853989 0
-3 29913857031 296
-8 29913879861 296
-4 29913880579 264
-2 29917482589 0
-3 29917483264 264
-2 29917528842 0
-3 29917531807 296
-8 29917554597 296
-4 29917555308 264
-2 29921203584 0
-3 29921206528 296
-8 29921229259 296
-4 29921229959 264
-2 29924878596 0
-3 29924881496 296
-8 29924904265 296
-4 29924904978 264
-2 29928553240 0
-3 29928556166 296
-8 29928578759 296
-4 29928579464 264
-2 29932180737 0
-6 29932181438 280
-3 29932183487 280
-8 29932186741 280
-4 29932187431 264
-2 29932228329 0
-3 29932231382 296
-8 29932254342 296
-4 29932255066 264
-2 29935857049 0
-3 29935857724 264
-2 29935902934 0
-3 29935905888 296
-8 29935928673 296
-4 29935929394 264
-2 29939578028 0
-3 29939580950 296
-8 29939603702 296
-4 29939604412 264
-2 29943252677 0
-3 29943255570 296
-8 29943278303 296
-4 29943279010 264
-2 29946927640 0
-3 29946930561 296
-8 29946953142 296
-4 29946953857 264
-2 29950554752 0
-6 29950555453 280
-3 29950557491 280
-8 29950560739 280
-4 29950561429 264
-2 29950602333 0
-3 29950605353 296
-8 29950628238 296
-4 29950628956 264
-2 29954230965 0
-3 29954231640 264
-2 29954277218 0
-3 29954280183 296
-8 29954303043 296
-4 29954303754 264
-2 29957952032 0
-3 29957954976 296
-8 29957977713 296
-4 29957978418 264
-2 29961627050 0
-3 29961629954 296
-8 29961652707 296
-4 29961653415 264
-2 29965301682 0
-3 29965304604 296
-8 29965327196 296
-4 29965327901 264
-2 29968929174 0
-6 29968929875 280
-3 29968931924 280
-8 29968935437 280
-4 29968936127 264
-2 29968976397 0
-3 29968979451 296
-8 29969002412 296
-4 29969003136 264
-2 29972605486 0
-3 29972606161 264
-2 29972651371 0
-3 29972654325 296
-8 29972677110 296
-4 29972677831 264
-2 29976326102 0
-3 29976329024 296
-8 29976351760 296
-4 29976352470 264
-2 29980001098 0
-3 29980003991 296
-8 29980026723 296
-4 29980027430 264
-2 29983675697 0
-3 29983678618 296
-8 29983701233 296
-4 29983701944 264
-2 29987303211 0
-6 29987303916 280
-3 29987305946 280
-8 29987309187 280
-4 29987309877 264
-2 29987350786 0
-3 29987353845 296
-8 29987376741 296
-4 29987377459 264
-2 29990979468 0
-3 29990980143 264
-2 29991025353 0
-3 29991028318 296
-8 29991051158 296
-4 29991051869 264
-2 29994700513 0
-3 29994703457 296
-8 29994726188 296
-4 29994726888 264
-2 29998375162 0
-3 29998378072 296
-8 29998400836 296
-4 29998401544 264
-2 30002050174 0
-3 30002053096 296
-8 30002075704 296
-4 30002076409 264
-2 30005677314 0
-6 30005678015 280
-3 30005680064 280
-8 30005683375 280
-4 30005684065 264
-2 30005724906 0
-3 30005727964 296
-8 30005750925 296
-4 30005751649 264
-2 30009353632 0
-3 30009354307 264
-2 30009399516 0
-3 30009402470 296
-8 30009425253 296
-4 30009425974 264
-2 30013074605 0
-3 30013077527 296
-8 30013100279 296
-4 30013100990 264
-2 30016749254 0
-3 30016752147 296
-8 30016774880 296
-4 30016775587 264
-2 30020424217 0
-3 30020427138 296
-8 30020449719 296
-4 30020450430 264
-2 30024051329 0
-6 30024052030 280
-3 30024054068 280
-8 30024057316 280
-4 30024058006 264
-2 30024098910 0
-3 30024101929 296
-8 30024124815 296
-4 30024125533 264
-2 30027727542 0
-3 30027728217 264
-2 30027773795 0
-3 30027776760 296
-8 30027799620 296
-4 30027800331 264
-2 30031448609 0
-3 30031451553 296
-8 30031474290 296
-4 30031474995 264
-2 30035123627 0
-3 30035126531 296
-8 30035149284 296
-4 30035149992 264
-2 30038798259 0
-3 30038801181 296
-8 30038823773 296
-4 30038824478 264
-2 30042425751 0
-6 30042426452 280
-3 30042428507 280
-8 30042431755 280
-4 30042432445 264
-2 30042472980 0
-3 30042476038 296
-8 30042499000 296
-4 30042499724 264
-2 30046102074 0
-3 30046102749 264
-2 30046147959 0
-3 30046150913 296
-8 30046173698 296
-4 30046174419 264
-2 30049822690 0
-3 30049825612 296
-8 30049848348 296
-4 30049849058 264
-2 30053497686 0
-3 30053500579 296
-8 30053523311 296
-4 30053524018 264
-2 30057172285 0
-3 30057175206 296
-8 30057197821 296
-4 30057198532 264
-2 30060799799 0
-6 30060800504 280
-3 30060802534 280
-8 30060805775 280
-4 30060806465 264
-2 30060847374 0
-3 30060850433 296
-8 30060873329 296
-4 30060874053 264
-2 30064476056 0
-3 30064476731 264
-2 30064522309 0
-3 30064525274 296
-8 30064548109 296
-4 30064548820 264
-2 30068197101 0
-3 30068200045 296
-8 30068222776 296
-4 30068223476 264
-2 30071871750 0
-3 30071874650 296
-8 30071897413 296
-4 30071898121 264
-2 30075546751 0
-3 30075549673 296
-8 30075572265 296
-4 30075572970 264
-2 30079173875 0
-6 30079174576 280
-3 30079176625 280
-8 30079179884 280
-4 30079180574 264
-2 30079221466 0
-3 30079224520 296
-8 30079247482 296
-4 30079248206 264
-2 30082850181 0
-3 30082850856 264
-2 30082896434 0
-3 30082899388 296
-8 30082922171 296
-4 30082922892 264
-2 30086571160 0
-3 30086574082 296
-8 30086596841 296
-4 30086597551 264
-2 30090245815 0
-3 30090248708 296
-8 30090271440 296
-4 30090272143 264
-2 30093920777 0
-3 30093923698 296
-8 30093946280 296
-4 30093946991 264
-2 30097547890 0
-6 30097548591 280
-3 30097550629 280
-8 30097553864 280
-4 30097554554 264
-2 30097595470 0
-3 30097598491 296
-8 30097621386 296
-4 30097622104 264
-2 30101224114 0
-3 30101224789 264
-2 30101270367 0
-3 30101273332 296
-8 30101296192 296
-4 30101296903 264
-2 30104945181 0
-3 30104948129 296
-8 30104970867 296
-4 30104971572 264
-2 30108620204 0
-3 30108623109 296
-8 30108645861 296
-4 30108646569 264
-2 30112294836 0
-3 30112297758 296
-8 30112320350 296
-4 30112321055 264
-2 30115922328 0
-6 30115923033 280
-3 30115925089 280
-8 30115928338 280
-4 30115929028 264
-2 30115969562 0
-3 30115972615 296
-8 30115995577 296
-4 30115996301 264
-2 30119598651 0
-3 30119599326 264
-2 30119644536 0
-3 30119647490 296
-8 30119670275 296
-4 30119670996 264
-2 30123319267 0
-3 30123322189 296
-8 30123344930 296
-4 30123345640 264
-2 30126994268 0
-3 30126997161 296
-8 30127019894 296
-4 30127020601 264
-2 30130669231 0
-3 30130672158 296
-8 30130694772 296
-4 30130695483 264
-2 30134296382 0
-6 30134297083 280
-3 30134299111 280
-8 30134302380 280
-4 30134303070 264
-2 30134343951 0
-3 30134346993 296
-8 30134369884 296
-4 30134370602 264
-2 30137972611 0
-3 30137973286 264
-2 30138018864 0
-3 30138021829 296
-8 30138044664 296
-4 30138045375 264
-2 30141693656 0
-3 30141696600 296
-8 30141719331 296
-4 30141720031 264
-2 30145368305 0
-3 30145371205 296
-8 30145393968 296
-4 30145394680 264
-2 30149043306 0
-3 30149046228 296
-8 30149068820 296
-4 30149069525 264
-2 30152670430 0
-6 30152671131 280
-3 30152673192 280
-8 30152676452 280
-4 30152677142 264
-2 30152718032 0
-3 30152721085 296
-8 30152744036 296
-4 30152744760 264
-2 30156346742 0
-3 30156347417 264
-2 30156392995 0
-3 30156395949 296
-8 30156418734 296
-4 30156419455 264
-2 30160067726 0
-3 30160070648 296
-8 30160093400 296
-4 30160094110 264
-2 30163742375 0
-3 30163745268 296
-8 30163768001 296
-4 30163768708 264
-2 30167417338 0
-3 30167420259 296
-8 30167442840 296
-4 30167443551 264
-2 30171044819 0
-6 30171045520 280
-3 30171047548 280
-8 30171050795 280
-4 30171051485 264
-2 30171092020 0
-3 30171095035 296
-8 30171117930 296
-4 30171118648 264
-2 30174721026 0
-3 30174721701 264
-2 30174766911 0
-3 30174769876 296
-8 30174792736 296
-4 30174793447 264
-2 30178441725 0
-3 30178444673 296
-8 30178467411 296
-4 30178468116 264
-2 30182116748 0
-3 30182119652 296
-8 30182142405 296
-4 30182143113 264
-2 30185791380 0
-3 30185794302 296
-8 30185816894 296
-4 30185817599 264
-2 30189418872 0
-6 30189419577 280
-3 30189421633 280
-8 30189424882 280
-4 30189425572 264
-2 30189466475 0
-3 30189469528 296
-8 30189492481 296
-4 30189493205 264
-2 30193095184 0
-3 30193095859 264
-2 30193141069 0
-3 30193144023 296
-8 30193166808 296
-4 30193167529 264
-2 30196816163 0
-3 30196819085 296
-8 30196841821 296
-4 30196842531 264
-2 30200490796 0
-3 30200493689 296
-8 30200516421 296
-4 30200517128 264
-2 30204165758 0
-3 30204168679 296
-8 30204191294 296
-4 30204192005 264
-2 30207792904 0
-6 30207793605 280
-3 30207795632 280
-8 30207798885 280
-4 30207799575 264
-2 30207840473 0
-3 30207843515 296
-8 30207866395 296
-4 30207867113 264
-2 30211469122 0
-3 30211469797 264
-2 30211515375 0
-3 30211518340 296
-8 30211541175 296
-4 30211541886 264
-2 30215190167 0
-3 30215193111 296
-8 30215215842 296
-4 30215216542 264
-2 30218864816 0
-3 30218867716 296
-8 30218890479 296
-4 30218891187 264
-2 30222539817 0
-3 30222542739 296
-8 30222565331 296
-4 30222566036 264
-2 30226166941 0
-6 30226167642 280
-3 30226169697 280
-8 30226172945 280
-4 30226173635 264
-2 30226214538 0
-3 30226217596 296
-8 30226240539 296
-4 30226241263 264
-2 30229843242 0
-3 30229843917 264
-2 30229889495 0
-3 30229892449 296
-8 30229915234 296
-4 30229915955 264
-2 30233564226 0
-3 30233567148 296
-8 30233589900 296
-4 30233590610 264
-2 30237239238 0
-3 30237242131 296
-8 30237264864 296
-4 30237265571 264
-2 30240913838 0
-3 30240916759 296
-8 30240939340 296
-4 30240940051 264
-2 30244541326 0
-6 30244542027 280
-3 30244544059 280
-8 30244547317 280
-4 30244548007 264
-2 30244588899 0
-3 30244591935 296
-8 30244614826 296
-4 30244615544 264
-2 30248217554 0
-3 30248218229 264
-2 30248263807 0
-3 30248266771 296
-8 30248289645 296
-4 30248290371 264
-2 30251938637 0
-3 30251941680 296
-8 30251964418 296
-4 30251965118 264
-2 30255613396 0
-3 30255616322 296
-8 30255639015 296
-4 30255639728 264
-2 30259287990 0
-3 30259290912 296
-8 30259313460 296
-4 30259314165 264
-2 30262915438 0
-6 30262916139 280
-3 30262918183 280
-8 30262921431 280
-4 30262922140 264
-2 30262963024 0
-3 30262966083 296
-8 30262988968 296
-4 30262989692 264
-2 30266591684 0
-3 30266592359 264
-2 30266637937 0
-3 30266640891 296
-8 30266663649 296
-4 30266664370 264
-2 30270312641 0
-3 30270315563 296
-8 30270338249 296
-4 30270338959 264
-2 30273987587 0
-3 30273990480 296
-8 30274013163 296
-4 30274013870 264
-2 30277662137 0
-3 30277665058 296
-8 30277687627 296
-4 30277688333 264
-2 30281289602 0
-6 30281290303 280
-3 30281292331 280
-8 30281295589 280
-4 30281296279 264
-2 30281337171 0
-3 30281340230 296
-8 30281363065 296
-4 30281363783 264
-2 30284965793 0
-3 30284966468 264
-2 30285012046 0
-3 30285015011 296
-8 30285037801 296
-4 30285038512 264
-2 30288686788 0
-3 30288689732 296
-8 30288712463 296
-4 30288713163 264
-2 30292361437 0
-3 30292364337 296
-8 30292387100 296
-4 30292387808 264
-2 30296036438 0
-3 30296039360 296
-8 30296061952 296
-4 30296062657 264
-2 30299663562 0
-6 30299664263 280
-3 30299666312 280
-8 30299669611 280
-4 30299670301 264
-2 30299711153 0
-3 30299714207 296
-8 30299737154 296
-4 30299737878 264
-2 30303339857 0
-3 30303340532 264
-2 30303386110 0
-3 30303389064 296
-8 30303411847 296
-4 30303412568 264
-2 30307060836 0
-3 30307063758 296
-8 30307086510 296
-4 30307087220 264
-2 30310735848 0
-3 30310738741 296
-8 30310761474 296
-4 30310762181 264
-2 30314410448 0
-3 30314413369 296
-8 30314435950 296
-4 30314436661 264
-2 30318037929 0
-6 30318038634 280
-3 30318040662 280
-8 30318043910 280
-4 30318044600 264
-2 30318085504 0
-3 30318088523 296
-8 30318111403 296
-4 30318112121 264
-2 30321714131 0
-3 30321714806 264
-2 30321760384 0
-3 30321763349 296
-8 30321786209 296
-4 30321786925 264
-2 30325435198 0
-3 30325438146 296
-8 30325460884 296
-4 30325461589 264
-2 30329109858 0
-3 30329112768 296
-8 30329135515 296
-4 30329136223 264
-2 30332784853 0
-3 30332787775 296
-8 30332810383 296
-4 30332811088 264
-2 30336411993 0
-6 30336412694 280
-3 30336414738 280
-8 30336417997 280
-4 30336418687 264
-2 30336459579 0
-3 30336462633 296
-8 30336485586 296
-4 30336486310 264
-2 30340088289 0
-3 30340088964 264
-2 30340134542 0
-3 30340137496 296
-8 30340160281 296
-4 30340161002 264
-2 30343809273 0
-3 30343812195 296
-8 30343834931 296
-4 30343835641 264
-2 30347483906 0
-3 30347486799 296
-8 30347509531 296
-4 30347510238 264
-2 30351158868 0
-3 30351161789 296
-8 30351184404 296
-4 30351185115 264
-2 30354786014 0
-6 30354786715 280
-3 30354788748 280
-8 30354792309 280
-4 30354792999 264
-2 30354833589 0
-3 30354836648 296
-8 30354859538 296
-4 30354860256 264
-2 30358462265 0
-3 30358462940 264
-2 30358508518 0
-3 30358511483 296
-8 30358534318 296
-4 30358535029 264
-2 30362183310 0
-3 30362186254 296
-8 30362208985 296
-4 30362209685 264
-2 30365858322 0
-3 30365861222 296
-8 30365883985 296
-4 30365884693 264
-2 30369532960 0
-3 30369535882 296
-8 30369558474 296
-4 30369559179 264
-2 30373160452 0
-6 30373161153 280
-3 30373163202 280
-8 30373166451 280
-4 30373167141 264
-2 30373207675 0
-3 30373210729 296
-8 30373233676 296
-4 30373234400 264
-2 30376836748 0
-3 30376837423 264
-2 30376882632 0
-3 30376885586 296
-8 30376908369 296
-4 30376909090 264
-2 30380557358 0
-3 30380560280 296
-8 30380583032 296
-4 30380583742 264
-2 30384232370 0
-3 30384235263 296
-8 30384257996 296
-4 30384258703 264
-2 30387907333 0
-3 30387910254 296
-8 30387932835 296
-4 30387933546 264
-2 30391534445 0
-6 30391535150 280
-3 30391537173 280
-8 30391540421 280
-4 30391541111 264
-2 30391582015 0
-3 30391585034 296
-8 30391607914 296
-4 30391608632 264
-2 30395210642 0
-3 30395211323 264
-2 30395256900 0
-3 30395259865 296
-8 30395282725 296
-4 30395283436 264
-2 30398931714 0
-3 30398934658 296
-8 30398957395 296
-4 30398958100 264
-2 30402606369 0
-3 30402609273 296
-8 30402632026 296
-4 30402632734 264
-2 30406281364 0
-3 30406284286 296
-8 30406306878 296
-4 30406307583 264
-2 30409908488 0
-6 30409909189 280
-3 30409911238 280
-8 30409914497 280
-4 30409915187 264
-2 30409956079 0
-3 30409959133 296
-8 30409982094 296
-4 30409982822 264
-2 30413584789 0
-3 30413585464 264
-2 30413631042 0
-3 30413633996 296
-8 30413656781 296
-4 30413657502 264
-2 30417305773 0
-3 30417308695 296
-8 30417331431 296
-4 30417332141 264
-2 30420980769 0
-3 30420983662 296
-8 30421006394 296
-4 30421007101 264
-2 30424655368 0
-3 30424658289 296
-8 30424680904 296
-4 30424681615 264
-2 30428282882 0
-6 30428283583 280
-3 30428285616 280
-8 30428289111 280
-4 30428289801 264
-2 30428330457 0
-3 30428333499 296
-8 30428356379 296
-4 30428357097 264
-2 30431959106 0
-3 30431959781 264
-2 30432004991 0
-3 30432007956 296
-8 30432030790 296
-4 30432031501 264
-2 30435680140 0
-3 30435683084 296
-8 30435705815 296
-4 30435706515 264
-2 30439354789 0
-3 30439357689 296
-8 30439380452 296
-4 30439381160 264
-2 30443029797 0
-3 30443032722 296
-8 30443055315 296
-4 30443056020 264
-2 30446656925 0
-6 30446657630 280
-3 30446659681 280
-8 30446662942 280
-4 30446663632 264
-2 30446704522 0
-3 30446707575 296
-8 30446730517 296
-4 30446731241 264
-2 30450333220 0
-3 30450333895 264
-2 30450379473 0
-3 30450382427 296
-8 30450405210 296
-4 30450405931 264
-2 30454054199 0
-3 30454057121 296
-8 30454079879 296
-4 30454080589 264
-2 30457728854 0
-3 30457731747 296
-8 30457754485 296
-4 30457755192 264
-2 30461403822 0
-3 30461406749 296
-8 30461429330 296
-4 30461430041 264
-2 30465030940 0
-6 30465031641 280
-3 30465033668 280
-8 30465036927 280
-4 30465037617 264
-2 30465078509 0
-3 30465081524 296
-8 30465104425 296
-4 30465105143 264
-2 30468707153 0
-3 30468707828 264
-2 30468753406 0
-3 30468756371 296
-8 30468779231 296
-4 30468779942 264
-2 30472428220 0
-3 30472431168 296
-8 30472453906 296
-4 30472454611 264
-2 30476103243 0
-3 30476106147 296
-8 30476128900 296
-4 30476129608 264
-2 30479777875 0
-3 30479780797 296
-8 30479803389 296
-4 30479804094 264
-2 30483405367 0
-6 30483406068 280
-3 30483408124 280
-8 30483411371 280
-4 30483412061 264
-2 30483452596 0
-3 30483455649 296
-8 30483478602 296
-4 30483479326 264
-2 30487081674 0
-3 30487082349 264
-2 30487127558 0
-3 30487130512 296
-8 30487153295 296
-4 30487154016 264
-2 30490802284 0
-3 30490805206 296
-8 30490827942 296
-4 30490828652 264
-2 30494477280 0
-3 30494480173 296
-8 30494502905 296
-4 30494503612 264
-2 30498152242 0
-3 30498155163 296
-8 30498177778 296
-4 30498178489 264
-2 30501779388 0
-6 30501780089 280
-3 30501782116 280
-8 30501785358 280
-4 30501786048 264
-2 30501826957 0
-3 30501829999 296
-8 30501852879 296
-4 30501853597 264
-2 30505455606 0
-3 30505456281 264
-2 30505501859 0
-3 30505504825 296
-8 30505527659 296
-4 30505528385 264
-2 30509176651 0
-3 30509179611 296
-8 30509202344 296
-4 30509203044 264
-2 30512851322 0
-3 30512854222 296
-8 30512876985 296
-4 30512877693 264
-2 30516526323 0
-3 30516529245 296
-8 30516551837 296
-4 30516552542 264
-2 30520153447 0
-6 30520154149 280
-3 30520156203 280
-8 30520159451 280
-4 30520160141 264
-2 30520201044 0
-3 30520204097 296
-8 30520227014 296
-4 30520227738 264
-2 30523829731 0
-3 30523830406 264
-2 30523875984 0
-3 30523878938 296
-8 30523901743 296
-4 30523902464 264
-2 30527550732 0
-3 30527553658 296
-8 30527576412 296
-4 30527577122 264
-2 30531225387 0
-3 30531228280 296
-8 30531251029 296
-4 30531251736 264
-2 30534900366 0
-3 30534903287 296
-8 30534925885 296
-4 30534926596 264
-2 30538527863 0
-6 30538528564 280
-3 30538530587 280
-8 30538533845 280
-4 30538534535 264
-2 30538575059 0
-3 30538578101 296
-8 30538600975 296
-4 30538601693 264
-2 30542204071 0
-3 30542204746 264
-2 30542249955 0
-3 30542252920 296
-8 30542275782 296
-4 30542276498 264
-2 30545924769 0
-3 30545927713 296
-8 30545950444 296
-4 30545951144 264
-2 30549599781 0
-3 30549602681 296
-8 30549625428 296
-4 30549626136 264
-2 30553274403 0
-3 30553277329 296
-8 30553299922 296
-4 30553300627 264
-2 30556901900 0
-6 30556902601 280
-3 30556904657 280
-8 30556907904 280
-4 30556908594 264
-2 30556949497 0
-3 30556952551 296
-8 30556975515 296
-4 30556976239 264
-2 30560578218 0
-3 30560578893 264
-2 30560624102 0
-3 30560627056 296
-8 30560649839 296
-4 30560650560 264
-2 30564299191 0
-3 30564302113 296
-8 30564324849 296
-4 30564325559 264
-2 30567973824 0
-3 30567976717 296
-8 30567999449 296
-4 30568000156 264
-2 30571648786 0
-3 30571651707 296
-8 30571674305 296
-4 30571675016 264
-2 30575275915 0
-6 30575276616 280
-3 30575278650 280
-8 30575281897 280
-4 30575282587 264
-2 30575323490 0
-3 30575326505 296
-8 30575349395 296
-4 30575350113 264
-2 30578952123 0
-3 30578952798 264
-2 30578998376 0
-3 30579001341 296
-8 30579024179 296
-4 30579024890 264
-2 30582673168 0
-3 30582676116 296
-8 30582698854 296
-4 30582699559 264
-2 30586347828 0
-3 30586350732 296
-8 30586373502 296
-4 30586374215 264
-2 30590022840 0
-3 30590025766 296
-8 30590048364 296
-4 30590049073 264
-2 30593649974 0
-6 30593650679 280
-3 30593652725 280
-8 30593655986 280
-4 30593656676 264
-2 30593697566 0
-3 30593700614 296
-8 30593723550 296
-4 30593724274 264
-2 30597326253 0
-3 30597326928 264
-2 30597372506 0
-3 30597375460 296
-8 30597398243 296
-4 30597398964 264
-2 30601047232 0
-3 30601050154 296
-8 30601072906 296
-4 30601073616 264
-2 30604722244 0
-3 30604725137 296
-8 30604747870 296
-4 30604748577 264
-2 30608396844 0
-3 30608399765 296
-8 30608422363 296
-4 30608423074 264
-2 30612024341 0
-6 30612025042 280
-3 30612027065 280
-8 30612030328 280
-4 30612031018 264
-2 30612071905 0
-3 30612074969 296
-8 30612097854 296
-4 30612098572 264
-2 30615700582 0
-3 30615701257 264
-2 30615746835 0
-3 30615749799 296
-8 30615772672 296
-4 30615773398 264
-2 30619421291 0
-3 30619424334 296
-8 30619447072 296
-4 30619447777 264
-2 30623096413 0
-3 30623099339 296
-8 30623122027 296
-4 30623122735 264
-2 30626771002 0
-3 30626773928 296
-8 30626796471 296
-4 30626797176 264
-2 30630398450 0
-6 30630399151 280
-3 30630401206 280
-8 30630404459 280
-4 30630405162 264
-2 30630446047 0
-3 30630449105 296
-8 30630471995 296
-4 30630472719 264
-2 30634074712 0
-3 30634075387 264
-2 30634120965 0
-3 30634123919 296
-8 30634146677 296
-4 30634147398 264
-2 30637795669 0
-3 30637798591 296
-8 30637821277 296
-4 30637821987 264
-2 30641470622 0
-3 30641473514 296
-8 30641496197 296
-4 30641496904 264
-2 30645145171 0
-3 30645148092 296
-8 30645170657 296
-4 30645171368 264
-2 30648772635 0
-6 30648773340 280
-3 30648775370 280
-8 30648778617 280
-4 30648779307 264
-2 30648820210 0
-3 30648823269 296
-8 30648846099 296
-4 30648846817 264
-2 30652448826 0
-3 30652449501 264
-2 30652495079 0
-3 30652498044 296
-8 30652520840 296
-4 30652521556 264
-2 30656169827 0
-3 30656172771 296
-8 30656195502 296
-4 30656196202 264
-2 30659844476 0
-3 30659847381 296
-8 30659870145 296
-4 30659870853 264
-2 30663519483 0
-3 30663522409 296
-8 30663545018 296
-4 30663545723 264
-2 30667146628 0
-6 30667147329 280
-3 30667149373 280
-8 30667152632 280
-4 30667153322 264
-2 30667194214 0
-3 30667197268 296
-8 30667220292 296
-4 30667221016 264
-2 30670822995 0
-3 30670823670 264
-2 30670869248 0
-3 30670872202 296
-8 30670894985 296
-4 30670895706 264
-2 30674543974 0
-3 30674546896 296
-8 30674569648 296
-4 30674570362 264
-2 30678218623 0
-3 30678221516 296
-8 30678244249 296
-4 30678244956 264
-2 30681893586 0
-3 30681896507 296
-8 30681919088 296
-4 30681919799 264
-2 30685521067 0
-6 30685521768 280
-3 30685523801 280
-8 30685527048 280
-4 30685527738 264
-2 30685568273 0
-3 30685571294 296
-8 30685594173 296
-4 30685594891 264
-2 30689197269 0
-3 30689197944 264
-2 30689243153 0
-3 30689246118 296
-8 30689268978 296
-4 30689269689 264
-2 30692917967 0
-3 30692920911 296
-8 30692943648 296
-4 30692944353 264
-2 30696592985 0
-3 30696595889 296
-8 30696618642 296
-4 30696619350 264
-2 30700267617 0
-3 30700270539 296
-8 30700293131 296
-4 30700293836 264
-2 30703895109 0
-6 30703895810 280
-3 30703897854 280
-8 30703901102 280
-4 30703901792 264
-2 30703942695 0
-3 30703945751 296
-8 30703968710 296
-4 30703969434 264
-2 30707571416 0
-3 30707572091 264
-2 30707617300 0
-3 30707620254 296
-8 30707643037 296
-4 30707643758 264
-2 30711292389 0
-3 30711295311 296
-8 30711318047 296
-4 30711318757 264
-2 30714967022 0
-3 30714969915 296
-8 30714992647 296
-4 30714993354 264
-2 30718641984 0
-3 30718644905 296
-8 30718667520 296
-4 30718668231 264
-2 30722269130 0
-6 30722269835 280
-3 30722271863 280
-8 30722275091 280
-4 30722275775 264
-2 30722316705 0
-3 30722319764 296
-8 30722342643 296
-4 30722343361 264
-2 30725945370 0
-3 30725946045 264
-2 30725991623 0
-3 30725994594 296
-8 30726017428 296
-4 30726018139 264
-2 30729666415 0
-3 30729669359 296
-8 30729692108 296
-4 30729692808 264
-2 30733341086 0
-3 30733343986 296
-8 30733366749 296
-4 30733367457 264
-2 30737016087 0
-3 30737019009 296
-8 30737041601 296
-4 30737042306 264
-2 30740643211 0
-6 30740643912 280
-3 30740645961 280
-8 30740649215 280
-4 30740649905 264
-2 30740690802 0
-3 30740693856 296
-8 30740716818 296
-4 30740717542 264
-2 30744319517 0
-3 30744320192 264
-2 30744365770 0
-3 30744368724 296
-8 30744391507 296
-4 30744392228 264
-2 30748040496 0
-3 30748043418 296
-8 30748066170 296
-4 30748066880 264
-2 30751715508 0
-3 30751718401 296
-8 30751741134 296
-4 30751741841 264
-2 30755390108 0
-3 30755393029 296
-8 30755415610 296
-4 30755416321 264
-2 30759017589 0
-6 30759018290 280
-3 30759020328 280
-8 30759023576 280
-4 30759024266 264
-2 30759065169 0
-3 30759068190 296
-8 30759091074 296
-4 30759091792 264
-2 30762693802 0
-3 30762694477 264
-2 30762739686 0
-3 30762742651 296
-8 30762765511 296
-4 30762766222 264
-2 30766414500 0
-3 30766417444 296
-8 30766440181 296
-4 30766440886 264
-2 30770089518 0
-3 30770092422 296
-8 30770115175 296
-4 30770115883 264
-2 30773764513 0
-3 30773767435 296
-8 30773790032 296
-4 30773790737 264
-2 30777391642 0
-6 30777392347 280
-3 30777394403 280
-8 30777397652 280
-4 30777398342 264
-2 30777439245 0
-3 30777442298 296
-8 30777465258 296
-4 30777465982 264
-2 30781067965 0
-3 30781068640 264
-2 30781113850 0
-3 30781116804 296
-8 30781139589 296
-4 30781140310 264
-2 30784788944 0
-3 30784791866 296
-8 30784814602 296
-4 30784815312 264
-2 30788463577 0
-3 30788466470 296
-8 30788489208 296
-4 30788489915 264
-2 30792138545 0
-3 30792141466 296
-8 30792164086 296
-4 30792164797 264
-2 30795765696 0
-6 30795766397 280
-3 30795768425 280
-8 30795771677 280
-4 30795772367 264
-2 30795813265 0
-3 30795816307 296
-8 30795839198 296
-4 30795839916 264
-2 30799441925 0
-3 30799442600 264
-2 30799488178 0
-3 30799491143 296
-8 30799513978 296
-4 30799514689 264
-2 30803162970 0
-3 30803165914 296
-8 30803188645 296
-4 30803189345 264
-2 30806837982 0
-3 30806840881 296
-8 30806863645 296
-4 30806864353 264
-2 30810512620 0
-3 30810515542 296
-8 30810538134 296
-4 30810538841 264
-2 30814140112 0
-6 30814140813 280
-3 30814142874 280
-8 30814146122 280
-4 30814146812 264
-2 30814187346 0
-3 30814190399 296
-8 30814213350 296
-4 30814214074 264
-2 30817816424 0
-3 30817817099 264
-2 30817862309 0
-3 30817865263 296
-8 30817888048 296
-4 30817888769 264
-2 30821537040 0
-3 30821539962 296
-8 30821562714 296
-4 30821563424 264
-2 30825212052 0
-3 30825214945 296
-8 30825237678 296
-4 30825238385 264
-2 30828886652 0
-3 30828889573 296
-8 30828912154 296
-4 30828912865 264
-2 30832514133 0
-6 30832514845 280
-3 30832516873 280
-8 30832520120 280
-4 30832520810 264
-2 30832561713 0
-3 30832564728 296
-8 30832587624 296
-4 30832588342 264
-2 30836190351 0
-3 30836191026 264
-2 30836236604 0
-3 30836239570 296
-8 30836262429 296
-4 30836263155 264
-2 30839911418 0
-3 30839914373 296
-8 30839937110 296
-4 30839937815 264
-2 30843586084 0
-3 30843588988 296
-8 30843611741 296
-4 30843612449 264
-2 30847261079 0
-3 30847264001 296
-8 30847286593 296
-4 30847287298 264
-2 30850888203 0
-6 30850888905 280
-3 30850890959 280
-8 30850894207 280
-4 30850894897 264
-2 30850935800 0
-3 30850938853 296
-8 30850961784 296
-4 30850962508 264
-2 30854564504 0
-3 30854565179 264
-2 30854610757 0
-3 30854613711 296
-8 30854636529 296
-4 30854637250 264
-2 30858285521 0
-3 30858288447 296
-8 30858311184 296
-4 30858311894 264
-2 30861960159 0
-3 30861963052 296
-8 30861985801 296
-4 30861986508 264
-2 30865635138 0
-3 30865638059 296
-8 30865660657 296
-4 30865661368 264
-2 30869262267 0
-6 30869262968 280
-3 30869264996 280
-8 30869268254 280
-4 30869268944 264
-2 30869309837 0
-3 30869312852 296
-8 30869335747 296
-4 30869336465 264
-2 30872938475 0
-3 30872939150 264
-2 30872984728 0
-3 30872987693 296
-8 30873010531 296
-4 30873011246 264
-2 30876659520 0
-3 30876662468 296
-8 30876685206 296
-4 30876685911 264
-2 30880334543 0
-3 30880337447 296
-8 30880360217 296
-4 30880360925 264
-2 30884009192 0
-3 30884012118 296
-8 30884034711 296
-4 30884035416 264
-2 30887636689 0
-6 30887637390 280
-3 30887639451 280
-8 30887642827 280
-4 30887643517 264
-2 30887683923 0
-3 30887686976 296
-8 30887709916 296
-4 30887710640 264
-2 30891312990 0
-3 30891313665 264
-2 30891358875 0
-3 30891361829 296
-8 30891384614 296
-4 30891385335 264
-2 30895033606 0
-3 30895036528 296
-8 30895059280 296
-4 30895059990 264
-2 30898708618 0
-3 30898711511 296
-8 30898734244 296
-4 30898734951 264
-2 30902383218 0
-3 30902386139 296
-8 30902408737 296
-4 30902409448 264
-2 30906010715 0
-6 30906011416 280
-3 30906013450 280
-8 30906016691 280
-4 30906017387 264
-2 30906058290 0
-3 30906061403 296
-8 30906084289 296
-4 30906085007 264
-2 30909687016 0
-3 30909687691 264
-2 30909732901 0
-3 30909735866 296
-8 30909758722 296
-4 30909759433 264
-2 30913407709 0
-3 30913410653 296
-8 30913433384 296
-4 30913434084 264
-2 30917082721 0
-3 30917085621 296
-8 30917108368 296
-4 30917109076 264
-2 30920757706 0
-3 30920760632 296
-8 30920783230 296
-4 30920783935 264
-2 30924384840 0
-6 30924385545 280
-3 30924387601 280
-8 30924390850 280
-4 30924391540 264
-2 30924432443 0
-3 30924435496 296
-8 30924458478 296
-4 30924459202 264
-2 30928061185 0
-3 30928061860 264
-2 30928107070 0
-3 30928110024 296
-8 30928132809 296
-4 30928133530 264
-2 30931782164 0
-3 30931785086 296
-8 30931807822 296
-4 30931808532 264
-2 30935456797 0
-3 30935459690 296
-8 30935482422 296
-4 30935483129 264
-2 30939131759 0
-3 30939134680 296
-8 30939157278 296
-4 30939157989 264
-2 30942758888 0
-6 30942759589 280
-3 30942761617 280
-8 30942764875 280
-4 30942765565 264
-2 30942806458 0
-3 30942809477 296
-8 30942832368 296
-4 30942833086 264
-2 30946435096 0
-3 30946435771 264
-2 30946481349 0
-3 30946484314 296
-8 30946507152 296
-4 30946507863 264
-2 30950156141 0
-3 30950159089 296
-8 30950181827 296
-4 30950182532 264
-2 30953831164 0
-3 30953834068 296
-8 30953856838 296
-4 30953857546 264
-2 30957505813 0
-3 30957508739 296
-8 30957531332 296
-4 30957532037 264
-2 30961133310 0
-6 30961134011 280
-3 30961136072 280
-8 30961139573 280
-4 30961140263 264
-2 30961180544 0
-3 30961183598 296
-8 30961206537 296
-4 30961207261 264
-2 30964809611 0
-3 30964810286 264
-2 30964855496 0
-3 30964858450 296
-8 30964881235 296
-4 30964881956 264
-2 30968530227 0
-3 30968533149 296
-8 30968555901 296
-4 30968556611 264
-2 30972205239 0
-3 30972208132 296
-8 30972230865 296
-4 30972231572 264
-2 30975879839 0
-3 30975882760 296
-8 30975905358 296
-4 30975906069 264
-2 30979507336 0
-6 30979508041 280
-3 30979510071 280
-8 30979513323 280
-4 30979514013 264
-2 30979554911 0
-3 30979557975 296
-8 30979580860 296
-4 30979581578 264
-2 30983183588 0
-3 30983184263 264
-2 30983229841 0
-3 30983232805 296
-8 30983255684 296
-4 30983256410 264
-2 30986904671 0
-3 30986907714 296
-8 30986930463 296
-4 30986931168 264
-2 30990579441 0
-3 30990582367 296
-8 30990605055 296
-4 30990605763 264
-2 30994254030 0
-3 30994256956 296
-8 30994279516 296
-4 30994280221 264
-2 30997881494 0
-6 30997882195 280
-3 30997884244 280
-8 30997887509 280
-4 30997888212 264
-2 30997929086 0
-3 30997932144 296
-8 30997955041 296
-4 30997955765 264
-2 31001557762 0
-3 31001558437 264
-2 31001603647 0
-3 31001606601 296
-8 31001629356 296
-4 31001630077 264
-2 31005278708 0
-3 31005281630 296
-8 31005304320 296
-4 31005305030 264
-2 31008953297 0
-3 31008956190 296
-8 31008978873 296
-4 31008979580 264
-2 31012628210 0
-3 31012631131 296
-8 31012653696 296
-4 31012654407 264
-2 31016255674 0
-6 31016256375 280
-3 31016258413 280
-8 31016261661 280
-4 31016262351 264
-2 31016303255 0
-3 31016306314 296
-8 31016329154 296
-4 31016329872 264
-2 31019931882 0
-3 31019932557 264
-2 31019978135 0
-3 31019981100 296
-8 31020003890 296
-4 31020004601 264
-2 31023652877 0
-3 31023655821 296
-8 31023678552 296
-4 31023679252 264
-2 31027327526 0
-3 31027330426 296
-8 31027353189 296
-4 31027353897 264
-2 31031002527 0
-3 31031005449 296
-8 31031028041 296
-4 31031028746 264
-2 31034629651 0
-6 31034630352 280
-3 31034632401 280
-8 31034635762 280
-4 31034636452 264
-2 31034677242 0
-3 31034680289 296
-8 31034703239 296
-4 31034703963 264
-2 31038305955 0
-3 31038306632 264
-2 31038352210 0
-3 31038355164 296
-8 31038377947 296
-4 31038378668 264
-2 31042026936 0
-3 31042029858 296
-8 31042052610 296
-4 31042053320 264
-2 31045701948 0
-3 31045704841 296
-8 31045727574 296
-4 31045728281 264
-2 31049376548 0
-3 31049379469 296
-8 31049402050 296
-4 31049402761 264
-2 31053004029 0
-6 31053004734 280
-3 31053006762 280
-8 31053010010 280
-4 31053010700 264
-2 31053051604 0
-3 31053054623 296
-8 31053077503 296
-4 31053078221 264
-2 31056680231 0
-3 31056680906 264
-2 31056726115 0
-3 31056729086 296
-8 31056751946 296
-4 31056752657 264
-2 31060400935 0
-3 31060403883 296
-8 31060426632 296
-4 31060427337 264
-2 31064075969 0
-3 31064078873 296
-8 31064101626 296
-4 31064102334 264
-2 31067750601 0
-3 31067753523 296
-8 31067776115 296
-4 31067776820 264
-2 31071378093 0
-6 31071378794 280
-3 31071380838 280
-8 31071384097 280
-4 31071384787 264
-2 31071425679 0
-3 31071428733 296
-8 31071451686 296
-4 31071452414 264
-2 31075054389 0
-3 31075055064 264
-2 31075100273 0
-3 31075103227 296
-8 31075126010 296
-4 31075126731 264
-2 31078775362 0
-3 31078778284 296
-8 31078801020 296
-4 31078801730 264
-2 31082449995 0
-3 31082452888 296
-8 31082475620 296
-4 31082476327 264
-2 31086124957 0
-3 31086127878 296
-8 31086150493 296
-4 31086151204 264
-2 31089752103 0
-6 31089752804 280
-3 31089754837 280
-8 31089758079 280
-4 31089758769 264
-2 31089799678 0
-3 31089802737 296
-8 31089825627 296
-4 31089826378 264
-2 31093428354 0
-3 31093429029 264
-2 31093474607 0
-3 31093477572 296
-8 31093500407 296
-4 31093501118 264
-2 31097149399 0
-3 31097152343 296
-8 31097175074 296
-4 31097175774 264
-2 31100824048 0
-3 31100826948 296
-8 31100849711 296
-4 31100850419 264
-2 31104499049 0
-3 31104501976 296
-8 31104524568 296
-4 31104525273 264
-2 31108126178 0
-6 31108126883 280
-3 31108128939 280
-8 31108132188 280
-4 31108132878 264
-2 31108173781 0
-3 31108176839 296
-8 31108199782 296
-4 31108200506 264
-2 31111802485 0
-3 31111803160 264
-2 31111848738 0
-3 31111851692 296
-8 31111874477 296
-4 31111875198 264
-2 31115523469 0
-3 31115526391 296
-8 31115549143 296
-4 31115549853 264
-2 31119198481 0
-3 31119201374 296
-8 31119224112 296
-4 31119224819 264
-2 31122873086 0
-3 31122876007 296
-8 31122898589 296
-4 31122899301 264
-2 31126500567 0
-6 31126501268 280
-3 31126503291 280
-8 31126506549 280
-4 31126507239 264
-2 31126548131 0
-3 31126551152 296
-8 31126574058 296
-4 31126574776 264
-2 31130176786 0
-3 31130177461 264
-2 31130223039 0
-3 31130226004 296
-8 31130248864 296
-4 31130249575 264
-2 31133897853 0
-3 31133900801 296
-8 31133923539 296
-4 31133924244 264
-2 31137572513 0
-3 31137575417 296
-8 31137598170 296
-4 31137598878 264
-2 31141247508 0
-3 31141250430 296
-8 31141273022 296
-4 31141273727 264
-2 31144874632 0
-6 31144875333 280
-3 31144877388 280
-8 31144880636 280
-4 31144881326 264
-2 31144922229 0
-3 31144925287 296
-8 31144948241 296
-4 31144948965 264
-2 31148550944 0
-3 31148551619 264
-2 31148597197 0
-3 31148600151 296
-8 31148622936 296
-4 31148623657 264
-2 31152271928 0
-3 31152274850 296
-8 31152297586 296
-4 31152298296 264
-2 31155946561 0
-3 31155949454 296
-8 31155972186 296
-4 31155972893 264
-2 31159621523 0
-3 31159624444 296
-8 31159647059 296
-4 31159647770 264
-2 31163248669 0
-6 31163249370 280
-3 31163251397 280
-8 31163254639 280
-4 31163255329 264
-2 31163296238 0
-3 31163299297 296
-8 31163322187 296
-4 31163322905 264
-2 31166924915 0
-3 31166925590 264
-2 31166971168 0
-3 31166974133 296
-8 31166996967 296
-4 31166997678 264
-2 31170645954 0
-3 31170648898 296
-8 31170671629 296
-4 31170672329 264
-2 31174320966 0
-3 31174323866 296
-8 31174346629 296
-4 31174347337 264
-2 31177995604 0
-3 31177998526 296
-8 31178021118 296
-4 31178021823 264
-2 31181623096 0
-6 31181623797 280
-3 31181625846 280
-8 31181629108 280
-4 31181629798 264
-2 31181670319 0
-3 31181673373 296
-8 31181696320 296
-4 31181697044 264
-2 31185299392 0
-3 31185300067 264
-2 31185345276 0
-3 31185348230 296
-8 31185371021 296
-4 31185371742 264
-2 31189020013 0
-3 31189022939 296
-8 31189045693 296
-4 31189046403 264
-2 31192695031 0
-3 31192697924 296
-8 31192720673 296
-4 31192721380 264
-2 31196369647 0
-3 31196372568 296
-8 31196395149 296
-4 31196395860 264
-2 31199997128 0
-6 31199997829 280
-3 31199999856 280
-8 31200003115 280
-4 31200003805 264
-2 31200044697 0
-3 31200047718 296
-8 31200070597 296
-4 31200071315 264
-2 31203673324 0
-3 31203673999 264
-2 31203719577 0
-3 31203722542 296
-8 31203745402 296
-4 31203746113 264
-2 31207394391 0
-3 31207397335 296
-8 31207420072 296
-4 31207420777 264
-2 31211069046 0
-3 31211071950 296
-8 31211094703 296
-4 31211095411 264
-2 31214744041 0
-3 31214746963 296
-8 31214769555 296
-4 31214770260 264
-2 31218371165 0
-6 31218371866 280
-3 31218373921 280
-8 31218377169 280
-4 31218377859 264
-2 31218418762 0
-3 31218421820 296
-8 31218444774 296
-4 31218445498 264
-2 31222047477 0
-3 31222048152 264
-2 31222093730 0
-3 31222096684 296
-8 31222119469 296
-4 31222120190 264
-2 31225768461 0
-3 31225771383 296
-8 31225794119 296
-4 31225794829 264
-2 31229443457 0
-3 31229446350 296
-8 31229469082 296
-4 31229469789 264
-2 31233118056 0
-3 31233120977 296
-8 31233143592 296
-4 31233144303 264
-2 31236745570 0
-6 31236746271 280
-3 31236748299 280
-8 31236751541 280
-4 31236752231 264
-2 31236792771 0
-3 31236795830 296
-8 31236818720 296
-4 31236819438 264
-2 31240421816 0
-3 31240422491 264
-2 31240467701 0
-3 31240470666 296
-8 31240493500 296
-4 31240494211 264
-2 31244142487 0
-3 31244145431 296
-8 31244168162 296
-4 31244168862 264
-2 31247817499 0
-3 31247820399 296
-8 31247843162 296
-4 31247843870 264
-2 31251492137 0
-3 31251495059 296
-8 31251517656 296
-4 31251518361 264
-2 31255119635 0
-6 31255120336 280
-3 31255122385 280
-8 31255125633 280
-4 31255126323 264
-2 31255167226 0
-3 31255170290 296
-8 31255193238 296
-4 31255193962 264
-2 31258795941 0
-3 31258796616 264
-2 31258841826 0
-3 31258844780 296
-8 31258867579 296
-4 31258868300 264
-2 31262516931 0
-3 31262519853 296
-8 31262542605 296
-4 31262543315 264
-2 31266191580 0
-3 31266194473 296
-8 31266217206 296
-4 31266217913 264
-2 31269866543 0
-3 31269869464 296
-8 31269892045 296
-4 31269892756 264
-2 31273493655 0
-6 31273494356 280
-3 31273496379 280
-8 31273499637 280
-4 31273500327 264
-2 31273541219 0
-3 31273544240 296
-8 31273567124 296
-4 31273567842 264
-2 31277169852 0
-3 31277170527 264
-2 31277216105 0
-3 31277219070 296
-8 31277241930 296
-4 31277242641 264
-2 31280890919 0
-3 31280893867 296
-8 31280916605 296
-4 31280917310 264
-2 31284565579 0
-3 31284568483 296
-8 31284591236 296
-4 31284591944 264
-2 31288240574 0
-3 31288243496 296
-8 31288266088 296
-4 31288266793 264
-2 31291867698 0
-6 31291868399 280
-3 31291870454 280
-8 31291873702 280
-4 31291874392 264
-2 31291915295 0
-3 31291918353 296
-8 31291941307 296
-4 31291942031 264
-2 31295544010 0
-3 31295544685 264
-2 31295590263 0
-3 31295593217 296
-8 31295616002 296
-4 31295616723 264
-2 31299264994 0
-3 31299267916 296
-8 31299290652 296
-4 31299291362 264
-2 31302939990 0
-3 31302942883 296
-8 31302965615 296
-4 31302966322 264
-2 31306614589 0
-3 31306617510 296
-8 31306640125 296
-4 31306640836 264
-2 31310242103 0
-6 31310242804 280
-3 31310244832 280
-8 31310248074 280
-4 31310248764 264
-2 31310289673 0
-3 31310292732 296
-8 31310315622 296
-4 31310316340 264
-2 31313918349 0
-3 31313919024 264
-2 31313964234 0
-3 31313967199 296
-8 31313990033 296
-4 31313990749 264
-2 31317639383 0
-3 31317642327 296
-8 31317665065 296
-4 31317665765 264
-2 31321314043 0
-3 31321316943 296
-8 31321339712 296
-4 31321340420 264
-2 31324988687 0
-3 31324991613 296
-8 31325014206 296
-4 31325014911 264
-2 31328616184 0
-6 31328616885 280
-3 31328618929 280
-8 31328622201 280
-4 31328622891 264
-2 31328663770 0
-3 31328666817 296
-8 31328689760 296
-4 31328690484 264
-2 31332292463 0
-3 31332293138 264
-2 31332338716 0
-3 31332341670 296
-8 31332364453 296
-4 31332365174 264
-2 31336013442 0
-3 31336016364 296
-8 31336039116 296
-4 31336039826 264
-2 31339688091 0
-3 31339690984 296
-8 31339713717 296
-4 31339714424 264
-2 31343363054 0
-3 31343365975 296
-8 31343388556 296
-4 31343389267 264
-2 31346990166 0
-6 31346990867 280
-3 31346992900 280
-8 31346996467 280
-4 31346997157 264
-2 31347037741 0
-3 31347040777 296
-8 31347063668 296
-4 31347064386 264
-2 31350666396 0
-3 31350667071 264
-2 31350712649 0
-3 31350715613 296
-8 31350738487 296
-4 31350739213 264
-2 31354387479 0
-3 31354390522 296
-8 31354413260 296
-4 31354413960 264
-2 31358062238 0
-3 31358065164 296
-8 31358087852 296
-4 31358088560 264
-2 31361737190 0
-3 31361740116 296
-8 31361762659 296
-4 31361763364 264
-2 31365364638 0
-6 31365365339 280
-3 31365367388 280
-8 31365370636 280
-4 31365371339 264
-2 31365411861 0
-3 31365414919 296
-8 31365437801 296
-4 31365438525 264
-2 31369040889 0
-3 31369041564 264
-2 31369086774 0
-3 31369089728 296
-8 31369112483 296
-4 31369113204 264
-2 31372761835 0
-3 31372764757 296
-8 31372787464 296
-4 31372788174 264
-2 31376436418 0
-3 31376439311 296
-8 31376461994 296
-4 31376462701 264
-2 31380111331 0
-3 31380114252 296
-8 31380136817 296
-4 31380137528 264
-2 31383738796 0
-6 31383739497 280
-3 31383741525 280
-8 31383744772 280
-4 31383745462 264
-2 31383785997 0
-3 31383789056 296
-8 31383811896 296
-4 31383812614 264
-2 31387414992 0
-3 31387415667 264
-2 31387460877 0
-3 31387463848 296
-8 31387486638 296
-4 31387487349 264
-2 31391135993 0
-3 31391138937 296
-8 31391161686 296
-4 31391162386 264
-2 31394810664 0
-3 31394813564 296
-8 31394836327 296
-4 31394837035 264
-2 31398485302 0
-3 31398488224 296
-8 31398510816 296
-4 31398511521 264
-2 31402112794 0
-6 31402113495 280
-3 31402115545 280
-8 31402118804 280
-4 31402119494 264
-2 31402160386 0
-3 31402163433 296
-8 31402186381 296
-4 31402187105 264
-2 31405789079 0
-3 31405789754 264
-2 31405834963 0
-3 31405837917 296
-8 31405860700 296
-4 31405861421 264
-2 31409510052 0
-3 31409512974 296
-8 31409535726 296
-4 31409536436 264
-2 31413184701 0
-3 31413187594 296
-8 31413210327 296
-4 31413211034 264
-2 31416859664 0
-3 31416862585 296
-8 31416885166 296
-4 31416885877 264
-2 31420486776 0
-6 31420487477 280
-3 31420489510 280
-8 31420492758 280
-4 31420493448 264
-2 31420534351 0
-3 31420537372 296
-8 31420560251 296
-4 31420560969 264
-2 31424162978 0
-3 31424163653 264
-2 31424209231 0
-3 31424212196 296
-8 31424235056 296
-4 31424235767 264
-2 31427884045 0
-3 31427886989 296
-8 31427909726 296
-4 31427910431 264
-2 31431559063 0
-3 31431561967 296
-8 31431584720 296
-4 31431585428 264
-2 31435233695 0
-3 31435236617 296
-8 31435259209 296
-4 31435259914 264
-2 31438861187 0
-6 31438861888 280
-3 31438863937 280
-6 31438876665 288
-4 31438883629 280
-8 31438886324 280
-4 31438888163 288
-8 31438895103 288
-4 31438896190 264
-2 31438908823 0
-3 31438913952 296
-8 31438939508 296
-4 31438940352 264
-2 31442537519 0
-3 31442538328 264
-2 31442583538 0
-3 31442586597 296
-8 31442609490 296
-4 31442610234 264
-2 31446258451 0
-3 31446261378 296
-8 31446284230 296
-4 31446284936 264
-2 31449933204 0
-3 31449936092 296
-8 31449958841 296
-4 31449959545 264
-2 31453607820 0
-3 31453610746 296
-8 31453633356 296
-4 31453634067 264
-2 31457235334 0
-6 31457236351 280
-3 31457238663 280
-8 31457242167 280
-4 31457242875 264
-2 31457282768 0
-3 31457285864 296
-8 31457308788 296
-4 31457309497 264
-2 31460911892 0
-3 31460912564 264
-2 31460957773 0
-3 31460960743 296
-8 31460983613 296
-4 31460984343 264
-2 31464632592 0
-3 31464635535 296
-8 31464658289 296
-4 31464658995 264
-2 31468307263 0
-3 31468310152 296
-8 31468332900 296
-4 31468333608 264
-2 31471982242 0
-3 31471985163 296
-8 31472007760 296
-4 31472008466 264
-2 31475609371 0
-6 31475610068 280
-3 31475612100 280
-8 31475615478 280
-4 31475616186 264
-2 31475656943 0
-3 31475659999 296
-8 31475682876 296
-4 31475683585 264
-2 31479285615 0
-3 31479286292 264
-2 31479331870 0
-3 31479334825 296
-8 31479357650 296
-4 31479358380 264
-2 31483006629 0
-3 31483009562 296
-8 31483032315 296
-4 31483033021 264
-2 31486681289 0
-3 31486684177 296
-8 31486706897 296
-4 31486707601 264
-2 31490356235 0
-3 31490359157 296
-8 31490381761 296
-4 31490382467 264
-2 31493983370 0
-6 31493984071 280
-3 31493986104 280
-8 31493989356 280
-4 31493990064 264
-2 31494030947 0
-3 31494033982 296
-8 31494056876 296
-4 31494057585 264
-2 31497659614 0
-3 31497660291 264
-2 31497705869 0
-3 31497708817 296
-8 31497731676 296
-4 31497732406 264
-2 31501380655 0
-3 31501383620 296
-8 31501406363 296
-4 31501407069 264
-2 31505055700 0
-3 31505058589 296
-8 31505081337 296
-4 31505082041 264
-2 31508730316 0
-3 31508733237 296
-8 31508755834 296
-4 31508756540 264
-2 31512357814 0
-6 31512358515 280
-3 31512360553 280
-8 31512363803 280
-4 31512364511 264
-2 31512405396 0
-3 31512408452 296
-8 31512431363 296
-4 31512432072 264
-2 31516034102 0
-3 31516034779 264
-2 31516079988 0
-3 31516082926 296
-8 31516105749 296
-4 31516106479 264
-2 31517231091 1
-6 31517232913 280
-3 31517234015 1
-6 31517241494 288
-4 31517243463 280
-8 31517244982 280
-4 31517247210 288
-4 31517253379 248
-4 31517280291 288
-4 31517285547 288
-8 31517287792 288
-4 31517289581 272
-1 31517292059
Index: rel_1_5_beta1/newtrace/utils/extract.c
===================================================================
--- rel_1_5_beta1/newtrace/utils/extract.c (revision 1557)
+++ rel_1_5_beta1/newtrace/utils/extract.c (nonexistent)
@@ -1,1050 +0,0 @@
-#include <stdio.h>
-#include <stdlib.h>
-#include <math.h>
-#include <unistd.h>
-#include <string.h>
-
-#define MAXCONTEXT 100
-#define MAXJOB 300000
-
-#define INT_CTX 1
-#define INT_PID 9999
-#define PID_NO_DEF -1
-
-#define BACKGROUND 0
-#define PERIODICAL 1
-#define INTERRUPT 2
-
-#define DRAW_NUM 1000
-
-#define DISABLE_PLOT
-
-struct ctx_exec {
- int ctx;
- unsigned long long dtsc;
- unsigned long long dnsec;
- unsigned long long tsc_start;
- unsigned long long nsec_start;
-};
-
-struct ctx_to_pid {
- int ctx;
- int pid;
-};
-
-struct task_event {
- int ctx;
- unsigned long long tsc;
- unsigned long long nsec;
-};
-
-void Error(int num, int line) {
- printf("Finite-State machine error %d at line %d\n",num,line);
- exit(2);
-}
-
-int context_total = 0,endcycle_total = 0,job_total = 0,exec_total = 0;
-struct ctx_exec *exec_list;
-struct ctx_to_pid *context_list;
-struct task_event *endcycle_list;
-struct task_event *deadline_miss_list;
-struct task_event *wcet_miss_list;
-struct task_event *act_list;
-struct ctx_exec *job_list;
-int deadline_miss = 0, wcet_miss = 0, act_total = 0;
-
-unsigned int clk_per_msec = 0;
-unsigned int skip_clk_per_msec = 0;
-
-unsigned long long log_start_tsc = 0;
-unsigned long long log_end_tsc = 0;
-unsigned long long total_tsc = 0;
-unsigned long long total_nsec = 0;
-
-/* Data for gnuplot external call */
-int draw_data[DRAW_NUM+1];
-
-int gnuplot_clear() {
-
- int i;
-
- for (i=0;i<DRAW_NUM;i++)
- draw_data[i] = 0;
-
- return 0;
-
-}
-
-int gnuplot_draw(char *title,unsigned long long max_limit,int type) {
-
-#ifndef DISABLE_PLOT
-
- FILE *gnuplot_data, *gnuplot_command;
- char temp_name[30];
- int i,pid,*current_mem;
-
- current_mem = malloc(sizeof(int)*(DRAW_NUM+1));
- memcpy(current_mem,draw_data,sizeof(int)*(DRAW_NUM+1));
-
- pid = fork();
- if (pid == 0) {
-
- srand(getpid());
-
- sprintf(temp_name,"/tmp/pwcet%d",rand()%10000);
-
- gnuplot_data = fopen(temp_name,"w");
- gnuplot_command = popen("gnuplot -persist","w");
-
- for (i=0;i<DRAW_NUM;i++)
- fprintf(gnuplot_data,"%f\t%f\n",(double)i * (double)max_limit / (double)DRAW_NUM / 1000.0,(float)(current_mem[i]));
-
- fflush(gnuplot_data);
- fclose(gnuplot_data);
-
- fprintf(gnuplot_command,"set xlabel \"Time [us]\"\n");
- if (type == 0) {
- fprintf(gnuplot_command,"set ylabel \"Frequency [#]\"\n");
-
- fprintf(gnuplot_command,"plot \"%s\" using 1:2 title \"%s\" with lines\n",temp_name,title);
- fflush(gnuplot_command);
- } else {
- fprintf(gnuplot_command,"set ylabel \"Time [us]\"\n");
-
- fprintf(gnuplot_command,"plot \"%s\" using 1:2 title \"%s\" with lines\n",temp_name,title);
- fflush(gnuplot_command);
- }
-
- pclose(gnuplot_command);
- exit(0);
-
- }
-
-#endif
-
- return 0;
-
-}
-
-int stats_from_execs(int ctx_num, unsigned long long *tot_nsec,
- unsigned long long *min_nsec,
- unsigned long long *mean_nsec,
- unsigned long long *max_nsec,
- unsigned long long *first_nsec,
- int *number) {
-
- unsigned long long temp_nsec;
- int k,i;
-
- temp_nsec = 0;
- *max_nsec = 0;
- *mean_nsec = 0;
- *min_nsec = 0xFFFFFFFF;
- *first_nsec = 0;
- k = 0;
- for (i=0;i<exec_total;i++)
- if (exec_list[i].ctx == context_list[ctx_num].ctx) {
- if (*first_nsec == 0) *first_nsec = exec_list[i].nsec_start;
- if (exec_list[i].dnsec > *max_nsec) *max_nsec = exec_list[i].dnsec;
- if (exec_list[i].dnsec < *min_nsec) *min_nsec = exec_list[i].dnsec;
- temp_nsec += exec_list[i].dnsec;
- k++;
- }
-
- *number = k;
- *tot_nsec = temp_nsec;
- if (k != 0) *mean_nsec = temp_nsec / k;
-
- return 0;
-
-}
-
-int stats_from_jobs(int ctx_num, unsigned long long *tot_nsec,
- unsigned long long *min_nsec,
- unsigned long long *mean_nsec,
- unsigned long long *max_nsec,
- unsigned long long *first_nsec,
- int *number) {
-
- unsigned long long temp_nsec;
- int k,i;
-
- temp_nsec = 0;
- *max_nsec = 0;
- *mean_nsec = 0;
- *min_nsec = 0xFFFFFFFF;
- *first_nsec = 0;
- k = 0;
- for (i=0;i<job_total;i++)
- if (job_list[i].ctx == context_list[ctx_num].ctx) {
- if (*first_nsec == 0) *first_nsec = job_list[i].nsec_start;
- if (job_list[i].dnsec > *max_nsec) *max_nsec = job_list[i].dnsec;
- if (job_list[i].dnsec < *min_nsec) *min_nsec = job_list[i].dnsec;
- temp_nsec += job_list[i].dnsec;
- k++;
- }
-
- *number = k;
- *tot_nsec = temp_nsec;
- if (k != 0) *mean_nsec = temp_nsec / k;
-
- return 0;
-
-}
-
-int arr_stats_from_execs(int ctx_num, unsigned long long *min_nsec,
- unsigned long long *mean_nsec,
- unsigned long long *max_nsec) {
-
- unsigned long long last_start,temp_nsec,delta_start;
- int i,k;
-
- last_start = 0;
- temp_nsec = 0;
- *max_nsec = 0;
- *min_nsec = 0xFFFFFFFF;
- *mean_nsec = 0;
- k = 0;
- for (i=0;i<exec_total;i++)
- if (exec_list[i].ctx == context_list[ctx_num].ctx) {
- if (last_start == 0) {
- last_start = exec_list[i].nsec_start;
- } else {
- delta_start = exec_list[i].nsec_start - last_start;
- if (delta_start > *max_nsec) *max_nsec = delta_start;
- if (delta_start < *min_nsec) *min_nsec = delta_start;
- temp_nsec += delta_start;
- k++;
- last_start = exec_list[i].nsec_start;
- }
- }
-
- if (k != 0) *mean_nsec = temp_nsec / k;
-
- return 0;
-
-}
-
-int arr_stats_from_jobs(int ctx_num, unsigned long long *min_nsec,
- unsigned long long *mean_nsec,
- unsigned long long *max_nsec) {
-
- unsigned long long last_start,temp_nsec,delta_start;
- int i,k;
-
- last_start = 0;
- temp_nsec = 0;
- *max_nsec = 0;
- *min_nsec = 0xFFFFFFFF;
- *mean_nsec = 0;
- k = 0;
- for (i=0;i<job_total;i++)
- if (job_list[i].ctx == context_list[ctx_num].ctx) {
- if (last_start == 0) {
- last_start = job_list[i].nsec_start;
- } else {
- delta_start = job_list[i].nsec_start - last_start;
- if (delta_start > *max_nsec) *max_nsec = delta_start;
- if (delta_start < *min_nsec) *min_nsec = delta_start;
- temp_nsec += delta_start;
- k++;
- last_start = job_list[i].nsec_start;
- }
- }
-
- if (k != 0) *mean_nsec = temp_nsec / k;
-
- return 0;
-
-}
-
-int plot_exec_demand_function(int ctx_num, char *pidstr) {
-
- unsigned long long max_limit;
- char tmpstr[50];
- int i;
-
- gnuplot_clear();
-
- max_limit = total_nsec;
-
- for (i=0;i<exec_total;i++)
- if (exec_list[i].ctx == context_list[ctx_num].ctx) {
- int h1,h2,h3;
-
- h1 = exec_list[i].nsec_start * DRAW_NUM / max_limit;
- h2 = (exec_list[i].nsec_start+exec_list[i].dnsec) * DRAW_NUM / max_limit;
- for (h3=h1;h3<h2;h3++)
- if (h3 <= DRAW_NUM) draw_data[h3] += exec_list[i].dnsec/1000*(h3-h1)/(h2-h1);
- for (h3=h2;h3<=DRAW_NUM;h3++)
- if (h3 <= DRAW_NUM) draw_data[h3] += exec_list[i].dnsec/1000;
-
- }
-
- sprintf(tmpstr,"Ctx [%d:%s] Demand-Function",context_list[ctx_num].ctx,pidstr);
- gnuplot_draw(tmpstr,max_limit,1);
-
- return 0;
-
-}
-
-int plot_exec_c_distrib(int ctx_num, unsigned long long max_nsec, char *pidstr) {
-
- unsigned long long max_limit;
- char tmpstr[50];
- int i,h;
-
- if (max_nsec == 0) return 0;
-
- gnuplot_clear();
-
- max_limit = max_nsec;
-
- for (i=0;i<exec_total;i++)
- if (exec_list[i].ctx == context_list[ctx_num].ctx) {
- h = exec_list[i].dnsec * DRAW_NUM / max_limit;
- if (h <= DRAW_NUM) draw_data[h]++;
- }
-
- sprintf(tmpstr,"Ctx [%d:%s] Exec C-dist",context_list[ctx_num].ctx,pidstr);
- gnuplot_draw(tmpstr,max_limit,0);
-
- return 0;
-
-}
-
-int plot_job_c_distrib(int ctx_num, unsigned long long max_nsec, char *pidstr) {
-
- unsigned long long max_limit;
- char tmpstr[50];
- int i,h;
-
- if (max_nsec == 0) return 0;
-
- gnuplot_clear();
-
- max_limit = max_nsec;
-
- for (i=0;i<job_total;i++)
- if (job_list[i].ctx == context_list[ctx_num].ctx) {
- h = job_list[i].dnsec * DRAW_NUM / max_limit;
- if (h <= DRAW_NUM) draw_data[h]++;
- }
-
- sprintf(tmpstr,"Ctx [%d:%s] Job C-dist",context_list[ctx_num].ctx,pidstr);
- gnuplot_draw(tmpstr,max_limit,0);
-
- return 0;
-
-}
-
-int plot_exec_arr_distrib(int ctx_num, unsigned long long max_nsec, char *pidstr) {
-
- unsigned long long max_limit,last_start,delta_start;
- char tmpstr[50];
- int i,h;
-
- if (max_nsec == 0) return 0;
-
- gnuplot_clear();
-
- max_limit = max_nsec;
-
- last_start = 0;
- for (i=0;i<exec_total;i++)
- if (exec_list[i].ctx == context_list[ctx_num].ctx) {
- if (last_start == 0) {
- last_start = exec_list[i].nsec_start;
- } else {
- delta_start = exec_list[i].nsec_start - last_start;
-
- h = delta_start * DRAW_NUM / max_limit;
- if (h <= DRAW_NUM) draw_data[h]++;
-
- last_start = exec_list[i].nsec_start;
- }
- }
-
- sprintf(tmpstr,"Ctx [%d:%s] Exec Arr.Delta",context_list[ctx_num].ctx,pidstr);
- gnuplot_draw(tmpstr,max_limit,0);
-
- return 0;
-
-}
-
-int plot_job_arr_distrib(int ctx_num, unsigned long long max_nsec, char *pidstr) {
-
- unsigned long long max_limit,last_start,delta_start;
- char tmpstr[50];
- int i,h;
-
- if (max_nsec == 0) return 0;
-
- gnuplot_clear();
-
- max_limit = max_nsec;
-
- last_start = 0;
- for (i=0;i<job_total;i++)
- if (job_list[i].ctx == context_list[ctx_num].ctx) {
- if (last_start == 0) {
- last_start = job_list[i].nsec_start;
- } else {
- delta_start = job_list[i].nsec_start - last_start;
-
- h = delta_start * DRAW_NUM / max_limit;
- if (h <= DRAW_NUM) draw_data[h]++;
-
- last_start = job_list[i].nsec_start;
- }
- }
-
- sprintf(tmpstr,"Ctx [%d:%s] Job Arr.Delta",context_list[ctx_num].ctx,pidstr);
- gnuplot_draw(tmpstr,max_limit,0);
-
- return 0;
-
-}
-
-int create_lists(char *filename) {
-
- FILE *input_file;
-
- int type,par1,par2,k,i,state;
-
- int current_context = 0;
- int current_exec = 0;
- int current_endcycle = 0;
-
- int kill_delta = 0;
-
- unsigned long long last_tsc, tsc;
- unsigned long long current_nsec = 0;
-
- input_file = fopen(filename,"r");
-
- /* Memory alloc */
- exec_list = malloc(sizeof(struct ctx_exec) * MAXJOB);
- context_list = malloc(sizeof(struct ctx_to_pid) * MAXCONTEXT);
- endcycle_list = malloc(sizeof(struct task_event) * MAXJOB);
- deadline_miss_list = malloc(sizeof(struct task_event) * MAXJOB);
- wcet_miss_list = malloc(sizeof(struct task_event) * MAXJOB);
- act_list = malloc(sizeof(struct task_event) * MAXJOB);
-
- /* Finite-State machine
- *
- * FS-Machine states:
-
- 0 - Start
- 1 - Context running
- 2 - Interrupt running
-
- 10 - End
-
- */
-
- for(i=0;i<MAXCONTEXT;i++) {
- context_list[i].ctx = 0;
- context_list[i].pid = PID_NO_DEF;
- }
-
- /* The start context + interrupt context */
- context_total = 2;
- current_context = 0;
- last_tsc = 0;
- context_list[0].ctx = 0;
- context_list[0].pid = PID_NO_DEF;
- context_list[1].ctx = INT_CTX;
- context_list[1].pid = INT_PID;
-
- state = 0;
-
- k = 0;
- while(!feof(input_file)) {
-
- fscanf(input_file,"%d %llu",&type,&tsc);
- k++;
-
- switch (type) {
-
- case 1:
-
- /* No par */
- break;
-
- case 2:
- case 3:
- case 4:
- case 6:
- case 7:
- case 8:
- case 10:
-
- /* 1 par */
- fscanf(input_file,"%d",&par1);
- break;
-
- case 5:
- case 9:
- case 0:
- case 20:
- case 21:
-
- /* 2 par */
- fscanf(input_file,"%d %d",&par1,&par2);
- break;
-
- }
-
- switch (type) {
-
- case 0:
- if (state != 0) Error(1,k);
- printf("EVT:Log starts at [%12llu]\n",tsc);
- last_tsc = tsc;
- log_start_tsc = tsc;
- current_nsec = 0;
-
- if (par1 == 0) Error(11,k);
- if (par2 == 0) Error(12,k);
-
- current_context = par1;
-
- for (i=0;i<context_total;i++)
- if (par1 == context_list[i].ctx) break;
- if (i == context_total) {
- context_list[context_total].ctx = par1;
- context_total++;
- }
-
- clk_per_msec = par2;
-
- exec_list[current_exec].tsc_start = tsc;
- exec_list[current_exec].nsec_start = current_nsec;
- state = 1;
- break;
-
- case 1:
- printf("EVT:Log ends at [%12llu]\n",tsc);
- exec_list[current_exec].dtsc = tsc - last_tsc;
- exec_list[current_exec].dnsec = exec_list[current_exec].dtsc * 1000000 / clk_per_msec;
- current_nsec += exec_list[current_exec].dnsec;
- exec_list[current_exec].ctx = current_context;
- current_exec++;
- last_tsc = tsc;
- log_end_tsc = tsc;
- total_nsec = current_nsec;
- state = 10;
- break;
-
- /* Int start */
- case 2:
- if (state == 0) Error(2,k);
- exec_list[current_exec].dtsc = tsc - last_tsc;
- exec_list[current_exec].dnsec = exec_list[current_exec].dtsc * 1000000 / clk_per_msec;
- current_nsec += exec_list[current_exec].dnsec;
- exec_list[current_exec].ctx = current_context;
- current_exec++;
- last_tsc = tsc;
- current_context = INT_CTX;
- exec_list[current_exec].tsc_start = tsc - log_start_tsc;
- exec_list[current_exec].nsec_start = current_nsec;
- state = 2;
- break;
-
- /* Int end */
- case 3:
- if (state != 2) Error(3,k);
- exec_list[current_exec].dtsc = tsc - last_tsc;
- exec_list[current_exec].dnsec = exec_list[current_exec].dtsc * 1000000 / clk_per_msec;
- current_nsec += exec_list[current_exec].dnsec;
- exec_list[current_exec].ctx = current_context;
- current_exec++;
- last_tsc = tsc;
- if (par1 > 16) {
- current_context = par1;
-
- for (i=0;i<context_total;i++)
- if (par1 == context_list[i].ctx) break;
- if (i == context_total) {
- context_list[context_total].ctx = par1;
- context_total++;
- }
- }
-
- exec_list[current_exec].tsc_start = tsc;
- exec_list[current_exec].nsec_start = current_nsec;
- state = 1;
- break;
-
- /* Change ctx */
- case 4:
-
- exec_list[current_exec].dtsc = tsc - last_tsc;
- exec_list[current_exec].dnsec = exec_list[current_exec].dtsc * 1000000 / clk_per_msec;
- current_nsec += exec_list[current_exec].dnsec;
- exec_list[current_exec].ctx = current_context;
- current_exec++;
- last_tsc = tsc;
- current_context = par1;
-
- for (i=0;i<context_total;i++)
- if (par1 == context_list[i].ctx) break;
- if (i == context_total) {
- context_list[context_total].ctx = par1;
- context_total++;
- }
-
- exec_list[current_exec].tsc_start = tsc;
- exec_list[current_exec].nsec_start = current_nsec;
- state = 1;
- break;
-
- /* Task create */
- case 5:
-
- for (i=0;i<context_total;i++)
- if (par1 == context_list[i].ctx) {
- context_list[i].pid = par2;
- break;
- }
- if (i == context_total) {
- context_list[context_total].ctx = par1;
- context_list[context_total].pid = par2;
- context_total++;
- }
-
- break;
-
- /* Task kill */
- case 7:
-
- for (i=0;i<context_total;i++)
- if (par1 == context_list[i].ctx) break;
- if (i == context_total) Error(5,k);
- else {
-
- kill_delta += 1000;
-
- for (k=0;k<current_endcycle;k++)
- if (endcycle_list[k].ctx == par1)
- endcycle_list[k].ctx += kill_delta;
- for (k=0;k<current_exec;k++)
- if (exec_list[k].ctx == par1)
- exec_list[k].ctx += kill_delta;
- context_list[context_total].ctx = context_list[i].ctx + kill_delta;
- context_list[context_total].pid = context_list[i].pid;
- context_total++;
-
- if (current_context == par1) current_context += kill_delta;
-
- }
-
- break;
-
- /* Task endcycle */
- case 8:
-
- for (i=0;i<context_total;i++)
- if (par1 == context_list[i].ctx) break;
- if (i == context_total) Error(4,k);
-
- endcycle_list[current_endcycle].ctx = par1;
- endcycle_list[current_endcycle].tsc = tsc;
- endcycle_list[current_endcycle].nsec = current_nsec + (tsc-last_tsc) * 1000000 / clk_per_msec;
- current_endcycle++;
-
- break;
-
- /* Task activate */
- case 6:
-
- act_list[act_total].ctx = par1;
- act_list[act_total].tsc = tsc;
- act_list[act_total].nsec = current_nsec + (tsc-last_tsc) * 1000000 / clk_per_msec;
- act_total++;
-
- break;
-
- /* Deadline miss */
- case 20:
-
- for (i=0;i<context_total;i++)
- if (par1 == context_list[i].ctx) break;
- //if (i == context_total) Error(4,k);
-
- deadline_miss_list[deadline_miss].ctx = par1;
- deadline_miss_list[deadline_miss].tsc = tsc;
- deadline_miss_list[deadline_miss].nsec = current_nsec + (tsc-last_tsc) * 1000000 / clk_per_msec;
- deadline_miss++;
-
- break;
-
- /* Wcet miss */
- case 21:
-
- for (i=0;i<context_total;i++)
- if (par1 == context_list[i].ctx) break;
- //if (i == context_total) Error(4,k);
-
- wcet_miss_list[wcet_miss].ctx = par1;
- wcet_miss_list[wcet_miss].tsc = tsc;
- wcet_miss_list[wcet_miss].nsec = current_nsec + (tsc-last_tsc) * 1000000 / clk_per_msec;
- wcet_miss++;
-
- break;
-
- /* Task id */
- case 9:
-
- for (i=0;i<context_total;i++)
- if (par1 == context_list[i].ctx) {
- context_list[i].pid = par2;
- break;
- }
- if (i == context_total) {
- context_list[context_total].ctx = par1;
- context_list[context_total].pid = par2;
- context_total++;
- }
-
- break;
-
- case 10:
-
- exec_list[current_exec].dtsc = tsc - last_tsc;
- exec_list[current_exec].dnsec = exec_list[current_exec].dtsc * 1000000 / clk_per_msec;
- current_nsec += exec_list[current_exec].dnsec;
- exec_list[current_exec].ctx = current_context;
- current_exec++;
- last_tsc = tsc;
-
- exec_list[current_exec].tsc_start = tsc;
- exec_list[current_exec].nsec_start = current_nsec;
-
- if (!skip_clk_per_msec) clk_per_msec = par1;
-
- break;
-
- }
-
- if (current_exec == MAXJOB-1) {
- printf("Too many execs...\n");
- exit(3);
- }
-
- if (current_endcycle == MAXJOB-1 || act_total == MAXJOB-1
- || deadline_miss == MAXJOB-1 || wcet_miss == MAXJOB-1) {
- printf("Too many jobs...\n");
- exit(4);
- }
-
- if (state == 10) break;
-
- }
-
- endcycle_total = current_endcycle;
- exec_total = current_exec;
-
- return k;
-
-}
-
-int task_events(int num, int *act, int *dlinemiss, int *wcetmiss) {
-
- unsigned long long i;
- int tmp = 0;
-
- *act = 0;
- *dlinemiss = 0;
- *wcetmiss = 0;
-
- tmp = 0;
- for (i=0;i<act_total;i++)
- if (act_list[i].ctx == context_list[num].ctx) tmp++;
- *act = tmp;
- tmp = 0;
- for (i=0;i<deadline_miss;i++)
- if (deadline_miss_list[i].ctx == context_list[num].ctx) tmp++;
- *dlinemiss = tmp;
- tmp = 0;
- for (i=0;i<wcet_miss;i++)
- if (wcet_miss_list[i].ctx == context_list[num].ctx) tmp++;
- *wcetmiss = tmp;
-
- return 0;
-
-}
-
-int create_job_list() {
-
- int current_job = 0, h, i, k;
- int temp_ctx;
- unsigned long long temp_nsec, endcycle_start_nsec;
- unsigned long long temp_tsc, endcycle_end_nsec;
-
- job_list = malloc(sizeof(struct ctx_exec) * MAXJOB);
-
- for (k=0;k<context_total;k++) {
-
- temp_ctx = context_list[k].ctx;
- endcycle_start_nsec = 0;
-
- for (h=0;h<endcycle_total;h++) {
-
- if (endcycle_list[h].ctx == temp_ctx) {
-
- if (endcycle_start_nsec == 0)
- endcycle_start_nsec = 0;
-
- endcycle_end_nsec = endcycle_list[h].nsec;
- temp_nsec = 0;
- temp_tsc = 0;
-
- job_list[current_job].nsec_start = 0;
-
- for(i=0;i<exec_total;i++)
- if (exec_list[i].ctx == temp_ctx) {
- if (exec_list[i].nsec_start < endcycle_end_nsec &&
- exec_list[i].nsec_start >= endcycle_start_nsec) {
- if (job_list[current_job].nsec_start == 0)
- job_list[current_job].nsec_start = exec_list[i].nsec_start;
- temp_nsec += exec_list[i].dnsec;
- temp_tsc += exec_list[i].dtsc;
- }
- }
-
- job_list[current_job].dtsc = temp_tsc;
- job_list[current_job].dnsec = temp_nsec;
- job_list[current_job].ctx = temp_ctx;
- current_job++;
-
- endcycle_start_nsec = endcycle_end_nsec;
-
- }
-
- }
-
- }
-
- job_total = current_job;
-
- return 0;
-
-}
-
-int elaborate_statistics(int num, int task_type) {
-
- char pidstr[10];
- unsigned long long tot_nsec,mean_nsec,max_nsec,min_nsec,first_nsec;
- int number,act,dlinemiss,wcetmiss;
-
- switch (context_list[num].pid) {
- case PID_NO_DEF:
- sprintf(pidstr,"NODEF");
- break;
- case INT_PID:
- sprintf(pidstr," INT");
- break;
- default:
- sprintf(pidstr,"%5d",context_list[num].pid);
- break;
- }
-
- if (task_type == BACKGROUND) {
-
- printf("Background Task CTX [%5d] PID [%s]\n",context_list[num].ctx,pidstr);
-
- stats_from_execs(num,&tot_nsec,&min_nsec,&mean_nsec,&max_nsec,&first_nsec,&number);
-
- if (number > 0) {
-
- printf(" Total Execution [%12llu ns]\n",tot_nsec);
- printf(" Mean CPU Bandwidth [%11f%c ]\n",(double)(tot_nsec)/(double)(total_nsec)*100.0,'%');
- printf(" after first exec [%11f%c ]\n",(double)(tot_nsec)/(double)(total_nsec-first_nsec)*100.0,'%');
- printf(" Execs Number [%12d ]\n",number);
- printf(" Min Exec [%12llu ns]\n",min_nsec);
- printf(" Mean Exec [%12llu ns]\n",mean_nsec);
- printf(" Max Exec [%12llu ns]\n\n",max_nsec);
-
- plot_exec_demand_function(num,pidstr);
-
- } else {
-
- printf(" Total Execution [%12llu ns]\n\n",tot_nsec);
-
- }
-
- }
-
- if (task_type == INTERRUPT) {
-
- printf("Interrupts\n");
-
- stats_from_execs(num,&tot_nsec,&min_nsec,&mean_nsec,&max_nsec,&first_nsec,&number);
-
- if (number > 0) {
-
- printf(" Total Execution [%12llu ns]\n",tot_nsec);
- printf(" Mean CPU Bandwidth [%11f%c ]\n",(double)(tot_nsec)/(double)(total_nsec)*100.0,'%');
- printf(" after first int [%11f%c ]\n",(double)(tot_nsec)/(double)(total_nsec-first_nsec)*100.0,'%');
- printf(" Interrupts Number [%12d ]\n",number);
- printf(" Min Interrupt [%12llu ns]\n",min_nsec);
- printf(" Mean Interrupt [%12llu ns]\n",mean_nsec);
- printf(" Max Interrupt [%12llu ns]\n\n",max_nsec);
-
- plot_exec_demand_function(num,pidstr);
-
- plot_exec_c_distrib(num,max_nsec,pidstr);
-
- arr_stats_from_execs(num,&min_nsec,&mean_nsec,&max_nsec);
-
- if (max_nsec > 0) {
-
- printf(" Min Arr. Delta [%12llu ns]\n",min_nsec);
- printf(" Mean Arr. Delta [%12llu ns]\n",mean_nsec);
- printf(" Max Arr. Delta [%12llu ns]\n\n",max_nsec);
-
- plot_exec_arr_distrib(num,max_nsec,pidstr);
-
- }
-
- } else {
-
- printf(" Total Execution [%12llu ns]\n\n",tot_nsec);
-
- }
-
- }
-
- if (task_type == PERIODICAL) {
-
- printf("Periodical Task CTX [%5d] PID [%s]\n",context_list[num].ctx,pidstr);
-
- stats_from_execs(num,&tot_nsec,&min_nsec,&mean_nsec,&max_nsec,&first_nsec,&number);
-
- if (number > 0) {
-
- printf(" Total Execution [%12llu ns]\n",tot_nsec);
- printf(" Mean CPU Bandwidth [%11f%c ]\n",(double)(tot_nsec)/(double)(total_nsec)*100.0,'%');
- printf(" after first exec [%11f%c ]\n",(double)(tot_nsec)/(double)(total_nsec-first_nsec)*100.0,'%');
- printf(" Execs Number [%12d ]\n",number);
- printf(" Min Exec [%12llu ns]\n",min_nsec);
- printf(" Mean Exec [%12llu ns]\n",mean_nsec);
- printf(" Max Exec [%12llu ns]\n\n",max_nsec);
-
- plot_exec_demand_function(num,pidstr);
-
- stats_from_jobs(num,&tot_nsec,&min_nsec,&mean_nsec,&max_nsec,&first_nsec,&number);
-
- printf(" Total Job Exec [%12llu ns]\n",tot_nsec);
- printf(" Jobs Number [%12d ]\n",number);
- printf(" Min Job [%12llu ns]\n",min_nsec);
- printf(" Mean Job [%12llu ns]\n",mean_nsec);
- printf(" Max Job [%12llu ns]\n\n",max_nsec);
-
- task_events(num,&act,&dlinemiss,&wcetmiss);
-
- printf(" Activations [%12d ]\n",act);
- printf(" Deadline Miss [%12d ]\n",dlinemiss);
- printf(" Wcet Miss [%12d ]\n\n",wcetmiss);
-
- plot_job_c_distrib(num,max_nsec,pidstr);
-
- arr_stats_from_jobs(num,&min_nsec,&mean_nsec,&max_nsec);
-
- if (max_nsec > 0) {
-
- printf(" Min Arr. Delta [%12llu ns]\n",min_nsec);
- printf(" Mean Arr. Delta [%12llu ns]\n",mean_nsec);
- printf(" Max Arr. Delta [%12llu ns]\n\n",max_nsec);
-
- plot_job_arr_distrib(num,max_nsec,pidstr);
-
- }
-
- } else {
-
- printf(" Total Execution [%12llu ns]\n\n",tot_nsec);
-
- }
-
- }
-
- return 0;
-
-}
-
-int main(int argc, char *argv[]) {
-
- int events_total,k,i;
- int task_type;
-
- unsigned long long temp_nsec;
-
- srand(getpid());
-
- if (argc < 2) {
- printf("%s: Enter the input file name \"%s filename.pwc [clk_per_msec]\"\n",argv[0],argv[0]);
- exit(1);
- }
-
- printf("\n");
-
- if (argc == 3) {
- skip_clk_per_msec = 1;
- clk_per_msec = atoi(argv[2]);
- printf("Clk/msec = %u\n\n",clk_per_msec);
- }
-
- events_total = create_lists(argv[1]);
-
- total_tsc = log_end_tsc - log_start_tsc;
-
- printf("\nTotal dTSC [%12llu] ns [%12llu]\n", total_tsc, total_nsec);
- printf("Events [%12d]\n",events_total);
- printf("Execs [%12d]\n",exec_total);
- printf("EndCycles [%12d]\n",endcycle_total);
- printf("Dline miss [%12d]\n",deadline_miss);
- printf("WCET miss [%12d]\n",wcet_miss);
-
- printf("\nPreemption Removing.... \n");
-
- /* Remove preemption from the computation time */
- create_job_list();
-
- temp_nsec = 0;
- for (i=0;i<job_total;i++)
- temp_nsec += job_list[i].dnsec;
-
- printf("Total nsec of jobs [%12llu]\n",temp_nsec);
-
- temp_nsec = 0;
- for (i=0;i<exec_total;i++)
- temp_nsec += exec_list[i].dnsec;
-
- printf("Total nsec of exec [%12llu]\n",temp_nsec);
- printf("Total nsec considering last clk/msec [%12llu]\n",total_tsc*1000000/clk_per_msec);
-
- printf("\nCompute Task Statistics.... \n\n");
-
- for (i=0;i<context_total;i++) {
-
- task_type = BACKGROUND;
-
- if (context_list[i].ctx == INT_CTX) task_type = INTERRUPT;
-
- for (k=0;k<job_total;k++)
- if (job_list[k].ctx == context_list[i].ctx) {
- task_type = PERIODICAL;
- break;
- }
-
- elaborate_statistics(i,task_type);
-
- }
-
- return 0;
-
-}
-
Index: rel_1_5_beta1/newtrace/utils/example_results
===================================================================
--- rel_1_5_beta1/newtrace/utils/example_results (revision 1557)
+++ rel_1_5_beta1/newtrace/utils/example_results (nonexistent)
@@ -1,382 +0,0 @@
-This is an example file from "extract" utility,
-some comments are added to make it clearer.
-
-Jumpball demo (ecp) statistics
-
-Clk/msec = 2202900 (CPU Athlon 64 3200+)
-
-EVT:Log starts at [147140694139]
-EVT:Log ends at [196093930505]
-
-Total dTSC [ 48953236366] ns [ 22222113928]
-Events [ 144915]
-Execs [ 131127]
-EndCycles [ 13759]
-
-Preemption Removing....
-
-Total nsec of jobs [ 3604781671]
-Total nsec of exec [ 22222113928]
-Total nsec considering last clk/msec [ 22222178204]
-
-Compute Task Statistics....
-
-Interrupts
- Total Execution [ 29399348 ns]
- Mean CPU Bandwidth [ 0.132298% ]
- after first int [ 0.132298% ]
- Interrupts Number [ 45842 ]
- Min Interrupt [ 189 ns]
- Mean Interrupt [ 641 ns]
- Max Interrupt [ 13056 ns]
-
- Min Arr. Delta [ 1881 ns]
- Mean Arr. Delta [ 484763 ns]
- Max Arr. Delta [ 10000131 ns]
-
-- System Interrupts: All the hardware interrupts
-
-Periodical Task CTX [ 256] PID [ 9]
- Total Execution [ 276253550 ns]
- Mean CPU Bandwidth [ 1.243147% ]
- after first exec [ 1.630252% ]
- Execs Number [ 9335 ]
- Min Exec [ 240 ns]
- Mean Exec [ 29593 ns]
- Max Exec [ 91661 ns]
-
- Total Job Exec [ 276253550 ns]
- Jobs Number [ 1695 ]
- Min Job [ 162239 ns]
- Mean Job [ 162981 ns]
- Max Job [ 164505 ns]
-
- Min Arr. Delta [ 4411818 ns]
- Mean Arr. Delta [ 9999965 ns]
- Max Arr. Delta [ 15588054 ns]
-
-- Task 9 "palla0": Soft Task. The CTX 256 was at the beginning assigned
-to the "main" task. After the task death, the context was free until the
-new "palla0" task was created. "main" task context number is converted to
-1256 to make independent statistics.
-
-Background Task CTX [ 264] PID [ 1]
- Total Execution [ 18583350900 ns]
- Mean CPU Bandwidth [ 83.625487% ]
- after first exec [ 83.669980% ]
- Execs Number [ 16908 ]
- Min Exec [ 515 ns]
- Mean Exec [ 1099086 ns]
- Max Exec [ 9836143 ns]
-
-- Task 1 "dummy": The dummy task, it represents the system
-idle time, near 83% as mean value
-
-Background Task CTX [ 272] PID [ 2]
- Total Execution [ 926 ns]
- Mean CPU Bandwidth [ 0.000004% ]
- after first exec [ 100.000000% ]
- Execs Number [ 1 ]
- Min Exec [ 926 ns]
- Mean Exec [ 926 ns]
- Max Exec [ 926 ns]
-
-- Task 2 "shutdown task": Shutting down the system. It closes
-the tracer too (this is the reason of only 3 us exec time).
-
-Periodical Task CTX [ 280] PID [ 3]
- Total Execution [ 1445626 ns]
- Mean CPU Bandwidth [ 0.006505% ]
- after first exec [ 0.006512% ]
- Execs Number [ 461 ]
- Min Exec [ 2583 ns]
- Mean Exec [ 3135 ns]
- Max Exec [ 4206 ns]
-
- Total Job Exec [ 1445626 ns]
- Jobs Number [ 461 ]
- Min Job [ 2583 ns]
- Mean Job [ 3135 ns]
- Max Job [ 4206 ns]
-
- Min Arr. Delta [ 2021387 ns]
- Mean Arr. Delta [ 48260445 ns]
- Max Arr. Delta [ 50010461 ns]
-
-- Task 3 "interrupt server": The interrupt context
-
-Periodical Task CTX [ 288] PID [ 4]
- Total Execution [ 59506 ns]
- Mean CPU Bandwidth [ 0.000268% ]
- after first exec [ 0.000351% ]
- Execs Number [ 43 ]
- Min Exec [ 566 ns]
- Mean Exec [ 1383 ns]
- Max Exec [ 5850 ns]
-
- Total Job Exec [ 59506 ns]
- Jobs Number [ 17 ]
- Min Job [ 1217 ns]
- Mean Job [ 3500 ns]
- Max Job [ 9358 ns]
-
- Min Arr. Delta [ 65650086 ns]
- Mean Arr. Delta [ 1059090305 ns]
- Max Arr. Delta [ 7168628909 ns]
-
-- Task 4 "key task": The task for keyboard handler
-
-Periodical Task CTX [ 296] PID [ 5]
- Total Execution [ 1201275196 ns]
- Mean CPU Bandwidth [ 5.405765% ]
- after first exec [ 5.406917% ]
- Execs Number [ 825 ]
- Min Exec [ 11133 ns]
- Mean Exec [ 1456091 ns]
- Max Exec [ 4500554 ns]
-
- Total Job Exec [ 1201275196 ns]
- Jobs Number [ 223 ]
- Min Job [ 5296076 ns]
- Mean Job [ 5386884 ns]
- Max Job [ 5515636 ns]
-
- Min Arr. Delta [ 99757430 ns]
- Mean Arr. Delta [ 100006689 ns]
- Max Arr. Delta [ 101061945 ns]
-
-- Task 5 "jetctrl" : Soft task
-
-Periodical Task CTX [ 304] PID [ 6]
- Total Execution [ 4254996 ns]
- Mean CPU Bandwidth [ 0.019148% ]
- after first exec [ 0.019156% ]
- Execs Number [ 446 ]
- Min Exec [ 1111 ns]
- Mean Exec [ 9540 ns]
- Max Exec [ 18912 ns]
-
- Total Job Exec [ 4254996 ns]
- Jobs Number [ 223 ]
- Min Job [ 18971 ns]
- Mean Job [ 19080 ns]
- Max Job [ 21052 ns]
-
- Min Arr. Delta [ 95501610 ns]
- Mean Arr. Delta [ 99979413 ns]
- Max Arr. Delta [ 102456106 ns]
-
-- Task 6 "jetdummy" : Soft Task
-
-Periodical Task CTX [ 312] PID [ 7]
- Total Execution [ 341582118 ns]
- Mean CPU Bandwidth [ 1.537127% ]
- after first exec [ 1.537767% ]
- Execs Number [ 936 ]
- Min Exec [ 520 ns]
- Mean Exec [ 364938 ns]
- Max Exec [ 1300811 ns]
-
- Total Job Exec [ 341582118 ns]
- Jobs Number [ 223 ]
- Min Job [ 1530776 ns]
- Mean Job [ 1531758 ns]
- Max Job [ 1533632 ns]
-
- Min Arr. Delta [ 95494710 ns]
- Mean Arr. Delta [ 99979490 ns]
- Max Arr. Delta [ 102948741 ns]
-
-- Task 7 "jetslice": Soft Task
-
-Periodical Task CTX [ 320] PID [ 8]
- Total Execution [ 361875645 ns]
- Mean CPU Bandwidth [ 1.628448% ]
- after first exec [ 1.628782% ]
- Execs Number [ 6750 ]
- Min Exec [ 2540 ns]
- Mean Exec [ 53611 ns]
- Max Exec [ 92451 ns]
-
- Total Job Exec [ 361875645 ns]
- Jobs Number [ 2222 ]
- Min Job [ 162349 ns]
- Mean Job [ 162860 ns]
- Max Job [ 166904 ns]
-
- Min Arr. Delta [ 9989352 ns]
- Mean Arr. Delta [ 9999971 ns]
- Max Arr. Delta [ 10010719 ns]
-
-- Task 8 "pallaEDF": Hard Task
-
-Background Task CTX [ 1256] PID [ 0]
- Total Execution [ 4573409 ns]
- Mean CPU Bandwidth [ 0.020580% ]
- after first exec [ 0.020580% ]
- Execs Number [ 6 ]
- Min Exec [ 7166 ns]
- Mean Exec [ 762234 ns]
- Max Exec [ 2000656 ns]
-
-- Task 0 "main": Main task was killed, so the original context
-number 256 became 1256
-
-Periodical Task CTX [ 328] PID [ 10]
- Total Execution [ 270267226 ns]
- Mean CPU Bandwidth [ 1.216208% ]
- after first exec [ 1.629184% ]
- Execs Number [ 8846 ]
- Min Exec [ 241 ns]
- Mean Exec [ 30552 ns]
- Max Exec [ 91592 ns]
-
- Total Job Exec [ 270267226 ns]
- Jobs Number [ 1659 ]
- Min Job [ 162232 ns]
- Mean Job [ 162909 ns]
- Max Job [ 164270 ns]
-
- Min Arr. Delta [ 9988124 ns]
- Mean Arr. Delta [ 9999982 ns]
- Max Arr. Delta [ 10032718 ns]
-
-- Task 10 "palla1": Soft Task
-
-Periodical Task CTX [ 336] PID [ 11]
- Total Execution [ 264105857 ns]
- Mean CPU Bandwidth [ 1.188482% ]
- after first exec [ 1.630505% ]
- Execs Number [ 8949 ]
- Min Exec [ 239 ns]
- Mean Exec [ 29512 ns]
- Max Exec [ 91573 ns]
-
- Total Job Exec [ 264105857 ns]
- Jobs Number [ 1620 ]
- Min Job [ 162271 ns]
- Mean Job [ 163028 ns]
- Max Job [ 164299 ns]
-
- Min Arr. Delta [ 9989381 ns]
- Mean Arr. Delta [ 9999964 ns]
- Max Arr. Delta [ 10010620 ns]
-
-- Task 11 "palla2": Soft Task
-
-Periodical Task CTX [ 344] PID [ 12]
- Total Execution [ 257971822 ns]
- Mean CPU Bandwidth [ 1.160879% ]
- after first exec [ 1.634880% ]
- Execs Number [ 10631 ]
- Min Exec [ 238 ns]
- Mean Exec [ 24265 ns]
- Max Exec [ 63831 ns]
-
- Total Job Exec [ 257971822 ns]
- Jobs Number [ 1578 ]
- Min Job [ 162684 ns]
- Mean Job [ 163480 ns]
- Max Job [ 164782 ns]
-
- Min Arr. Delta [ 9989399 ns]
- Mean Arr. Delta [ 9999963 ns]
- Max Arr. Delta [ 10010599 ns]
-
-- Task 12 "palla3": Soft Task
-
-Periodical Task CTX [ 352] PID [ 13]
- Total Execution [ 250406676 ns]
- Mean CPU Bandwidth [ 1.126836% ]
- after first exec [ 1.630586% ]
- Execs Number [ 8461 ]
- Min Exec [ 240 ns]
- Mean Exec [ 29595 ns]
- Max Exec [ 91753 ns]
-
- Total Job Exec [ 250406676 ns]
- Jobs Number [ 1536 ]
- Min Job [ 162225 ns]
- Mean Job [ 163025 ns]
- Max Job [ 164557 ns]
-
- Min Arr. Delta [ 3184436 ns]
- Mean Arr. Delta [ 9999970 ns]
- Max Arr. Delta [ 16815492 ns]
-
-- Task 13 "palla4": Soft Task
-
-Periodical Task CTX [ 360] PID [ 14]
- Total Execution [ 132048658 ns]
- Mean CPU Bandwidth [ 0.594222% ]
- after first exec [ 1.631180% ]
- Execs Number [ 4462 ]
- Min Exec [ 244 ns]
- Mean Exec [ 29594 ns]
- Max Exec [ 91702 ns]
-
- Total Job Exec [ 132048658 ns]
- Jobs Number [ 810 ]
- Min Job [ 162240 ns]
- Mean Job [ 163023 ns]
- Max Job [ 164337 ns]
-
- Min Arr. Delta [ 4934088 ns]
- Mean Arr. Delta [ 9999968 ns]
- Max Arr. Delta [ 15066505 ns]
-
-- Task 14 "palla5": Soft Task
-
-Periodical Task CTX [ 368] PID [ 15]
- Total Execution [ 125033245 ns]
- Mean CPU Bandwidth [ 0.562652% ]
- after first exec [ 1.632032% ]
- Execs Number [ 4239 ]
- Min Exec [ 242 ns]
- Mean Exec [ 29495 ns]
- Max Exec [ 91828 ns]
-
- Total Job Exec [ 125033245 ns]
- Jobs Number [ 767 ]
- Min Job [ 162266 ns]
- Mean Job [ 163015 ns]
- Max Job [ 164284 ns]
-
- Min Arr. Delta [ 9187114 ns]
- Mean Arr. Delta [ 9999969 ns]
- Max Arr. Delta [ 10802835 ns]
-
-- Task 15 "palla6": Soft Task
-
-Periodical Task CTX [ 376] PID [ 16]
- Total Execution [ 118201550 ns]
- Mean CPU Bandwidth [ 0.531910% ]
- after first exec [ 1.631159% ]
- Execs Number [ 3985 ]
- Min Exec [ 244 ns]
- Mean Exec [ 29661 ns]
- Max Exec [ 91622 ns]
-
- Total Job Exec [ 118201550 ns]
- Jobs Number [ 725 ]
- Min Job [ 162270 ns]
- Mean Job [ 163036 ns]
- Max Job [ 164089 ns]
-
- Min Arr. Delta [ 7797571 ns]
- Mean Arr. Delta [ 9999955 ns]
- Max Arr. Delta [ 12192001 ns]
-
-- Task 16 "palla7": Soft Task
-
-Background Task CTX [ 248] PID [NODEF]
- Total Execution [ 7674 ns]
- Mean CPU Bandwidth [ 0.000035% ]
- after first exec [ 72.711768% ]
- Execs Number [ 1 ]
- Min Exec [ 7674 ns]
- Mean Exec [ 7674 ns]
- Max Exec [ 7674 ns]
-
-- Global context: the kernel context
-
Index: rel_1_5_beta1/newtrace/utils/list.c
===================================================================
--- rel_1_5_beta1/newtrace/utils/list.c (revision 1557)
+++ rel_1_5_beta1/newtrace/utils/list.c (nonexistent)
@@ -1,88 +0,0 @@
-/*
- * Project: S.Ha.R.K.
- *
- * Coordinators:
- * Giorgio Buttazzo <giorgio@sssup.it>
- * Paolo Gai <pj@gandalf.sssup.it>
- *
- * Authors :
- * Giacomo Guidi <giacomo@gandalf.sssup.it>
- *
- * ReTiS Lab (Scuola Superiore S.Anna - Pisa - Italy)
- *
- * http://www.sssup.it
- * http://retis.sssup.it
- * http://shark.sssup.it
- */
-
-#include <stdio.h>
-#include <unistd.h>
-#include <stdlib.h>
-#include <string.h>
-
-#define READ_BUFFER 2000
-#define DELTA_BUFFER 100
-
-int main(int argc, char *argv[])
-{
-
- char buffer[READ_BUFFER+DELTA_BUFFER];
- void *p, *last;
- int n,delta,size;
-
- unsigned long long ev = 0;
-
- FILE *input_file;
-
- if (argc < 2) {
- printf("%s: Enter the input file name [%s filename]\n",argv[0],argv[0]);
- exit(1);
- }
-
- input_file = fopen(argv[1],"rb");
-
- last = buffer + READ_BUFFER;
-
- while(!feof(input_file)) {
-
- //move remaining byte
- delta = (unsigned int)(buffer) + READ_BUFFER - (unsigned int)(last);
- if (delta > 0) memcpy(buffer,last,delta);
-
- n = fread(buffer+delta,1,READ_BUFFER+10,input_file);
- fseek(input_file,-(delta+10),SEEK_CUR);
-
- p = buffer;
-
- while ((unsigned int)(p) + 16 <= (unsigned int)(buffer + READ_BUFFER) &&
- (unsigned int)(p) + 16 <= (unsigned int)(buffer + n + delta)) {
-
- printf("%08d Type = %02x ",(unsigned int)ev,*(unsigned short int *)(p));
-
- printf("TSC = %08x:%08x",*(unsigned int *)(p+4),*(unsigned int *)(p+8));
-
- size = 16;
-
- printf(" Par1 = %d",*(unsigned short int *)(p+2));
- printf(" Par2 = %d\n",*(unsigned int *)(p+12));
-
- ev++;
-
- p += 16;
-
- if ((unsigned int)(p) + 10 > (unsigned int)(buffer + n + delta)) break;
-
- last = p;
-
- }
-
- if ((unsigned int)(p) + 10 > (unsigned int)(buffer + n + delta)) break;
-
- }
-
- fclose(input_file);
-
- return 0;
-
-}
-
Index: rel_1_5_beta1/newtrace/utils/pwcet_gen.c
===================================================================
--- rel_1_5_beta1/newtrace/utils/pwcet_gen.c (revision 1557)
+++ rel_1_5_beta1/newtrace/utils/pwcet_gen.c (nonexistent)
@@ -1,239 +0,0 @@
-/*
- * Project: S.Ha.R.K.
- *
- * Coordinators:
- * Giorgio Buttazzo <giorgio@sssup.it>
- * Paolo Gai <pj@gandalf.sssup.it>
- *
- * Authors :
- * Giacomo Guidi <giacomo@gandalf.sssup.it>
- *
- * ReTiS Lab (Scuola Superiore S.Anna - Pisa - Italy)
- *
- * http://www.sssup.it
- * http://retis.sssup.it
- * http://shark.sssup.it
- */
-
-#include <stdio.h>
-#include <unistd.h>
-#include <stdlib.h>
-#include <string.h>
-
-#include <FTrace.h>
-
-#define READ_BUFFER 2000
-#define DELTA_BUFFER 100
-
-int main(int argc, char *argv[])
-{
-
- char buffer[READ_BUFFER+DELTA_BUFFER];
- void *p, *last;
- int n,delta,size,tsc;
-
- unsigned long long ev = 0, tsc_value;
-
- FILE *input_file;
-
- if (argc < 2) {
- printf("%s: Enter the input file name [%s filename]\n",argv[0],argv[0]);
- exit(1);
- }
-
- input_file = fopen(argv[1],"rb");
-
- last = buffer + READ_BUFFER;
-
- while(!feof(input_file)) {
-
- //move remaining byte
- delta = (unsigned int)(buffer) + READ_BUFFER - (unsigned int)(last);
- if (delta > 0) memcpy(buffer,last,delta);
-
- n = fread(buffer+delta,1,READ_BUFFER+10,input_file);
- fseek(input_file,-(delta+10),SEEK_CUR);
-
- p = buffer;
-
- while ((unsigned int)(p) + 16 <= (unsigned int)(buffer + READ_BUFFER) &&
- (unsigned int)(p) + 16 <= (unsigned int)(buffer + n + delta)) {
-
- tsc = 0;
-
- switch (*(unsigned short int *)(p) & 0x00FF) {
-
- case FTrace_EVT_ipoint:
- printf("%d ",*(unsigned short int *)(p+2));
- tsc = 1;
- break;
-
- /* Tracer start */
- case FTrace_EVT_trace_start:
- printf("0 ");
- tsc = 1;
- break;
-
- /* Tracer stop */
- case FTrace_EVT_trace_stop:
- printf("1 ");
- tsc = 1;
- break;
-
- /* Interrupt start (int num) */
- case FTrace_EVT_timer_wakeup_start:
- case FTrace_EVT_interrupt_start:
- printf("2 ");
- tsc = 1;
- break;
-
- /* Interrupt Stop (int num, or context num is int 3) */
- case FTrace_EVT_timer_wakeup_end:
- case FTrace_EVT_interrupt_end:
- printf("3 ");
- tsc = 1;
- break;
-
- /* Context to (context num) */
- case FTrace_EVT_context_switch:
- printf("4 ");
- tsc = 1;
- break;
-
- /* Task Create (context num, pid num) */
- case FTrace_EVT_task_create:
- printf("5 ");
- tsc = 1;
- break;
-
- /* Task Activate (context num) */
- case FTrace_EVT_task_activate:
- printf("6 ");
- tsc = 1;
- break;
-
- /* Task End (context num) */
- case FTrace_EVT_task_end:
- printf("7 ");
- tsc = 1;
- break;
-
- /* Task End-Cycle (context num) */
- case FTrace_EVT_task_end_cycle:
- printf("8 ");
- tsc = 1;
- break;
-
- /* Task Context - PID declaration */
- case FTrace_EVT_id:
- printf("9 ");
- tsc = 1;
- break;
-
- case FTrace_EVT_cycles_per_msec:
- printf("10 ");
- tsc = 1;
- break;
-
- case FTrace_EVT_task_deadline_miss:
- printf("20 ");
- tsc = 1;
- break;
-
- case FTrace_EVT_task_wcet_violation:
- printf("21 ");
- tsc = 1;
- break;
-
- }
-
- tsc_value = (unsigned long long)(*(unsigned int *)(p+4)) << 32;
- tsc_value += (unsigned long long)(*(unsigned int *)(p+8));
-
- if (tsc == 1) {
-
- printf("%llu ",tsc_value);
-
- switch (*(unsigned short int *)(p) & 0x00FF) {
-
- case FTrace_EVT_trace_start:
- printf("%d %d ",*(unsigned short int *)(p+2),*(unsigned int *)(p+12));
- break;
-
- case FTrace_EVT_interrupt_start:
- printf("%d ",*(unsigned short int *)(p+2));
- break;
-
- case FTrace_EVT_timer_wakeup_start:
- printf("%d ",0);
- break;
-
- case FTrace_EVT_timer_wakeup_end:
- case FTrace_EVT_interrupt_end:
- printf("%d ",*(unsigned short int *)(p+2));
- break;
-
- case FTrace_EVT_context_switch:
- printf("%d ",*(unsigned short int *)(p+2));
- break;
-
- case FTrace_EVT_task_create:
- printf("%d %d",*(unsigned short int *)(p+2),*(unsigned int *)(p+12));
- break;
-
- case FTrace_EVT_task_deadline_miss:
- printf("%d %d",*(unsigned short int *)(p+2),*(unsigned int *)(p+12));
- break;
-
- case FTrace_EVT_task_wcet_violation:
- printf("%d %d",*(unsigned short int *)(p+2),*(unsigned int *)(p+12));
- break;
-
- case FTrace_EVT_task_activate:
- printf("%d ",*(unsigned short int *)(p+2));
- break;
-
- case FTrace_EVT_task_end_cycle:
- printf("%d ",*(unsigned short int *)(p+2));
- break;
-
- case FTrace_EVT_task_end:
- printf("%d ",*(unsigned short int *)(p+2));
- break;
-
- case FTrace_EVT_id:
- printf("%d %d",*(unsigned short int *)(p+2),*(unsigned int *)(p+12));
- break;
-
- case FTrace_EVT_cycles_per_msec:
- printf("%d ",*(unsigned int *)(p+12));
- break;
-
- }
-
- printf("\n");
-
- }
-
- size = 16;
-
- ev++;
-
- p += 16;
-
- if ((unsigned int)(p) + 10 > (unsigned int)(buffer + n + delta)) break;
-
- last = p;
-
- }
-
- if ((unsigned int)(p) + 10 > (unsigned int)(buffer + n + delta)) break;
-
- }
-
- fclose(input_file);
-
- return 0;
-
-}
-
Index: rel_1_5_beta1/newtrace/utils/README
===================================================================
--- rel_1_5_beta1/newtrace/utils/README (revision 1557)
+++ rel_1_5_beta1/newtrace/utils/README (nonexistent)
@@ -1,19 +0,0 @@
-Utility usage:
-
-1) udpdump: ./udpdump dumptest
-
- - It receives all the UDP tracer packets,
- saving them inside the "dumptest" file
-
-2) pwcet_gen: ./pwcet_gen dumptest > dumptest.pwc
-
- - It converts the binary file to a text
- version with only significative tracer events
-
-3) extract: ./extract dumptest.pwc
-
- - It shows all the recorded tasks main
- statistics, usign also "gnuplot" to display
- execution time distributions, inter-arrival times,
- and task demand functions.
-
Index: rel_1_5_beta1/newtrace/utils/makefile
===================================================================
--- rel_1_5_beta1/newtrace/utils/makefile (revision 1557)
+++ rel_1_5_beta1/newtrace/utils/makefile (nonexistent)
@@ -1,36 +0,0 @@
-#
-# util_linux -> compiles the tracer utilities under Linux
-#
-
-ifndef BASE
-BASE=../../..
-endif
-
-.PHONY: util_dos util_linux clean
-
-all:
- @echo Targets: util_dos util_linux clean
- @echo Note: udpdump and list are available only under linux
-
-util_linux: udpdump list pwcet_gen extract
-
-udpdump: udpdump.c
- gcc -Wimplicit-function-declaration -Wall -ggdb\
- -I$(BASE)/tracer/include -I$(BASE)/oslib udpdump.c -o udpdump
-
-list: list.c
- gcc -Wimplicit-function-declaration -Wall -ggdb\
- -I$(BASE)/tracer/include -I$(BASE)/oslib list.c -o list
-
-pwcet_gen: pwcet_gen.c
- gcc -Wimplicit-function-declaration -Wall -ggdb\
- -I$(BASE)/tracer/include -I$(BASE)/oslib pwcet_gen.c -o pwcet_gen
-
-extract: extract.c
- gcc -Wimplicit-function-declaration -Wall -ggdb -lm\
- -I$(BASE)/tracer/include -I$(BASE)/oslib extract.c -o extract
-
-clean:
- rm -rf *.o udpdump list pwcet_gen extract
-
-
Index: rel_1_5_beta1/newtrace/utils/test
===================================================================
--- rel_1_5_beta1/newtrace/utils/test (revision 1557)
+++ rel_1_5_beta1/newtrace/utils/test (nonexistent)
@@ -1,919 +0,0 @@
- ®'¿¨{›`Á(¿¨`*¿¨`?+¿¨`Ž,¿¨` À-¿¨(Á¨(!Á¨ ,Á¨ W8Á¨’($:Á¨BÁ¨‚(OÁ¨( ŒSÁ¨(ÂXÁ¨Ÿ€Á¨ËïÁ¨b( õÁ¨‚,ùÁ¨ 0ûÁ¨ĨBHV¨=d¨‚Ih¨'j¨+4tø¨i‚ø¨ “Šø¨‚͏ø¨;Y˜ø¨ ¶ø¨bؽø¨‚PÁø¨lÂø¨+ -ù¨ Û1ù¨ B4ù¨’(n5ù¨‚("8ù¨( ï:ù¨;(
->ù¨è˜ù¨>›ù¨b(àœù¨‚¯žù¨ǟù¨+˜›0©;¦Ÿ0©+“=1© Ô?1© B1©’(>C1©‚(ÈE1©( uG1©;({I1©¶ž1©Ù 1©b(£1©‚ä1©Ð¥1©+€Oi© ÂQi© Ti©’((Ui©‚(ˆWi©(  Yi©;(ÿZi©§¯i©¥±i©b(ɳi©‚µi©Ÿ¶i©+%c¡© Xe¡© Œg¡©’(°h¡©‚(k¡©( ’l¡©;(ˆn¡©á©öÄ¡©b(Ç¡©‚ÌÈ¡©ÙÉ¡©+uÙ© MwÙ© ŸyÙ©’(¸zÙ©‚( }Ù©( Œ~Ù©;(œ€Ù©DÕÙ©5×Ù©b(½ØÙ©‚rÚÙ©ÛÙ©+Ϫ Òª Ôª‚ïÖª;Úª ¡ãªb.窂Ñèªàéª+ˇª ,Šª oŒª’(£ª‚(ª( Á‘ª;(ô“ª§éªìëªb(síª‚2ïªAðª+èHª;¥êHª+>›Iª ‘Iª ֟Iª’(ú Iª‚(‹£Iª( 7¥Iª;(1§IªüIªþIªb(FJª‚Jª -Jª+3®ª p°ª IJª’(볁ª‚(K¶ª( Í·ª;(¾¹ª3‚ª%‚ªb(I‚ª‚
-‚ª‚ª+6À¹ª h¹ª  Ä¹ª’(¸Å¹ª‚(ȹª( ™É¹ª;(ŠË¹ª& ºª"ºªb(;$ºª‚ò%ºªÿ&ºª+”Óñª ÑÕñª 'Øñª’(CÙñª‚(–Ûñª( Ýñª;( -ßñª˜3òªŒ5òªb(7òª‚Æ8òªÕ9òª+ü+)«¹.)« å0)«‚³3)«;Ñ6)« Q@)«bœC)«‚?E)«NF)«+úå)« [è)« Cë)«’(Wì)«‚(°î)«( ^ð)«;(‹ò)«JH*«°J*«b(8L*«‚ýM*« O*«+êCa«;Fa«+—øa« Øúa« ýa«’(:þa«‚(b«( (b«;(,b«ÍXb«ÌZb«b(ü\b«‚±^b«Í_b«+R š« “š« ך«’(èš«‚(Hš«( Éš«;(ºš«<lš«-nš«b(Qpš«‚rš«sš«+?Ò« m Ò« ¡"Ò«’(¹#Ò«‚(&Ò«( ™'Ò«;()Ò«÷}Ò«éÒ«b( -‚Ò«‚ÃҫЄҫ+e1
-¬ ¦3
-¬ í5
-¬’(ø6
-¬‚(K9
-¬( Ì:
-¬;(Î<
-¬t‘
-¬h“
-¬b(ð”
-¬‚§–
-¬¶—
-¬+I‹A¬
-ŽA¬ A¬‚גA¬;ø•A¬ aŸA¬b©¢A¬‚X¤A¬g¥A¬+°CB¬  -FB¬ lHB¬’(–IB¬‚(õKB¬( ¤MB¬;(ÃOB¬+¥B¬n§B¬b(ç¨B¬‚¦ªB¬µ«B¬+‰£y¬;,¦y¬+ÆVz¬  Yz¬ C[z¬’(Z\z¬‚(¸^z¬( U`z¬;(Zbz¬.·z¬S¹z¬b(y»z¬‚3½z¬O¾z¬+hi²¬ °k²¬ n²¬’(8o²¬‚(×q²¬( is²¬;(Zu²¬¥É²¬Ó˲¬b(⬂µÏ²¬Äв¬+`}ê¬ ’ê¬ ׁꬒ(û‚ꬂ(~…ê¬( ‡ê¬;(õˆê¬QÝê¬Gßê¬b(káꬂ"ãê¬/äê¬+X"­ •‘"­ à“"­’(ü”"­‚(O—"­( ј"­;(ƚ"­ï"­ñ"­b(ºò"­‚lô"­{õ"­+ôèY­±ëY­ ÉíY­‚•ðY­;³óY­ #ýY­biZ­‚ Z­Z­+Ü¢Z­ >¥Z­ ”§Z­’(¨¨Z­‚(«Z­( ¬Z­;(ήZ­[­{[­b(þ[­‚à [­Ò
-[­+$’­;Ç’­+ѵ’­ ¸’­ Pº’­’(g»’­‚(º½’­( U¿’­;([Á’­á“­Ý“­b(“­‚Ç“­ã“­+ïÇÊ­ 0ÊÊ­ tÌÊ­’(…ÍÊ­‚(åÏÊ­( fÑÊ­;(YÓÊ­§'Ë­›)Ë­b(Þ+Ë­‚‘-Ë­ .Ë­+Û® IÝ® }ß®’(•à®‚(öâ®( wä®;(h殜:®<®b(Ó>®‚€@®A®+î:® Qð:® ˜ò:®’(£ó:®‚(öõ:®( w÷:®;(yù:®ÔM;®ÅO;®b(lQ;®‚S;®.T;®+7Fr®ÿHr®  Kr®‚ÖMr®;õPr® ¿[r®b_r®‚¨`r®·ar®+s® {s® Ás®’(ës®‚(Js®( ë s®;( s®Aas®…cs®b(es®‚Çfs®Ögs®+/^ª®;Ò`ª®+Ü«® !«® d«®’(‰«®‚(Ü«®( w«®;(q«®)s«®-u«®b(bw«®‚y«®)z«®+­&ã® ê(ã® 3+㮒(Z,㮂(º.ã®( <0ã®;(-2ã®—†ã®‰ˆã®b(̊㮂yŒã®ˆã®+š8¯ Ì:¯ =¯’(>¯‚({@¯( þA¯;(óC¯n˜¯_š¯b(¢œ¯‚Yž¯fŸ¯+ÜKS¯ NS¯ dPS¯’(€QS¯‚(ÓSS¯( UUS¯;(FWS¯ЫS¯Ä­S¯b(k¯S¯‚±S¯,²S¯+4¤Š¯õ¦Š¯  -©Š¯‚᫊¯;ý®Š¯ ‚¹Š¯bȼŠ¯‚k¾Š¯z¿Š¯+'^‹¯ ˆ`‹¯ Øb‹¯’(ìc‹¯‚(Ef‹¯( ág‹¯;(j‹¯¿‹¯çÁ‹¯b(y˯‚>ŋ¯MƋ¯+¼Â¯;3¿Â¯+=qï ~sï ¼uï’(Óvï‚(&yï( Ázï;(Ç|ïhÑïgÓïb(œÕï‚Q×ïmØï+|ƒû¯ ½…û¯ ˆû¯’(‰û¯‚(r‹û¯( óŒû¯;(æŽû¯[ãû¯Låû¯b(çû¯‚Féû¯Uêû¯+ɖ3° ÷˜3° +›3°’(Cœ3°‚(¤ž3°( % 3°;(¢3°‚ö3°tø3°b(·ú3°‚sü3°€ý3°+ð©k° 1¬k° x®k°’(ƒ¯k°‚(Ö±k°( W³k°;(Yµk°å l°Ö l°b(} -l°‚0l°?l°+H£°£° £°‚Ò £°;ñ £° Z£°b £°‚C£°R£°+¼£° m¾£° ³À£°’(ÝÁ£°‚(<Ä£°( ÝÅ£°;(êÇ£°á¤°% ¤°b(¨!¤°‚g#¤°v$¤°+ÏÛ°;rÛ°+|ÏÛ° ÁÑÛ° ÔÛ°’()ÕÛ°‚(|×Û°( ÙÛ°;(ÛÛ°å/Ü°æ1Ü°b(4Ü°‚Õ5Ü°â6Ü°+øá± 5ä± ~æ±’(¥ç±‚(ê±( ‡ë±;(xí±èA±ÚC±b(F±‚ÏG±ÞH±+VõK± Ž÷K± ÆùK±’(ÞúK±‚(=ýK±( ¿þK±;(´L±EUL±6WL±b(yYL±‚0[L±=\L±+H„± … „± Ð „±’(ì „±‚(?„±( Á„±;(²„±<g„±0i„±b(×j„±‚‰l„±˜m„±+a»±Îc»± æe»±‚¼h»±;Úk»± Ku»±b‘x»±‚4z»±C{»±+¼± d¼± ´¼±’(È ¼±‚(!#¼±( ½$¼±;(ê&¼±M|¼±³~¼±b(E€¼±‚
-‚¼±ƒ¼±+\yó±;ÿ{ó±+ .ô± J0ô± ˆ2ô±’(Ÿ3ô±‚(ò5ô±( 7ô±;(“9ô±4Žô±3ô±b(h’ô±‚”ô±9•ô±+H@,² ‰B,² ÍD,²’(ÞE,²‚(>H,²( ¿I,²;(²K,²2 ,²#¢,²b(f¤,²‚¦,²,§,²+5Rd² cTd² —Vd²’(¯Wd²‚(Zd²( [d²;(‚]d²î±d²à³d²b(#¶d²‚Ù·d²æ¸d²+\eœ² gœ² äiœ²’(ïjœ²‚(Bmœ²( Ãnœ²;(Åpœ²QŜ²Bǜ²b(éȜ²‚œÊœ²«Ëœ²+$¿Ó²áÁÓ² íÃÓ²‚®ÆÓ²;ÍÉÓ² 1ÓÓ²bwÖÓ²‚ØÓ²)ÙÓ²+öxÔ² S{Ô² ™}Ô²’(Ã~Ô²‚("Ô²( ÂԲ;(é„Ô²rÚÔ²ºÜÔ²b(=ÞÔ²‚üßÔ² áÔ²+m× ³;Ú ³+¬Š ³ ñŒ ³ 4 ³’(Y ³‚(¬’ ³( G” ³;(A– ³$ë ³(í ³b(]ï ³‚ñ ³$ò ³+£žD³ à D³ )£D³’(P¤D³‚(°¦D³( 2¨D³;(#ªD³þD³E³b(ÂE³‚oE³~E³+°|³ ²|³ ú´|³’(¶|³‚(q¸|³( ó¹|³;(ä»|³_}³P}³b(“}³‚J}³W}³+Íô³ 
-Æ´³ UÈ´³’(qÉ´³‚(ÄË´³( FÍ´³;(;Ï´³Æ#µ³º%µ³b(a'µ³‚)µ³"*µ³+›ì³\ ì³ ˆ"쳂V%ì³;t(ì³ ß1ì³b%5쳂È6ì³×7ì³+-Öì³ ŽØì³ áÚ쳒(õÛ쳂(NÞì³( êßì³;(â쳘7í³þ9í³b(;í³‚U=í³d>í³+6$´;º8$´+Té$´ •ë$´ Óí$´’(êî$´‚(=ñ$´( Øò$´;(äô$´…I%´K%´b(¶M%´‚kO%´‡P%´+“û\´ Ôý\´ ]´’()]´‚(‰]´( 
-]´;(ý]´}[]´n]]´b(±_]´‚ha]´wb]´+ë•´ •´ M•´’(e•´‚(Ä•´( E•´;(8•´¤n•´–p•´b(Ùr•´‚t•´œu•´+"Í´ S$Í´ š&Í´’(¥'Í´‚(ø)Í´( y+Í´;({-Í´‚Í´øƒÍ´b(Ÿ…Í´‚R‡Í´aˆÍ´+jzµ'}µ 3µ‚ôµ;…µ |Žµb‘µ‚e“µt”µ+;4µ 6µ Õ8µ’(ÿ9µ‚(^<µ( ÿ=µ;(@µ•µ×µb(F™µ‚›µœµ+m’<µ;•<µ+ G=µ eI=µ ¨K=µ’(ÍL=µ‚( O=µ( »P=µ;(µR=µ‰§=µŠ©=µb(¿«=µ‚y­=µ†®=µ+œYuµ Ù[uµ "^uµ’(I_uµ‚(©auµ( +cuµ;( euµ‘¹uµƒ»uµb(ƽuµ‚x¿uµ‡Àuµ+ÿl­µ 1o­µ iq­µ’(r­µ‚(àt­µ( bv­µ;(Wx­µéÌ­µÚέµb(Ñ­µ‚ÔÒ­µáÓ­µ+W€åµ ”‚åµ ߄嵒(û…嵂(Nˆåµ( Љåµ;(ŋåµPàåµDâåµb(ëã嵂å嵬æåµ+´Ø¶qÛ¶ ‰Ý¶‚`à¶;~㶠èì¶b.ð¶‚Ññ¶àò¶+§’¶ •¶ X—¶’(l˜¶‚(Ś¶( aœ¶;(Žž¶åó¶Jö¶b(Ü÷¶‚¡ù¶°ú¶+ôðT¶;—óT¶+¡¥U¶ â§U¶  ªU¶’(7«U¶‚(Š­U¶( %¯U¶;(+±U¶ÍV¶ÉV¶b(þ V¶‚³ V¶Ï V¶+Û·¶ º¶ `¼¶’(q½¶‚(Ñ¿¶( RÁ¶;(EͶÅŽ¶¶Ž¶b(ùŽ¶‚°Ž¶¿Ž¶+3ËŶ aÍŶ •ÏŶ’(­ÐŶ‚(ÓŶ( ÔŶ;(€ÖŶì*ƶÞ,ƶb(!/ƶ‚×0ƶä1ƶ+ZÞý¶ ›àý¶ ââý¶’(íãý¶‚(@æý¶( Áçý¶;(Ãéý¶O>þ¶@@þ¶b(çAþ¶‚šCþ¶©Dþ¶+²65·o95· ;5·‚P>5·;qA5· ÅJ5·b N5·‚¨O5··P5·+™ð5· öò5· <õ5·’(fö5·‚(Åø5·( fú5·;(Œü5·R6·GT6·b(ÊU6·‚‰W6·˜X6·+òNm·;•Qm·+Ÿn· än· 'n·’(L n·‚(Ÿ n·( : -n·;(4n·dn·fn·b(Phn·‚
-jn·kn·++¦· h¦· ±¦·’(ئ·‚(8¦·( º¦·;(«!¦·v¦·x¦·b(Jz¦·‚÷{¦·}¦·+ƒ)Þ· µ+Þ· í-Þ·’(/Þ·‚(d1Þ·( æ2Þ·;(×4Þ·W‰Þ·H‹Þ·b(‹Þ·‚BÞ·OÞ·+Z;¸ —=¸ â?¸’(þ@¸‚(QC¸( ÓD¸;(ÄF¸N›¸B¸b(鞸‚› ¸ª¡¸+#•M¸æ—M¸ þ™M¸‚̜M¸;ìŸM¸ #ªM¸bi­M¸‚ ¯M¸°M¸+ON¸ vQN¸ ÍSN¸’(áTN¸‚(:WN¸( ÖXN¸;([N¸°N¸õ²N¸b(‡´N¸‚L¶N¸[·N¸+Ÿ­…¸;B°…¸+Ü`†¸ c†¸ [e†¸’(rf†¸‚(Åh†¸( `j†¸;(fl†¸Á†¸Ƹb(;ņ¸‚ðƆ¸Ȇ¸+†t¾¸ Çv¾¸  y¾¸’(z¾¸‚(||¾¸( ý}¾¸;(ð¾¸`Ô¾¸QÖ¾¸b(”ؾ¸‚KÚ¾¸ZÛ¾¸+c†ö¸ ‘ˆö¸ Ŋö¸’(݋ö¸‚(>Žö¸( ¿ö¸;(°‘ö¸æö¸ -èö¸b(Pêö¸‚ìö¸íö¸+‰™.¹ ʛ.¹ ž.¹’(Ÿ.¹‚(o¡.¹( ð¢.¹;(ò¤.¹~ù.¹oû.¹b(ý.¹‚Íþ.¹Üÿ.¹+Róe¹öe¹ øe¹‚Üúe¹;ûýe¹ df¹bª
-f¹‚M f¹\ -f¹+#­f¹ w¯f¹ ½±f¹’(ç²f¹‚(Fµf¹( ç¶f¹;(ð¸f¹gg¹«g¹b(.g¹‚íg¹üg¹+U ž¹;ø -ž¹+Àž¹ Gž¹ ŠÄž¹’(¯Åž¹‚(Ȟ¹( Éž¹;(—Ëž¹k Ÿ¹l"Ÿ¹b(¡$Ÿ¹‚[&Ÿ¹h'Ÿ¹+~ÒÖ¹ »ÔÖ¹ ×Ö¹’(+ØÖ¹‚(‹ÚÖ¹(  -ÜÖ¹;(þÝÖ¹n2×¹`4×¹b(£6×¹‚U8×¹d9×¹+qäº £æº Û躒(ó麂(Rìº( Ôíº;(Éïº[DºLFºb(Hº‚FJºSKº+É÷Fº úFº QüFº’(mýFº‚(ÀÿFº( BGº;(7GºÂWGº¶YGºb(][Gº‚]Gº^Gº+—Q~ºTT~º lV~º‚9Y~º;U\~º ¿e~ºbi~º‚¨j~º·k~º+
-º o º ƺ’(Úº‚(3º( Ϻ;(ºWkº¼mºb(Noº‚qº"rº+×i¶º;zl¶º+·º T·º ’!·º’(©"·º‚(ü$·º( —&·º;((·º?}·º;·ºb(p·º‚%ƒ·ºA„·º+¸0ïº ù2ïº =5ﺒ(N6ﺂ(®8ïº( /:ïº;("<ﺢïº“’ïºb(֔ﺂ–ﺜ—ïº+¥B'» ÓD'» G'»’(H'»‚(€J'»( L'»;(òM'»^¢'»P¤'»b(“¦'»‚E¨'»R©'»+ÌU_»  -X_» TZ_»’(_[_»‚(²]_»( 3__»;(5a_»Áµ_»²·_»b(Y¹_»‚ »_»¼_»+”¯–»U²–» u´–»‚6·–»;Yº–» ¼Ã–»bǖ»‚¥È–»´É–»+h—» nj—» ´l—»’(Þm—»‚(=p—»( Þq—»;(t—»†É—»Ê˗»b(M͗»‚ ϗ»З»+åÇλ;ˆÊλ+!{Ï» f}Ï» ©Ï»’(΀ϻ‚(!ƒÏ»( ¼„Ï»;(¶†Ï»ŸÛÏ»£ÝÏ»b(ØßÏ»‚’áÏ»ŸâÏ»+³¼ ð¼ 9’¼’(`“¼‚(À•¼( B—¼;(3™¼í¼ï¼b(Øñ¼‚…ó¼”ô¼+¡?¼ C£?¼ {¥?¼’(“¦?¼‚(ò¨?¼( tª?¼;(i¬?¼å@¼Ö@¼b(@¼‚Ð@¼Ý@¼+S´w¼ ¶w¼ Û¸w¼’(÷¹w¼‚(J¼w¼( ̽w¼;(Á¿w¼Lx¼@x¼b(çx¼‚™x¼¨x¼+° ¯¼m¯¼ …¯¼‚R¯¼;n¯¼ ä ¯¼b*$¯¼‚Í%¯¼Ü&¯¼+˜Æ¯¼ ùȯ¼ P˯¼’(d̯¼‚(½Î¯¼( YЯ¼;(ŠÒ¯¼(°¼g*°¼b(ù+°¼‚¾-°¼Í.°¼+%ç¼;´'ç¼+¾Ùç¼ ÿÛç¼ =Þ缒(Tß缂(§áç¼( Bãç¼;(Håç¼ê9è¼æ;è¼b(>輂Ð?è¼ì@è¼+øë½ 9î½ }ð½’(Žñ½‚(îó½( oõ½;(b÷½ÒK ½ÃM ½b(P ½‚¾Q ½ÍR ½+@ÿW½ nX½ ¢X½’(ºX½‚(X½( œX½;(
-X½ø^X½ê`X½b(-cX½‚ãdX½ðeX½+f½ §½ ’(ù½‚(L½( ͐½;(ϐ½[r½St½b(úu½‚²w½Áx½+Äjǽmǽ oǽ‚Xrǽ;wuǽ á~ǽb'‚ǽ‚ʃǽلǽ+ $Ƚ ô&Ƚ :)Ƚ’(d*Ƚ‚(Ã,Ƚ( d.Ƚ;(m0Ƚä…Ƚ(ˆÈ½b(«‰È½‚j‹È½yŒÈ½+҂ÿ½;u…ÿ½+7¾ Ä9¾ <¾’(,=¾‚(?¾( A¾;(C¾藾陾b(œ¾‚؝¾垾+ûI8¾ 8L8¾ N8¾’(¨O8¾‚(R8¾( ŠS8¾;({U8¾ë©8¾Ý«8¾b( ®8¾‚Ò¯8¾á°8¾+Y]p¾ ‹_p¾ Ãap¾’(Ûbp¾‚(:ep¾( ¼fp¾;(±hp¾C½p¾4¿p¾b(wÁp¾‚.Ãp¾;Äp¾+±p¨¾ îr¨¾ 9u¨¾’(Uv¨¾‚(¨x¨¾( *z¨¾;(|¨¾ªÐ¨¾žÒ¨¾b(EÔ¨¾‚÷Õ¨¾ר¾+Éß¾ËËß¾ ãÍß¾‚°Ðß¾;ÌÓß¾ 7Ýß¾b}àß¾‚ âß¾/ãß¾+ö‚ྠW…ྠ®‡à¾’(ˆà¾‚(‹à¾( ·Œà¾;(èŽà¾?äྤæà¾b(6èྂûéà¾
-ëà¾+Ná¿;ñã¿+û•¿ <˜¿ zš¿’(‘›¿‚(䝿( Ÿ¿;(…¡¿'ö¿#ø¿b(Xú¿‚ -ü¿)ý¿+5¨P¿ vªP¿ º¬P¿’(Ë­P¿‚(+°P¿( ¬±P¿;(Ÿ³P¿Q¿
-Q¿b(S Q¿‚
-Q¿Q¿+»ˆ¿ »½ˆ¿ ￈¿’(Áˆ¿‚(hÈ¿( éĈ¿;(Úƈ¿F‰¿8‰¿b({‰¿‚1!‰¿>"‰¿+´ÎÀ¿ õÐÀ¿ <ÓÀ¿’(GÔÀ¿‚(šÖÀ¿( ØÀ¿;(ÚÀ¿®.Á¿Ÿ0Á¿b(F2Á¿‚ù3Á¿5Á¿+'ø¿Ò)ø¿ Þ+ø¿‚Ÿ.ø¿;À1ø¿ #;ø¿bi>ø¿‚ @ø¿Aø¿+èàø¿ Eãø¿ ‹åø¿’(µæø¿‚(éø¿( µêø¿;(Ûìø¿XBù¿œDù¿b(Fù¿‚ÞGù¿íHù¿+F?0À;éA0À+óó0À 8ö0À {ø0À’( ù0À‚(óû0À( Žý0À;(ˆÿ0ÀwT1À{V1Àb(°X1À‚jZ1Àw[1À+iÀ ÍiÀ  iÀ’(= iÀ‚(iÀ( iÀ;(iÀzfiÀlhiÀb(¯jiÀ‚\liÀkmiÀ+è¡À ¡À R¡À’(j¡À‚(É!¡À( K#¡À;(<%¡À·y¡À¨{¡Àb(ë}¡À‚¢¡À¯€¡À+º+ÙÀ ÷-ÙÀ B0ÙÀ’(^1ÙÀ‚(±3ÙÀ( 25ÙÀ;(#7ÙÀ­‹ÙÀ¡ÙÀb(HÙÀ‚úÙÀ ’ÙÀ+‚…Á?ˆÁ WŠÁ‚$Á;@Á КÁbžÁ‚¹ŸÁÈ Á+j?Á ËAÁ "DÁ’(6EÁ‚(GÁ( +IÁ;(\KÁÚ Á@£Áb(Ò¤Á‚—¦Á¦§Á+éHÁ;Œ HÁ+%QIÁ fSIÁ ¤UIÁ’(»VIÁ‚(YIÁ( ©ZIÁ;(¯\IÁQ±IÁM³IÁb(‚µIÁ‚7·IÁS¸IÁ+ÊdÁ  gÁ OiÁ’(`jÁ‚(ÀlÁ( AnÁ;(4pÁ¤ÄÁ•ÆÁb(ØȁÁ‚ÊÁžËÁ+§v¹Á Õx¹Á  {¹Á’(!|¹Á‚(‚~¹Á( €¹Á;(ô¹Á_Ö¹ÁQعÁb(”Ú¹Á‚JܹÁWݹÁ+͉ñÁ ŒñÁ UŽñÁ’(`ñÁ‚(³‘ñÁ( 4“ñÁ;(6•ñÁÂéñÁ³ëñÁb(ZíñÁ‚ -ïñÁðñÁ+–ã(ÂSæ( _è(‚*ë(Â;Iî( ³÷(Âbû(‚§ü(¶ý(Â+r) Ɵ) %¢)’(O£)‚(®¥)Â( P§)Â;(k©)Âíþ)Â1*Âb(´*‚s*‚*Â+Ûû`Â;~þ`Â+¯a ]±a •³a’(¬´a‚(
-·aÂ( §¸aÂ;(¬ºaÂob”bÂb(Ûb‚•b±bÂ+%Ù Rř ³Ç™Â’(Úș‚(Ë™Â( ͙Â;(ϙÂR#šÂu%šÂb(¸'šÂ‚e)šÂt*šÂ+†ÕÑ ¸×Ñ ýÙÑ’(!ÛÑ‚(€ÝÑÂ( ßÑÂ;(ôàÑÂQ5ÒÂG7ÒÂb(Š9Ò‚A;ÒÂN<ÒÂ+Âè à ÿê à Jí Ò(fî Â(¹ð Ã( ;ò Ã;(,ô ÃuH
-ÃgJ
-Ãb(L
-ÂÀM
-ÃÏN
-Ã+Ø@AÙCAà ±EAÂ…HAÃ;¡KAà  UAÃbRXAÂZAÃ[AÃ+ËúAà ,ýAà ƒÿAÒ(—BÂ(ðBÃ( BÃ;(½BÃÙ[BÃ>^BÃb(Â_B‡aBÖbBÃ+çXyÃ;Š[yÃ+” -zà Õzà zÒ(*zÂ(}zÃ( zÃ;(zämzàozÃb(ÕqzŠszætzÃ+!²Ã ^#²Ã ¢%²Ã’(³&²Ã‚()²Ã( ”*²Ã;(‡,²Ãۀ²Ã̂²Ãb(…²Ã‚Ɔ²ÃՇ²Ã+Þ2êà  5êà @7êÒ(X8êÂ(¹:êÃ( :<êÃ;(+>êÃe’êÃW”êÃb(š–êÂP˜êÃ]™êÃ+ÓE"Ä H"Ä [J"Ē(fK"Ä‚(¹M"Ä( :O"Ä;(<Q"Ĉ¥"Ä~§"Äb(%©"Ä‚ݪ"Äì«"Ä+_ŸYÄ¢YÄ (¤YĂé¦YÄ;ªYÄ |³YÄb¶YĂe¸YÄt¹YÄ+1YZÄ Ž[ZÄ Ô]ZĒ(þ^ZÄ‚(]aZÄ( þbZÄ;($eZÄoºZij¼ZÄb(6¾ZÄ‚õ¿ZÄÁZÄ+]·‘Ä;º‘Ä+
-l’Ä On’Ä ’p’Ä’(·q’Ä‚(
-t’Ä( ¥u’Ä;(Ÿw’ÄW̒Ä[ΒÄb(Ð’Ä‚JҒÄWӒÄ+p~ÊÄ ­€ÊÄ ö‚ÊĒ(„ÊÄ‚(}†ÊÄ( ÿ‡ÊÄ;(ð‰ÊÄZÞÊÄLàÊÄb(âÊÄ‚<äÊÄKåÊÄ+ȑÅ ú“Å 2–Œ(J—Å‚(©™Å( *›Å;(Å—ñňóÅb(ËõÅ‚‚÷ŏøÅ+š£:Å ×¥:Å "¨:Œ(>©:Å‚(‘«:Å( ­:Å;(¯:Å„;Åv;Åb(;Å‚Ï;ÅÞ ;Å+WýqÅrÅ ,rłrÅ;!rÅ ‹rÅbÑrłtrŃrÅ+J·rÅ «¹rÅ ¼rŒ(½rÅ‚(o¿rÅ(  ÁrÅ;(<ÃrÅ´sÅsÅb(«sÅ‚psÅsÅ+êÅ;fªÅ+pʪŠ±ÌªÅ ïΪŒ(ЪÅ‚(YÒªÅ( ôÓªÅ;(úժŜ*«Å˜,«Åb(Í.«Å‚‚0«Åž1«Å+ªÜâÅ ëÞâÅ /áâŒ(@ââÅ‚( äâÅ( !æâÅ;(èâÅ„<ãÅu>ãÅb(¸@ãÅ‚oBãÅ~CãÅ+òïÆ  òÆ Tôƒ(lõÆ‚(Í÷Æ( NùÆ;(?ûƪOÆœQÆb(ßSÆ‚•UÆ¢VÆ+­SÆ îSÆ 5Sƒ(@SÆ‚(“ SÆ(  SÆ;( -SÆ“aSƉcSÆb(0eSÆ‚èfSÆ÷gSÆ+k[ŠÆ(^ŠÆ 4`ŠÆ‚õbŠÆ;fŠÆ }oŠÆbÃrŠÆ‚ftŠÆuuŠÆ+<‹Æ ‹Æ Ö‹Æ’(‹Æ‚(_‹Æ( ‹Æ;( !‹Æ€v‹ÆÄx‹Æb(Gz‹Æ‚|‹Æ}‹Æ+nsÂÆ;vÂÆ+(ÃÆ `*ÃÆ £,Ã(È-ÃÆ‚(0ÃÆ( ¶1ÃÆ;(°3ÃÆŠˆÃÆ‹ŠÃÆb(ÀŒÃÆ‚zŽÃƇÃÆ+:ûÆ Ú<ûÆ #?ûƒ(J@ûÆ‚(ªBûÆ( ,DûÆ;(!FûÆ’šûÆ„œûÆb(ǞûÆ‚y ûƈ¡ûÆ+N3Ç 2P3Ç jR3ǒ(‚S3Ç‚(áU3Ç( cW3Ç;(XY3Çê­3ÇÛ¯3Çb(²3Ç‚Õ³3ǵ3Ç+í_kÇ *bkÇ udkǒ(‘ekÇ‚(ägkÇ( fikÇ;([kkÇ׿kÇÉÁkÇb(pÃkÇ‚"ÅkÇ1ÆkÇ+ª¹¢Çk¼¢Ç ƒ¾¢Ç‚WÁ¢Ç;sÄ¢Ç ÞÍ¢Çb$ѢǂÇÒ¢ÇÖÓ¢Ç+s£Ç þu£Ç Ux£Ç’(iy£Ç‚(Â{£Ç( ^}£Ç;(£ÇìÔ£ÇR×£Çb(äأǂ©Ú£Ç¸Û£Ç+ûÑÚÇ;žÔÚÇ+7…ÛÇ x‡ÛÇ ¶‰Ûǒ(͊ÛÇ‚( ÛÇ( »ŽÛÇ;(ÁÛÇcåÛÇeçÛÇb(šéÛÇ‚OëÛÇkìÛÇ+â˜È #›È gȒ(xžÈ‚(Ø È( Y¢È;(J¤ÈÌøȽúÈb(ýÈ‚·þÈÆÿÈ+ϪKÈ ý¬KÈ 1¯KȒ(I°KÈ‚(ª²KÈ( +´KÈ;(¶Kȇ
-LÈy LÈb(¼LÈ‚rLÈLÈ+õ½ƒÈ 6ÀƒÈ }ƒȒ(ˆÃƒÈ‚(ÛŃÈ( \ǃÈ;(^ɃÈÛ„ÈÑ„Èb(x!„È‚0#„È?$„È+³»Èp»È |»È‚=»È;\"»È Ê+»Èb/»È‚³0»ÈÂ1»È+„Ñ»È áÓ»È 'ֻȒ(Q׻Ȃ(°Ù»È( QÛ»È;(wÝ»Èú2¼È=5¼Èb(À6¼È‚8¼ÈŽ9¼È+è/óÈ;‹2óÈ+•äóÈ ÚæóÈ éóȒ(BêóÈ‚(•ìóÈ( 0îóÈ;(*ðóÈ -EôÈGôÈb(FIôÈ‚KôÈ -LôÈ+!÷+É ^ù+É §û+ɒ(Îü+É‚(.ÿ+É( °,É;(¡,É W,ÉýX,Éb(@[,É‚í\,Éü],É+ dÉ @ dÉ x -dɒ(dÉ‚(ïdÉ( qdÉ;(bdÉÝhdÉÎjdÉb(mdÉ‚ÈndÉÕodÉ+KœÉ ˆœÉ Ó œÉ’(ï!œÉ‚(B$œÉ( Ä%œÉ;(¹'œÉ5|œÉ'~œÉb(Μɂ€œÉ‚œÉ+vÓÉÅxÓÉ ÝzÓɂ´}ÓÉ;ҀÓÉ V‹ÓÉbœŽÓɂ?ÓÉN‘ÓÉ+Š.ÔÉ ë0ÔÉ B3Ôɒ(V4ÔÉ‚(¯6ÔÉ( K8ÔÉ;(x:ÔÉïÔÉT’ÔÉb(æ“ÔÉ‚«•Ôɺ–ÔÉ+oŽ Ê;‘ Ê+«A Ê ìC Ê *F ʒ(AG Ê‚(”I Ê( /K Ê;(5M Êס ÊÓ£ Êb(¦ Ê‚½§ ÊÙ¨ Ê+PUDÊ ‘WDÊ ÕYDʒ(æZDÊ‚(F]DÊ( Ç^DÊ;(º`DÊ*µDÊ·DÊb(^¹DÊ‚»DÊ$¼DÊ+-g|Ê [i|Ê k|ʒ(§l|Ê‚(o|Ê( ‰p|Ê;(zr|ÊåÆ|Ê×È|Êb(Ë|Ê‚ÐÌ|ÊÝÍ|Ê+Sz´Ê ”|´Ê Û~´Ê’(é´Ê‚(<‚´Ê( ½ƒ´Ê;(½…´Ê9Ú´Ê/Ü´Êb(ÖÝ´Ê‚Žß´Êà´Ê+ÔëÊÎÖëÊ îØëʂ¯ÛëÊ;ÐÞëÊ 9èëÊbëëʂ"íëÊ1îëÊ+ˆŒìÊ ܎ìÊ "‘ìʒ(L’ìÊ‚(«”ìÊ( L–ìÊ;(S˜ìÊÌíìÊðìÊb(’ñìÊ‚QóìÊ`ôìÊ+*ì#Ë;Íî#Ë+gŸ$Ë ¬¡$Ë ï£$˒(¥$Ë‚(g§$Ë( ©$Ë;(üª$ËÐÿ$ËÑ%Ëb(%Ë‚À%ËÍ%Ë+N³\Ë ‹µ\Ë Ô·\˒(û¸\Ë‚([»\Ë( ݼ\Ë;(Ò¾\ËC]Ë5]Ëb(x]Ë‚*]Ë9]Ë+FÅ”Ë xÇ”Ë °É”Ë’(ÈʔË‚('͔Ë( ©Î”Ë;(žÐ”Ë5%•Ë&'•Ëb(i)•Ë‚ +•Ë2,•Ë+£ØÌË àÚÌË +ÝÌ˒(GÞÌË‚(šàÌË( âÌË;( -äÌˈ8ÍËz:ÍËb(!<ÍË‚Ó=ÍËâ>ÍË+ë0̨3Ì À5̂˜8Ì;´;Ì )EÌboĤJÌ!KÌ+ÝêÌ >íÌ •ï̒(©ðÌ‚(óÌ( žôÌ;(ËöÌ2L̘NÌb(*PÌ‚ïQÌþRÌ+AI<Ì;äK<Ì+îý<Ì /=Ì m=̒(„=Ì‚(×=Ì( r=Ì;(x =Ì^=Ì`=Ìb(Mb=Ì‚d=Ìe=Ì+-uÌ nuÌ ²u̒(ÃuÌ‚(#uÌ( ¤uÌ;(—uÌpuÌruÌb(KtuÌ‚vuÌwuÌ+…#­Ì ³%­Ì ç'­Ì’(ÿ(­Ì‚(^+­Ì( ß,­Ì;(Ò.­Ì>ƒ­Ì0…­Ìb(s‡­Ì‚)‰­Ì6Š­Ì+¬6åÌ í8åÌ 4;å̒(?<åÌ‚(’>åÌ( @åÌ;(BåÌ’–å̈˜åÌb(/šåÌ‚ç›åÌöœåÌ+ùŽÍ¶‘Í “͂–Í;¬™Í £ÍbV¦͂ù§Í©Í+ÕHÍ 2KÍ xM͒(¢NÍ‚(QÍ( ¢RÍ;(ÈTÍKªÍŽ¬Íb(®Í‚ЯÍß°Í+9§TÍ;Ü©TÍ+æ[UÍ +^UÍ n`U͒(“aUÍ‚(æcUÍ( eUÍ;({gUÍ^¼UÍb¾UÍb(—ÀUÍ‚QÂUÍ^ÃUÍ+rnÍ ¯pÍ ørÍ’(tÍ‚(vÍ( xÍ;(òyÍ\΍ÍNЍÍb(‘ҍÍ‚>ԍÍMՍÍ+ʁÅÍ üƒÅÍ 4†Å͒(L‡ÅÍ‚(«‰ÅÍ( -‹ÅÍ;(ÅÍ™áÅÍŠãÅÍb(ÍåÅÍ‚„çÅÍ‘èÅÍ+•ýÍ D—ýÍ ™ý͒(«šýÍ‚(þœýÍ( žýÍ;(p ýÍëôýÍÝöýÍb(„øýÍ‚6úýÍEûýÍ+Ní4Î ð4Î #ò4΂ðô4Î; ø4Î w5Îb½5΂`5Îo5Î+6§5Î —©5Î î«5Β(­5΂([¯5Î( ÷°5Î;((³5Π6Î 6Îb(— 6΂\6Îk6Î+¯mÎ;RmÎ+\ºmÎ ¼mÎ Û¾mΒ(ò¿m΂(EÂmÎ( àÃmÎ;(æÅmΈn΄nÎb(¹n΂n nΊ!nÎ+–̥Π×ΥΠѥΒ(,ҥ΂(Ô¥Î( Ö¥Î;(ÿ×¥Îp,¦Îa.¦Îb(¤0¦Î‚[2¦Îj3¦Î+ÞßÝÎ  âÝÎ @äÝΒ(XåÝ΂(¹çÝÎ( :éÝÎ;(+ëÝΖ?ÞΈAÞÎb(ËCÞ΂EÞÎŽFÞÎ+óÏ EõÏ Œ÷ϒ(—øÏ‚(êúÏ( küÏ;(mþÏêRÏàTÏb(‡VÏ‚?XÏNYÏ+QKMÏNMÏ 2PMςóRMÏ;VMÏ _MÏbÅbMςhdMÏweMÏ+>NÏ ’NÏ Ø Nϒ( NÏ‚(a -NÏ( NÏ;( NÏ‚fNÏÆhNÏb(IjNÏ‚lNÏmNÏ+pc…Ï;f…Ï+†Ï b†Ï ¥†Ï’(ʆς( †Ï( ¸!†Ï;(²#†ÏŒx†Ïz†Ïb(Â|†Ï‚|~†Ï‰†Ï+Ÿ*¾Ï Ü,¾Ï %/¾Ï’(L0¾Ï‚(¬2¾Ï( .4¾Ï;(#6¾Ï”Š¾Ï†Œ¾Ïb(Ɏ¾Ï‚{¾Ï‘¾Ï+>öÏ 4@öÏ lBöϒ(„CöÏ‚(ãEöÏ( eGöÏ;(ZIöÏìöÏݟöÏb( ¢öςףöÏä¤öÏ+ïO.Ð ,R.Ð wT.В(“U.Ђ(æW.Ð( hY.Ð;(][.ÐÙ¯.Ð˱.Ðb(r³.Ђ$µ.Ð3¶.Ð+¬©eÐi¬eÐ ®eЂN±eÐ;j´eÐ Õ½eÐbÁeЂ¾ÂeÐÍÃeÐ+”cfÐ õefÐ LhfВ(`ifЂ(¹kfÐ( UmfÐ;(†ofÐÝÄfÐBÇfÐb(ÔÈfЂ™ÊfШËfÐ+ìÁÐ;ÄÐ+™vžÐ ÚxžÐ {žÐ’(/|žÐ‚(‚~žÐ( €žÐ;(#‚žÐÅ֞ÐÁ؞Ðb(öڞЂ«ÜžÐÇݞÐ+ӈÖÐ ‹ÖÐ XÖВ(iŽÖЂ(ɐÖÐ( J’ÖÐ;(=”ÖнèÖЮêÖÐb(ñìÖЂ¨îÖзïÖÐ++œÑ YžÑ  ђ(¥¡Ñ‚(¤Ñ( ‡¥Ñ;(x§ÑäûÑÖýÑb(Ñ‚ÏÑÜÑ+ç­FÑ (°FÑ o²Fђ(z³FÑ‚(͵FÑ( N·FÑ;(P¹FÑÍ -GÑÃGÑb(jGÑ‚"GÑ1GÑ+¤~Ña
-~Ñ m ~т8~Ñ;W~Ñ ¼~Ñb~т¥ ~Ñ´!~Ñ+Á~Ñ ÞÃ~Ñ $Æ~ђ(NÇ~Ñ‚(­É~Ñ( NË~Ñ;(tÍ~Ñö"Ñ:%Ñb(½&Ñ‚|(Ñ‹)Ñ+ä¶Ñ;‡"¶Ñ+‘濾 ÖÖ¶Ñ ٶђ(>ڶт(‘ܶÑ( ,Þ¶Ñ;(&à¶Ñ
-5·Ñ7·Ñb(C9·Ñ‚ý:·Ñ
-<·Ñ+#çîÑ `éîÑ ©ëîђ(ÐìîÑ‚(0ïîÑ( ±ðîÑ;(¢òîÑ -GïÑÿHïÑb(BKïÑ‚ïLïÑþMïÑ+ù&Ò Bû&Ò zý&Ғ(’þ&Ò‚(ñ'Ò( s'Ò;(d'ÒßX'ÒÐZ'Òb(]'Ò‚Ê^'Ò×_'Ò+M _Ò Š_Ò Õ_Ғ(ñ_Ò‚(D_Ò( Æ_Ò;(»_Ò7l_Ò)n_Òb(Ðo_Ò‚‚q_Ò‘r_Ò+
-f–ÒÇh–Ò ój–Ò‚Çm–Ò;åp–Ò !{–Òbg~–Ò‚
-€–ҁ–Ò+—Ò þ —Ò U#—Ò’(i$—Ò‚(Â&—Ò( ^(—Ò;(*—Ò€—Òl‚—Òb(þƒ—Ò‚ŗÒ҆—Ò+‡~ÎÒ;*ÎÒ+Ã1ÏÒ 4ÏÒ B6ÏҒ(Y7ÏÒ‚(¬9ÏÒ( G;ÏÒ;(M=ÏÒï‘ÏÒë“ÏÒb( –ÏÒ‚՗ÏÒñ˜ÏÒ+hEÓ ©GÓ íIӒ(þJÓ‚(^MÓ( ßNÓ;(ÒPÓB¥Ó3§Ób(v©Ó‚-«Ó<¬Ó+EW?Ó sY?Ó §[?Ӓ(¿\?Ó‚( _?Ó( ¡`?Ó;(’b?Óý¶?Óï¸?Ób(2»?Ó‚è¼?Óõ½?Ó+kjwÓ ¬lwÓ ónwӒ(þowÓ‚(QrwÓ( ÒswÓ;(ÔuwÓWÊwÓMÌwÓb(ôÍwÓ‚¬ÏwÓ»ÐwÓ+.Ä®ÓïÆ®Ó ûȮӂ¼Ë®Ó;ÝÎ®Ó FØ®ÓbŒÛ®Ó‚/Ý®Ó>Þ®Ó+~¯Ó Y€¯Ó Ÿ‚¯Ó’(Ƀ¯Ó‚((†¯Ó( ɇ¯Ó;(҉¯ÓI߯Ӎá¯Ób(ã¯Ó‚Õä¯Óäå¯Ó+7ÜæÓ;ÚÞæÓ+tçÓ ¹‘çÓ ü“çӒ(!•çÓ‚(t—çÓ( ™çÓ;( ›çÓíïçÓîñçÓb(#ôçÓ‚ÝõçÓêöçÓ+k£Ô ¨¥Ô ñ§Ԓ(©Ô‚(x«Ô( ú¬Ô;(ë®Ô[ ÔM Ôb( Ô‚B ÔQ
- Ô+^µWÔ ·WÔ ȹWԒ(àºWÔ‚(?½WÔ( Á¾WÔ;(¶ÀWÔHXÔ9XÔb(|XÔ‚3XÔ@XÔ+¶ÈÔ óÊÔ >͏Ԓ(ZΏÔ‚(­ÐÔ( /ҏÔ;($ԏÔ (Ô’*Ôb(9,Ô‚ë-Ôú.Ô+!ÇÔÀ#ÇÔ Ø%ÇԂ¥(ÇÔ;Á+ÇÔ +5ÇÔbq8ÇԂ:ÇÔ#;ÇÔ+êÚÇÔ KÝÇÔ ›ßÇԒ(¯àÇÔ‚(ãÇÔ( ¤äÇÔ;(ÑæÇÔ)<ÈÔ—>ÈÔb((@ÈÔ‚íAÈÔüBÈÔ+89ÿÔ;Û;ÿÔ+åíÿÔ &ðÿÔ dòÿԒ({óÿÔ‚(ÎõÿÔ( i÷ÿÔ;(oùÿÔNÕPÕb(DRÕ‚ùSÕUÕ+8Õ Ð8Õ 8Ւ(%8Õ‚(… 8Õ(  8Õ;(ù 8Õya8Õjc8Õb(­e8Õ‚dg8Õsh8Õ+|pÕ ªpÕ ÞpՒ(öpÕ‚(WpÕ( ØpÕ;(ÉpÕ5spÕ'upÕb(jwpÕ‚ ypÕ-zpÕ+£&¨Õ ä(¨Õ ++¨Õ’(6,¨Õ‚(‰.¨Õ( 
-0¨Õ;( 2¨Õ‰†¨Õˆ¨Õb(&Š¨Õ‚ދ¨Õ패Õ+`€ßÕƒßÕ )…ßՂô‡ßÕ;‹ßÕ x”ßÕb¾—ßՂa™ßÕpšßÕ+Ì8àÕ );àÕ o=àՒ(™>àÕ‚(ø@àÕ( ™BàÕ;(¿DàÕBšàÕ…œàÕb(žàÕ‚ǟàÕÖ àÕ+ ˜Ö;C›Ö+ÝKÖ "NÖ eP֒(ŠQÖ‚(ÝSÖ( xUÖ;(rWÖU¬ÖY®Öb(Ž°Ö‚H²ÖU³Ö+i^PÖ ¦`PÖ ïbP֒(dPÖ‚(vfPÖ( øgPÖ;(éiPÖS¾PÖEÀPÖb(ˆÂPÖ‚5ÄPÖDÅPÖ+ÁqˆÖ ósˆÖ /vˆÖ’(GwˆÖ‚(¦yˆÖ( '{ˆÖ;(}ˆÖ•ÑˆÖ†ÓˆÖb(ÉՈÖ‚€×ˆÖØˆÖ+…ÀÖ B‡ÀÖ ‰À֒(©ŠÀÖ‚(üŒÀÖ( }ŽÀÖ;(rÀÖíäÀÖßæÀÖb(†èÀÖ‚8êÀÖGëÀÖ+PÝ÷Öà÷Ö =â÷ւ å÷Ö;+è÷Ö ”ñ÷ÖbÚô÷ւ}ö÷ÖŒ÷÷Ö+S—øÖ ´™øÖ  œø֒(øÖ‚(xŸøÖ( ¡øÖ;(@£øÖ¸øøÖûøÖb(¯üøÖ‚tþøÖƒÿøÖ+Çõ/×;jø/×+tª0× µ¬0× ó®0ג(
-°0ׂ(]²0×( ø³0×;(þµ0× 
-1ל 1×b(Ñ1ׂ†1×¢1×+®¼h× ï¾h× 3Áhג(DÂhׂ(¤Äh×( %Æh×;(Èh׍i×~i×b(Á iׂx"iׇ#i×+ûÏ × )Ò × ]Ԡג(uՠׂ(Ö× ×( WÙ ×;(HÛ ×´/¡×¦1¡×b(é3¡×‚Ÿ5¡×¬6¡×+"ãØ× cåØ× °çØג(»èØׂ(ëØ×( ìØ×;(‘îØ× -CÙ×EÙ×b(ªFÙׂbHÙ×qIÙ×+t;Ø1>Ø =@؂þBØ;FØ —OØbèR؂‹TØšUØ+FõØ š÷Ø ìùؒ(ûØ‚(uýØ( ÿØ;(3ضVØùXØb(|ZØ‚;\ØJ]Ø+¤SHØ;GVHØ+QIØ –
-IØ Î Iؒ(å -IØ‚(CIØ( àIØ;(åIبhIØÍjIØb(mIØ‚ÎnIØêoIØ+óØ  Ø Ø’(¨ Ø‚(O#Ø( á$Ø;(Ö&Ø {ØC}Øb(†Ø‚3ØB‚Ø+T-¹Ø †/¹Ø Ë1¹Ø’(ï2¹Ø‚(N5¹Ø( Ï6¹Ø;(Â8¹Ø¹Ø
-¹Øb(M‘¹Ø‚“¹Ø”¹Ø+…@ñØ ÂBñØ  -Eñؒ()FñØ‚(|HñØ( ýIñØ;(îKñØ8 ñØ*¢ñØb(Ñ£ñØ‚ƒ¥ñØ’¦ñØ+ š(Ùɜ(Ù áž(ق¸¡(Ù;Ö¤(Ù ?®(Ùb…±(ق5³(ÙD´(Ù+þS)Ù _V)Ù ¶X)ْ(ÊY)Ù‚(#\)Ù( Ã])Ù;(ð_)Ù–µ)Ùû·)Ùb(~¹)Ù‚C»)ÙR¼)Ù+¤²`Ù;Gµ`Ù+àeaÙ !haÙ _jaْ(vkaÙ‚(ÉmaÙ( doaÙ;(jqaÙðÅaÙïÇaÙb($ÊaÙ‚ÙËaÙõÌaÙ+oy™Ù °{™Ù ô}™Ù’(™Ù‚(e™Ù( 悙Ù;(ل™Ù(ٙÙۙÙb(\ݙÙ‚ߙÙ"à™Ù++‹ÑÙ YÑÙ Ñْ(¥ÑÙ‚(“ÑÙ( ‡”ÑÙ;(x–ÑÙ²êÑÙ¤ìÑÙb(çîÑÙ‚™ðÑÙ¦ñÑÙ+ ž Ú a  Ú ¨¢ ڒ(³£ Ú‚(¦ Ú( ‡§ Ú;(‰© ÚÔý ÚÊÿ Úb(q
-Ú‚)
-Ú8
-Ú+¬÷@Úiú@Ú uü@ڂ6ÿ@Ú;UAÚ ¾ AÚb÷AڂšAÚ©AÚ+}±AÚ Ú³AÚ  ¶Aڒ(J·AÚ‚(©¹AÚ( J»AÚ;(_½AÚ­BÚôBÚb(wBÚ‚6BÚEBÚ+ŸyÚ;ByÚ+LÄyÚ ‘ÆyÚ ÔÈyڒ(ùÉyÚ‚(LÌyÚ( éÍyÚ;(áÏyÚ˜$zÚœ&zÚb(Ñ(zÚ‚‹*zÚ˜+zÚ+¬Ö±Ú éØ±Ú 2۱ڒ(YܱÚ‚(¹Þ±Ú( ;à±Ú;(,â±Ú–6²Úˆ8²Úb(Ë:²Ú‚x<²Ú‡=²Ú+êéÚ 6ìéÚ nîéڒ(†ïéÚ‚(åñéÚ( góéÚ;(XõéÚÓIêÚÄKêÚb(NêÚ‚¾OêÚËPêÚ+Aý!Û ~ÿ!Û É"ے(å"Û‚(8"Û( ¹"Û;(ª"Û%]"Û_"Ûb(¾`"Û‚pb"Ûc"Û+ˆUYÛIXYÛ uZYۂC]YÛ;c`YÛ ÿiYÛbEmYۂènYÛ÷oYÛ+‹ZÛ ìZÛ CZے(WZÛ‚(°ZÛ( LZÛ;(xZÛ'qZÛŒsZÛb(uZÛ‚âvZÛñwZÛ+6n‘Û;Ùp‘Û+ã"’Û $%’Û b'’Û’(y(’Û‚(Ì*’Û( g,’Û;(m.’Ûƒ’Û …’Ûb(@‡’Û‚ûˆ’ÛŠ’Û+5ÊÛ ^7ÊÛ ¢9Êے(³:ÊÛ‚(=ÊÛ( ”>ÊÛ;(‡@ÊÛ÷”ÊÛè–ÊÛb(+™ÊÛ‚âšÊÛñ›ÊÛ+eHÜ “JÜ ÇLܒ(ßMÜ‚(@PÜ( ÁQÜ;(²SܨܪÜb(R¬Ü‚®Ü¯Ü+ Z:Ü a\:Ü ¨^:ܒ(³_:Ü‚(b:Ü( ‡c:Ü;(‰e:ܺ:Üü»:Üb(£½:Ü‚[¿:ÜjÀ:Ü+Þ³qÜ›¶qÜ §¸q܂h»qÜ;‡¾qÜ ðÇqÜb6Ëq܂ÙÌqÜèÍqÜ+¯mrÜ prÜ Irrܒ(ssrÜ‚(ÒurÜ( swrÜ;(vyrÜóÎrÜ7ÑrÜb(ºÒrÜ‚yÔr܈ÕrÜ+áË©Ü;„ΩÜ+Ž€ªÜ ӂªÜ …ªÜ’(;†ªÜ‚(ŽˆªÜ( )ŠªÜ;(#ŒªÜ÷àªÜøâªÜb(-åªÜ‚çæªÜôçªÜ+
-“âÜ G•âÜ —âܒ(·˜âÜ‚(›âÜ( ™œâÜ;(ŠžâÜúòâÜìôâÜb(/÷âÜ‚áøâÜðùâÜ+h¦Ý š¨Ý Òªݒ(ê«Ý‚(I®Ý( ˯Ý;(À±ÝRÝCÝb(†
-Ý‚= ÝJ -Ý+U¸RÝ ’ºRÝ ݼRݒ(ù½RÝ‚(LÀRÝ( ÎÁRÝ;(ÃÃRÝ?SÝ1SÝb(ØSÝ‚ŠSÝ™SÝ+ŠÝÏŠÝ çŠÝ‚¾ŠÝ;ÜŠÝ F&ŠÝbŒ)ŠÝ‚/+ŠÝ>,ŠÝ+ÌŠÝ fÎŠÝ ½ÐŠÝ’(ÑъÝ‚(*ԊÝ( ÆՊÝ;(÷׊Ý€-‹Ýå/‹Ýb(v1‹Ý‚;3‹ÝJ4‹Ý+*ÂÝ;2-ÂÝ+ËÝÂÝ  àÂÝ JâÂݒ(aãÂÝ‚(´åÂÝ( OçÂÝ;(UéÂÝ÷=ÃÝó?ÃÝb((BÃÝ‚ÝCÃÝùDÃÝ+pñúÝ ±óúÝ õõúݒ(÷úÝ‚(fùúÝ( çúúÝ;(ÚüúÝZQûÝKSûÝb(ŽUûÝ‚EWûÝTXûÝ+]3Þ ‹3Þ ¿3ޒ(×3Þ‚(8 3Þ( ¹ 3Þ;(ª3Þc3Þe3Þb(Kg3Þ‚i3Þj3Þ+„kÞ ÅkÞ  kޒ(kÞ‚(jkÞ( ëkÞ;(í!kÞjvkÞ`xkÞb(zkÞ‚¿{kÞÎ|kÞ+Hp¢Þs¢Þ %u¢Þ‚æw¢Þ;{¢Þ i„¢Þb¯‡¢Þ‚R‰¢ÞaŠ¢Þ+.*£Þ ‹,£Þ Ñ.£Þ’(û/£Þ‚(Z2£Þ( û3£Þ;(6£Þƒ‹£Þƍ£Þb(I£Þ‚‘£Þ’£Þ+qˆÚÞ;‹ÚÞ+=ÛÞ c?ÛÞ ¦AÛޒ(ËBÛÞ‚(EÛÞ( ¹FÛÞ;(³HÛÞ–ÛÞšŸÛÞb(Ï¡ÛÞ‚‰£ÛÞ–¤ÛÞ+ªOß çQß 0Tߒ(WUß‚(·Wß( 9Yß;(*[ß”¯ß†±ßb(ɳß‚vµß…¶ß+—aKß ÉcKß fKߒ(gKß‚(xiKß( újKß;(ëlKßkÁKß\ÃKßb(ŸÅKß‚VÇKßhÈKß+Ùtƒß wƒß ayƒß’(}zƒß‚(Ð|ƒß( R~ƒß;(C€ƒß¾Ôƒß°Öƒßb(W؃ß‚ ڃßۃß+‘κßNÑºß fӺ߂3Öºß;OÙºß ¿âºßbæºß‚¨çºß·èºß+‡»ß i‰»ß À‹»ß’(Ԍ»ß‚(-»ß( ɐ»ß;(õ’»ßŸè»ßë»ßb(–ì»ß‚[î»ßjï»ß+çòß;Áéòß+[šóß œœóß ڞóߒ(ñŸóß‚(D¢óß( ߣóß;(å¥ó߆úóß…üóßb(ºþóß‚oôß‹ôß+š¬+à Û®+à ±+à’(0²+à‚(´+à( ¶+à;(¸+àt ,àe,àb(¨,à‚_,àn,à+â¿cà Âcà DÄcà’(\Åcà‚(ÁÇcà( BÉcà;(:Ëcà¥dà—!dàb(Ú#dà‚%dà&dà+ӛà T՛à ›×›à’(¦Ø›à‚(ùڛà( zܛà;(|ޛà3œà5œàb(«6œà‚b8œàu9œà+v+Óà3.Óà ?0Óà‚
-3Óà;)6Óà “?ÓàbÙBÓà‚ˆDÓà—EÓà+SåÓà ±çÓà ÷éÓà’(!ëÓà‚(€íÓà( !ïÓà;(KñÓàÎFÔàIÔàb(”JÔà‚SLÔàbMÔà+¼C á;_F á+iø á ®ú á ñü á’(þ á‚(i á(  á;(þ áÒX áÓZ áb(] á‚Â^ áÏ_ á+å
-Dá " -Dá kDá’(’Dá‚(òDá( tDá;(iDáÚjDáÌlDáb(oDá‚ÁpDáÐqDá+H|á z |á ²"|á’(Ê#|á‚()&|á( «'|á;( )|á2~|á#€|áb(f‚|á‚„|á*…|á+50´á r2´á ½4´á’(Ù5´á‚(,8´á( ®9´á;(£;´á´á’´áb(¸“´á‚j•´áy–´á+ò‰ëᯌëá ǎëá‚”‘ëá;°”ëá žëába¡ëá‚£ëá¤ëá+ÚCìá ;Fìá ’Hìá’(¦Iìá‚(ÿKìá( ›Mìá;(ÌOìáU¥ìủìáb(L©ìá‚«ìá ¬ìá+d¢#â;¥#â+W$â RY$⠐[$â’(§\$â‚(ú^$â( •`$â;(›b$â<·$â;¹$âb(p»$â‚%½$âA¾$â+Pi\â ‘k\â Õm\â’(æn\â‚(Fq\â( Çr\â;(ºt\â:É\â+Ë\âb(nÍ\â‚%Ï\â4Ð\â+¨|”â Ö~”â 
-”â’("‚”â‚(ƒ„”â( †”â;(õ‡”âaܔâSޔâb(–à”â‚Lâ”âYã”â+dŽÌâ ¥Ìâ ì’Ìâ’(÷“Ìâ‚(J–Ìâ( ˗Ìâ;(͙ÌâJîÌâ@ðÌâb(çñÌâ‚ŸóÌâ®ôÌâ+!èãâêã íã‚Ãïã;æòã Iüãbÿã‚2ãAã+¢ã k¤ã ±¦ã’(Û§ã‚(:ªã( Û«ã;(®ã~ãÂãb(Eã‚ ã
-ã+l<ã;<ã+µ<ã ^·<ã ¡¹<ã’(ƺ<ã‚(½<ã( ´¾<ã;(®À<ã—=ã›=ãb(Ð=ã‚Š=ã—=ã+«Çtã èÉtã 1Ìtã’(XÍtã‚(¸Ïtã( :Ñtã;(+Ótã•'uã‡)uãb(Ê+uã‚w-uã†.uã+˜Ù¬ã ÐÛ¬ã Þ¬ã’( ߬ã‚(á¬ã( ã¬ã;(öä¬ãr9­ãc;­ãb(¦=­ã‚]?­ãj@­ã+àìäã ïäã hñäã’(„òäã‚(×ôäã( Yöäã;(NøäãÚLåãÌNåãb(sPåã‚%Råã4Såã+®FäkIä ƒKä‚PNä;lQä ãZäb)^ä‚Ì_äÛ`ä+%ÿä †ä Ýä’(ñä‚(Jä( æä;( äÁ`ä'cäb(¸dä‚}fäŒgä+@_Tä;ãaTä+}Uä ¾Uä üUä’(Uä‚(fUä( Uä;(Uä¨rUä§tUäb(ÜvUä‚‘xUä­yUä+¼$ä ý&ä A)ä’(R*ä‚(²,ä( 3.ä;(&0ä–„ä‡†äb(ʈä‚‚Šä‘‹ä+8Åä 2:Åä f<Åä’(~=Åä‚(ß?Åä( `AÅä;(QCÅä¼—Åä®™Åäb(ñ›Åä‚£Åä°žÅä+*Kýä kMýä ²Oýä’(½Pýä‚(Sýä( ‘Týä;(“Výä«ýä­ýäb(­®ýä‚e°ýät±ýä+w£4å?¦4å K¨4å‚ «4å;+®4å D¸4åb}»4å‚ ½4å/¾4å+T]5å ¨_5å îa5å’(c5å‚(we5å( g5å;(i5坾5åáÀ5åb(dÂ5å‚#Ä5å2Å5å+‹»lå;.¾lå+8pmå }rmå Àtmå’(åumå‚(8xmå( Óymå;(Í{må¡Ðmå¢Òmåb(×Ômå‚‘Ömåž×må+´‚¥å ñ„¥å :‡¥å’(aˆ¥å‚(ÁŠ¥å( CŒ¥å;(4Ž¥å¤â¥å–ä¥åb(Ùæ¥å‚‹è¥åšé¥å+–Ýå D˜Ýå |šÝå’(”›Ýå‚(óÝå( uŸÝå;(j¡ÝåüõÝåí÷Ýåb(0úÝå‚çûÝåôüÝå+j©æ §«æ ò­æ’(¯æ‚(a±æ( ã²æ;(Ø´æT æF æb(í æ‚Ÿæ®æ+·MætMæ ŒMæ‚Z Mæ;v Mæ ßMæb%Mæ‚ÈMæ×Mæ+ž»Mæ ÿ½Mæ VÀMæ’(jÁMæ‚(ÅÃMæ( aÅMæ;(ÇMæNæ~Næb(!Næ‚Ô"Næã#Næ+(…æ;Ë…æ+Õ΅æ хæ TӅæ’(kԅæ‚(¾Ö…æ( Y؅æ;(_څæ/†æý0†æb(23†æ‚ç4†æ6†æ+á½æ Pã½æ ”å½æ’(¥æ½æ‚(é½æ( †ê½æ;(yì½æù@¾æêB¾æb(-E¾æ‚äF¾æóG¾æ+gôõæ •öõæ Éøõæ’(áùõæ‚(Büõæ( Ãýõæ;(´ÿõæ TöæVöæb(UXöæ‚ Zöæ[öæ+Ž.ç Ï .ç  .ç’(! -.ç‚(t.ç( õ.ç;(÷.çtg.çji.çb(k.ç‚Él.çØm.ç+Û_eçœbeç ¨deç‚igeç;ˆjeç íseçb3weç‚Öxeçåyeç+²fç fç Ufç’(fç‚(Þ!fç( #fç;(¥%fç"{fçe}fçb(è~f炧€f缁fç+xç;³zç+½,žç /žç E1žç’(j2žç‚(½4žç( X6žç;(R8žç5žç9žçb(n‘žç‚(“žç5”žç+I?Öç †AÖç ÏCÖç’(öDÖç‚(VGÖç( ØHÖç;(ÉJÖç3ŸÖç%¡Öçb(h£Öç‚¥Öç$¦Öç+¡Rè ÓTè  Wè’(#Xè‚(‚Zè( \è;(ô]èp²èa´èb(¤¶è‚[¸èh¹è+sdFè °fFè ûhFè’(jFè‚(jlFè( ìmFè;(áoFè]ÄFèOÆFèb(öÇF肨ÉFè·ÊFè+0¾}èíÀ}è Ã}è‚ÒÅ}è;îÈ}è YÒ}èbŸÕ}è‚B×}èQØ}è+x~è yz~è Ð|~è’(ä}~è‚(=€~è( ف~è;(
-„~è´Ù~è!Ü~èb(²Ý~è‚wß~è†à~è+ÃÖµè;fÙµè+ÿ‰¶è @Œ¶è ~Ž¶è’(•¶è‚(葶è( ƒ“¶è;(‰•¶è+ê¶è'ì¶èb(\î¶è‚ð¶è-ñ¶è+¤îè åŸîè )¢îè’(:£îè‚(š¥îè( §îè;(©îè~ýîèvÿîèb(¹ïè‚rïèïè+ñ°&é ³&é Sµ&é’(k¶&é‚(̸&é( Mº&é;(>¼&éª'éœ'éb(ß'é‚‘'éž'é+­Â^é îÄ^é 5Ç^é’(@È^é‚(“Ê^é( Ì^é;(Î^é“"_é‰$_éb(0&_é‚è'_é÷(_é+j–é'–é 3!–é‚þ#–é;'–é !1–ébZ4–é‚ý5–é 7–é+G֖é ›Ø–é áږé’( ܖé‚(jޖé(  à–é;(â–é7—éÔ9—éb(W;—é‚=—é%>—é+~4Îé;!7Îé++éÎé pëÎé ³íÎé’(ØîÎé‚(+ñÎé( ÆòÎé;(ÀôÎé”IÏé•KÏéb(ÊMÏé‚„OÏé‘PÏé+§ûê äýê -ê’(Tê‚(´ê( 6ê;('ê—[ê‰]êb(Ì_ê‚~aêbê+š -?ê Ì?ê ?ê’(?ê‚({?ê( ý?ê;(ó?ê„m?êuo?êb(¸q?ê‚os?ê|t?ê+ò wê /#wê z%wê’(–&wê‚(é(wê( k*wê;(`,wê܀wê΂wêb(u„wê‚'†wê6‡wê+¯z®êp}®ê ˆ®ê‚\‚®ê;x…®ê ㎮êb)’®ê‚̓®ê۔®ê+13¯ê ’5¯ê é7¯ê’(ý8¯ê‚(V;¯ê( ò<¯ê;(?¯ê§”¯ê -—¯êb(ž˜¯ê‚cš¯êr›¯ê+&“æê;ɕæê+cFçê ¤Hçê âJçê’(ùKçê‚(LNçê( çOçê;(íQçꎦçꍨçêb(ªçê‚w¬çê“­çê+ -Zë N\ë ’^ë’(£_ë‚(bë( „cë;(weëý¹ëî»ëb(1¾ë‚è¿ë÷Àë+lWë .nWë bpWë’(zqWë‚(ÛsWë( \uWë;(MwWë¸ËWëªÍWëb(íÏWë‚£ÑWë°ÒWë+&ë gë ®ƒë’(¹„ë‚(‡ë( “ˆë;(•Šëߏëáëb(¯âë‚gäëvåë+éØÆë¦ÛÆë ²ÝÆë‚sàÆë;’ãÆë ÷ìÆëb=ðÆë‚ÚñÆëéòÆë+J‘Çë §“Çë í•Çë’(—Çë‚(v™Çë( ›Çë;(,Çë•òÇë×ôÇëb(ZöÇë‚øÇë(ùÇë+òðþë;•óþë+/¤ÿë t¦ÿë ·¨ÿë’(Ü©ÿë‚(/¬ÿë( Ê­ÿë;(įÿë§ì«ìb(àì‚š
-ì§ ì+&¸7ì cº7ì ¬¼7ì’(Ó½7ì‚(3À7ì( µÁ7ì;(¦Ã7ì8ì8ìb(E8ì‚ò8ì8ì+Êoì EÌoì }Îoì’(•Ïoì‚(ôÑoì( vÓoì;(gÕoìâ)pìÓ+pìb(.pì‚Ñ/pìÞ0pì+Pݧì ß§ì Øá§ì’(ôâ§ì‚(Gå§ì( Éæ§ì;(¾è§ì:=¨ì,?¨ìb(Ó@¨ì‚…B¨ì”C¨ì+5ßìZ8ßì r:ßì‚I=ßì;g@ßì ØIßìbMßì‚ÁNßìÐOßì+ïßì ðñßì Gôßì’([õßì‚(´÷ßì( Pùßì;(|ûßì&QàìŒSàìb(Uàì‚âVàìñWàì+5Ní;ØPí+âí #í aí’(xí‚(Ë
-í( f í;(lí -cí eíb(Agí‚öhíjí+!Pí bPí ¦Pí’(·Pí‚(Pí( ˜Pí;(‹ PíûtPíìvPíb(/yPí‚æzPíõ{Pí+i(ˆí —*ˆí Ë,ˆí’(ã-ˆí‚(D0ˆí( Å1ˆí;(¶3ˆí!ˆˆíŠˆíb(VŒˆí‚ Žˆíˆí+;Àí Ð=Àí @Àí’("AÀí‚(uCÀí( öDÀí;(øFÀíu›ÀíkÀíb(ŸÀí‚Ê ÀíÙ¡Àí+ܓ÷í™–÷í ¥˜÷í‚f›÷í;…ž÷í î§÷íb?«÷í‚â¬÷íñ­÷í+®Møí Pøí TRøí’(~Søí‚(ÝUøí( ~Wøí;(•Yøí¯øíV±øíb(Ù²ø킘´øí§µøí+¬/î;¤®/î+®`0î ób0î +e0î’(Bf0î‚( h0î( ;j0î;(>l0îÁ0î%Ã0îb(ZÅ0î‚Ç0î0È0î+:shî guhî Èwhî’(ïxhî‚(–{hî( (}hî;(hîgÓhî€Õhîb(Ã×hî‚pÙhîÚhî+‡ î 2‰ î w‹ î’(›Œ î‚(úŽ î( { î;(n’ î¾æ î¯è îb(òê î‚©ì î¶í î+Á˜Øî þšØî IØî’(ežØî‚(¸ Øî( :¢Øî;(+¤ØîtøØîfúØîb( -üØî‚¿ýØîÎþØî+Hòïõï ÷ï‚ìùï; ýï vïb¼ ï‚l ï{ ï+5¬ï –®ï í°ï’(²ï‚(Z´ï( úµï;((¸ïh -ïÍïb(Pï‚ï$ï+w
-Hï; -Hï+$¿Hï eÁHï £ÃHï’(ºÄHï‚( -ÇHï( ¨ÈHï;(®ÊHï4Iï3!Iïb(h#Iï‚%Iï9&Iï+Hрï ‰Ó€ï ÍՀï’(Þրï‚(>ـï( ¿Ú€ï;(²Ü€ï1ïò2ïb(55ï‚ì6ïû7ï+oä¸ï æ¸ï Ñè¸ï’(éé¸ï‚(Jì¸ï( Ëí¸ï;(¼ï¸ïöC¹ïèE¹ïb(+H¹ï‚ÝI¹ïêJ¹ï+d÷ðï ¥ùðï ìûðï’(÷üðï‚(Jÿðï( Ëñï;(ÍñïWñïYñïb(µZñï‚m\ñï|]ñï+ðP(ð±S(ð ¸U(ð‚yX(ð;˜[(ð e(ðb;h(ð‚Þi(ðíj(ð+Á
-)ð  -)ð d)ð’(Ž)ð‚(í)ð( Ž)ð;(£)ðãk)ð(n)ðb(«o)ð‚jq)ðyr)ð+Òh`ð;uk`ð+að Äað "að’(,#að‚(%að( 'að;()aðÌ}aðÐaðb(‚að‚¿ƒað̄að+å/™ð "2™ð k4™ð’(’5™ð‚(ò7™ð( t9™ð;(e;™ðϏ™ðÁ‘™ðb(”™ð‚±•™ðÀ–™ð+ÒAÑð DÑð <FÑð’(TGÑð‚(³IÑð( 5KÑð;(&MÑð¡¡Ñð’£Ñðb(Õ¥Ñð‚Œ§Ñð™¨Ñð+U ñ LW ñ —Y ñ’(³Z ñ‚(] ñ( ˆ^ ñ;(}` ñù´ ñë¶ ñb(’¸ ñ‚Dº ñS» ñ+Ì®@ñ‰±@ñ œ³@ñ‚s¶@ñ;‘¹@ñ úÂ@ñb@Æ@ñ‚ãÇ@ñòÈ@ñ+¹hAñ kAñ qmAñ’(…nAñ‚(ÞpAñ( zrAñ;(§tAñIÊAñ¯ÌAñb(@ÎAñ‚ÐAñÑAñ+YÇxñ;üÉxñ+–zyñ ×|yñ yñ’(,€yñ‚(‚yñ( „yñ;( †yñÁÚyñÀÜyñb(õÞyñ‚ªàyñÆáyñ+@Ž±ñ ±ñ Œ±ñ’(֓±ñ‚(6–±ñ( ·—±ñ;(ª™±ñî±ñ ð±ñb(Nò±ñ‚ô±ñõ±ñ+ éñ K¢éñ ¤éñ’(—¥éñ‚(ø§éñ( y©éñ;(j«éñÕÿéñÇêñb(
-êñ‚ÀêñÍêñ+C³!ò „µ!ò Ë·!ò’(Ö¸!ò‚()»!ò( ª¼!ò;(¬¾!ò)"ò"òb(Æ"ò‚~"ò"ò+ -YòÅYò åYò‚¦Yò;ÅYò .!Yòbt$Yò‚&Yò&'Yò+}ÅYò ÑÇYò ÊYò’(AËYò‚( ÍYò( AÏYò;(DÑYòº&Zòÿ(Zòb(‚*Zò‚A,ZòP-Zò+%‘ò;½'‘ò+Wؑò œÚ‘ò ßܑò’(ޑò‚(Wà‘ò( òá‘ò;(ìã‘òÀ8’òÁ:’òb(ö<’ò‚°>’ò½?’ò+>ìÉò {îÉò ÄðÉò’(ëñÉò‚(KôÉò( ÍõÉò;(Â÷Éò3LÊò%NÊòb(hPÊò‚RÊò)SÊò+6þó hó  ó’(¸ó‚(ó( ™ó;(Ž ó%^ó`ób(Ybó‚dó"eó+“:ó Ð:ó :ó’(7:ó‚(Š:ó(  :ó;(ý:ó}q:óos:ób(u:ó‚Èv:ó×w:ó+àiqólqó °nqó‚}qqó;™tqó ~qóbIqó‚ò‚qó„qó+Â#ró #&ró z(ró’(Ž)ró‚(ç+ró( ƒ-ró;(¯/róƒ…róé‡rób(z‰ró‚?‹róNŒró+”‚©ó;7…©ó+A7ªó ‚9ªó À;ªó’(×<ªó‚(*?ªó( Å@ªó;(ËBªól—ªók™ªób( ›ªó‚Uªóqžªó+€Iâó ÁKâó Nâó’(Oâó‚(vQâó( ÷Râó;(êTâój©âó[«âób(ž­âó‚U¯âód°âó+Ø\ô _ô :aô’(Rbô‚(³dô( 4fô;(%hô‘¼ôƒ¾ôb(ÆÀô‚|Âô‰Ãô+ÿoRô @rRô ‡tRô’(’uRô‚(åwRô( fyRô;(h{RôåÏRôÛÑRôb(†ÓRô‚9ÕRôHÖRô+Lȉô ˉô ͉ô‚Òωô;õ҉ô X܉ôbžß‰ô‚Aá‰ôPâ‰ô+‚Šô z„Šô À†Šô’(ꇊô‚(IŠŠô( ꋊô;(ŽŠô†ãŠôËåŠôb(NçŠô‚ -éŠôêŠô+vàÁô;ãÁô+#•Âô h—Âô «™Âô’(КÂô‚(#Âô( ¾žÂô;(¸ Âô›õÂôŸ÷Âôb(ÔùÂô‚ŽûÂô›üÂô+¯§úô ì©úô 5¬úô’(\­úô‚(¼¯úô( >±úô;(/³úô™ûô‹ ûôb(Î ûô‚{ -ûôŠûô+»2õ 9½2õ q¿2õ’(‰À2õ‚(èÂ2õ( jÄ2õ;([Æ2õÖ3õÇ3õb(
-3õ‚Á 3õÎ!3õ+ÙÌjõ Ïjõ aÑjõ’(}Òjõ‚(ÐÔjõ( RÖjõ;(GØjõÃ,kõµ.kõb(\0kõ‚2kõ3kõ+–&¢õS)¢õ f+¢õ‚3.¢õ;O1¢õ ì:¢õb2>¢õ‚Õ?¢õä@¢õ+xà¢õ Ùâ¢õ 0å¢õ’(Dæ¢õ‚(è¢õ( 9ê¢õ;(fì¢õB£õnD£õb(ÿE£õ‚ÄG£õÓH£õ+?Úõ;»AÚõ+UòÚõ –ôÚõ ÔöÚõ’(ë÷Úõ‚(>úÚõ( ÙûÚõ;(ßýÚõ€RÛõTÛõb(´VÛõ‚iXÛõ…YÛõ+ÿö @ö „
-ö’(— ö‚(÷ -ö( xö;(iöÙeöÊgöb( -jö‚ÄköÓlö+GKö uKö ©Kö’(ÁKö‚("!Kö( £"Kö;(”$KöÿxKöñzKöb(4}Kö‚ê~Kö÷Kö++ƒö C-ƒö Š/ƒö’(•0ƒö‚(è2ƒö( i4ƒö;(k6ƒö芃öތƒöb(…Žƒö‚=ƒöL‘ƒö+À„ºö‡ºö ¡‰ºö‚bŒºö;ƒºö 혺öb3œºö‚֝ºö垺ö+­>»ö A»ö GC»ö’(qD»ö‚(ÐF»ö( qH»ö;(xJ»ö䟻ö)¢»öb(¬£»ö‚k¥»öz¦»ö+Ԝòö;wŸòö+Qóö ÆSóö  Vóö’(.Wóö‚(Yóö( [óö;(]óöï±óöð³óöb(%¶óö‚ß·óöñ¸óö+d+÷ ?f+÷ ˆh+÷’(¯i+÷‚(l+÷( ‘m+÷;(‚o+÷òÃ+÷äÅ+÷b('È+÷‚ÙÉ+÷èÊ+÷+õuc÷ 'xc÷ _zc÷’(}{c÷‚(Ü}c÷( ^c÷;(Sc÷äÕc÷Õ×c÷b(Úc÷‚ÏÛc÷ÜÜc÷+R‰›÷ ‹›÷ ڍ›÷’(öŽ›÷‚(I‘›÷( ˒›÷;(¼”›÷Gé›÷9ë›÷b(àì›÷‚’î›÷¡ï›÷+ãÒ÷ØåÒ÷ ëçÒ÷‚¹êÒ÷;ÙíÒ÷ C÷Ò÷b‰úÒ÷‚,üÒ÷;ýÒ÷+’›Ó÷ óÓ÷ J Ó÷’(^¡Ó÷‚(·£Ó÷( S¥Ó÷;(„§Ó÷ýÓ÷lÿÓ÷b(ýÔ÷‚ÂÔ÷ÑÔ÷+‡û
-ø;*þ
-ø+î ø ± ø B³ ø’(Y´ ø‚(¬¶ ø( G¸ ø;(Mº øï øë øb(  ø‚Õ øñ ø+hÂCø ©ÄCø íÆCø’(þÇCø‚(^ÊCø( ßËCø;(ÒÍCøR"DøC$Døb(†&Dø‚=(DøL)Dø+UÔ{ø ƒÖ{ø ·Ø{ø’(ÏÙ{ø‚(.Ü{ø( ¯Ý{ø;(¢ß{ø4|ø6|øb(C8|ø‚ù9|ø;|ø+|ç³ø ½é³ø ì³ø’(í³ø‚(bï³ø( ãð³ø;(åò³øbG´øXI´øb(ÿJ´ø‚·L´øÆM´ø+9AëøöCëø ýEëø‚ÈHëø;çKëø KUëøb‘Xëø‚4ZëøC[ëø+ ùëø ýûëø Cþëø’(mÿëø‚(Ììø( mìø;(“ìø [ìøN]ìøb(Ñ^ìø‚`ìøŸaìø+iY#ù; \#ù+¥ $ù ê$ù -$ù’(R$ù‚(¥$ù( @$ù;(:$ùm$ù"o$ùb(Wq$ù‚s$ùt$ù+7\ù t!\ù ½#\ù’(ä$\ù‚(D'\ù( Æ(\ù;(·*\ù!\ù\ùb(Vƒ\ù‚…\ù†\ù+2”ù Á4”ù ù6”ù’(8”ù‚(p:”ù( ò;”ù;(ã=”ù^’”ùO””ùb(’–”ù‚I˜”ùV™”ù+ÌEÌù  HÌù TJÌù’(pKÌù‚(ÃMÌù( DOÌù;(5QÌù°¥Ìù¢§Ìùb(I©Ìù‚ûªÌù
-¬Ìù+žúРú è¢ú‚µ¥ú;Ѩú <²úb‚µú‚%·ú4¸ú+ûWú \Zú ³\ú’(Ç]ú‚( `ú( ¼aú;(ícú¹úö»úb(‡½ú‚L¿ú[Àú+ ¶;ú;C¹;ú+Mk<ú Žm<ú Ìo<ú’(ãp<ú‚(6s<ú( Ñt<ú;(×v<úyË<úuÍ<úb(ªÏ<ú‚_Ñ<ú{Ò<ú+‡}tú Ètú  ‚tú’(ƒtú‚(}…tú( þ†tú;(ñˆtúaÝtúRßtúb(•átú‚Lãtú[ätú+ϐ¬ú ý’¬ú 1•¬ú’(I–¬ú‚(¨˜¬ú( )š¬ú;(œ¬ú‡ð¬úyò¬úb(¼ô¬ú‚nö¬ú{÷¬ú+õ£äú 6¦äú }¨äú’(ˆ©äú‚(Û«äú( \­äú;(^¯äúõåúæåúb(åú‚D åúS
-åú+Xüûÿû  û‚áû;û jûb£û‚Rûaû+*¶û ‡¸û ͺû’(÷»û‚(V¾û( ÷¿û;(Âû£ûèûb(kû‚*û9û+“Tû;<Tû+EÉTû ŠËTû ÍÍTû’(òÎTû‚(EÑTû( àÒTû;(ÚÔTû®)Uû¯+Uûb(ä-Uû‚ž/Uû«0Uû+Áیû þ݌û GàŒû’(náŒû‚(ÎãŒû( PåŒû;(AçŒû±;û£=ûb(æ?û‚˜Aû§Bû+ïÄû QñÄû ‰óÄû’(¡ôÄû‚(÷Äû( ‚øÄû;(wúÄû OÅûúPÅûb(=SÅû‚ôTÅûVÅû+ ýû Iýû ”ýû’(°ýû‚( ýû( …
-ýû;(z ýûö`ýûèbýûb(dýû‚AfýûPgýû+ÉZ4ü†]4ü ™_4ü‚fb4ü;‚e4ü ìn4üb2r4ü‚Õs4üät4ü+«5ü  5ü c5ü’(w5ü‚(Ð5ü( l5ü;(™ 5üv5üˆx5üb(z5ü‚â{5üñ|5ü+*slü;Íulü+×'mü *mü V,mü’(m-mü‚(À/mü( [1mü;(a3müˆmüÿ‰müb(4Œmü‚émümü+:¥ü R<¥ü –>¥ü’(§?¥ü‚(B¥ü( ˆC¥ü;({E¥üû™¥ü웥üb(/ž¥ü‚查üõ ¥ü+iMÝü —OÝü ËQÝü’(ãRÝü‚(DUÝü( ÅVÝü;(¶XÝü"­Ýü¯Ýüb(W±Ýü‚ -³Ýü´Ýü+%_ý faý ­cý’(¸dý‚( gý( Œhý;(Žjý ¿ýÁýb(¨Âý‚`ÄýoÅý+â¸LýŸ»Lý ¦½Lý‚gÀLý;†ÃLý éÌLýb/ÐLý‚ÒÑLýáÒLý+®rMý  uMý QwMý’({xMý‚(ÚzMý( {|Mý;(~MýüÓMýAÖMýb(Ä×Mý‚ƒÙMý’ÚMý+ëЄý;ŽÓ„ý+˜……ý ݇…ý  Š…ý’(E‹…ý‚(˜…ý( 3…ý;(-‘…ýæ…ýè…ýb(Jê…ý‚ì…ýí…ý+*˜½ý gš½ý °œ½ý’(ם½ý‚(7 ½ý( ¹¡½ý;(ª£½ýø½ýú½ýb(Iü½ý‚öý½ýÿ½ý+ªõý I¬õý ®õý’(™¯õý‚(ø±õý( z³õý;(kµõýæ öý× öýb(öý‚ÑöýÞöý+[½-þ ˜¿-þ ãÁ-þ’(ÿÂ-þ‚(RÅ-þ( ÓÆ-þ;(ÈÈ-þC.þ5.þb(Ü .þ‚Ž".þ#.þ+eþØeþ eþ‚Òeþ;ð!eþ Ì+eþb/eþ‚µ0eþÄ1eþ+Ñeþ {Óeþ ÒÕeþ’(æÖeþ‚(?Ùeþ( ÛÚeþ;(Ýeþ©2fþ5fþb( 6fþ‚e8fþt9fþ+º/þ;]2þ+öâþ 7åþ uçþ’(Œèþ‚(ßêþ( zìþ;(€îþ"CžþEžþb(SGžþ‚Ižþ$Jžþ+›öÕþ ÜøÕþ  ûÕþ’(1üÕþ‚(‘þÕþ( Öþ;(ÖþzVÖþkXÖþb(®ZÖþ‚e\Öþt]Öþ+}ÿ «
-ÿ ß ÿ’(÷ -ÿ‚(Xÿ( Ùÿ;(Êÿ;hÿ-jÿb(plÿ‚&nÿ3oÿ+©Fÿ êFÿ 1 Fÿ’(<!Fÿ‚(#Fÿ( %Fÿ;('Fÿ•{Fÿ‹}Fÿb(2Fÿ‚ê€FÿùFÿ+lu}ÿ)x}ÿ 0z}ÿ‚ñ|}ÿ;€}ÿ y‰}ÿb¿Œ}ÿ‚bŽ}ÿq}ÿ+È-~ÿ 0~ÿ b2~ÿ’(Œ3~ÿ‚(ë5~ÿ( Œ7~ÿ;(9~ÿ~ÿJ‘~ÿb(͒~ÿ‚Œ”~ÿ›•~ÿ+eµÿ;µÿ+¡@¶ÿ æB¶ÿ )E¶ÿ’(NF¶ÿ‚(¡H¶ÿ( <J¶ÿ;(6L¶ÿ
-¡¶ÿ £¶ÿb(@¥¶ÿ‚ú¦¶ÿ¨¶ÿ+ˆTîÿ ÅVîÿ Yîÿ’(5Zîÿ‚(•\îÿ( ^îÿ;(`îÿx´îÿj¶îÿb(­¸îÿ‚_ºîÿn»îÿ+{f& ­h& åj&’(ýk&‚(\n&( Þo&;(Óq&eÆ&VÈ&b(™Ê&‚PÌ&]Í&+Óy^ |^ [~^’(w^‚(ʁ^( Lƒ^;(A…^½Ù^¯Û^b(VÝ^‚ß^à^+ ҕÝԕ ð֕‚Èٕ;äܕ …æ•bË镂në•}ì•+ -Œ– nŽ– Ֆ’(ّ–‚(2”–( Ε–;(ú—–{í–áï–b(rñ–‚7ó–Fô–+ŒêÍ;/íÍ+9ŸÎ z¡Î ¸£Î’(Ϥ΂("§Î( ½¨Î;(êÎdÿÎcÏb(˜Ï‚MÏiÏ+x± ¹³ ýµ’(·‚(n¹( ïº;(â¼bSb(–‚M\+ÐÄ> þÆ> 2É>’(JÊ>‚(«Ì>( ,Î>;(Ð>‰$?{&?b(¾(?‚t*?+?+÷×v 8Úv Üv’(ŠÝv‚(Ýßv( ^áv;(`ãvÝ7wÓ9wb(z;w‚2=wA>w+D0®3® 5®‚É7®;ì:® PD®b–G®‚9I®HJ®+ê® rì® ¸î®’(âﮂ(Aò®( âó®;(÷õ®iK¯­M¯b(0O¯‚ïP¯þQ¯+XHæ;ûJæ+ýæ Jÿæ ç’(µç‚(ç( £ç;(™ç}]ç_çb(¶aç‚pcçŒdç+‘ Ð $’(K‚(«( ,;(!‹oqb(Âs‚ou~v+ÿ"W 1%W i'W’((W‚(à*W( b,W;(S.W΂W¿„Wb(‡W‚¹ˆWƉW+<6 y8 Ä:’(à;‚(3>( ´?;(¥A –˜b(¹™‚k›zœ+ƒŽÆD‘Æ p“Æ‚>–Æ;^™Æ Ç¢Æb -¦Æ‚°§Æ¿¨Æ+†HÇ çJÇ >MÇ’(RNÇ‚(«PÇ( GRÇ;(sTǪÇk¬Çb(î­Ç‚³¯Ç°Ç+§þ;¹©þ+Ã[ÿ ^ÿ B`ÿ’(Yaÿ‚(¬cÿ( Geÿ;(Mgÿ¼ÿ¾ÿb(8Àÿ‚íÁÿ Ãÿ+n7 Yp7 £r7’(´s7‚(v7( •w7;(†y7÷Í7èÏ7b(+Ò7‚âÓ7ñÔ7+eo “ƒo Džo’(߆o‚(@‰o( ÁŠo;(²Œo.áo ãob(cåo‚ço&èo+1“§ r•§ ¹—§’(ʧ‚(›§( ˜œ§;(šž§(ó§õ§b(Åö§‚}ø§Œù§+ÿìÞ¼ïÞ ÃñÞ‚„ôÞ;£÷Þ  ßb]ß‚ßß+˦ß (©ß m«ß’(—¬ß‚(ö®ß( ˜°ß;(òß)àn
-àb(ñ à‚° -à¿à+;¼+ƹ  ¼ C¾’(Z¿‚(¸Á( SÃ;(VÅ=b(r‚1 M!+RÌO ÎO àÐO’(ÒO‚(®ÔO( @ÖO;(5ØOñ,P/Pb(_1P‚ 3P4P+1߇ cᇠ¨ã‡’(Ì䇂(+ç‡( ¬è‡;(Ÿê‡s?ˆdAˆb(§Cˆ‚^EˆkFˆ+vñ¿ ³ó¿ þõ¿’(÷¿‚(mù¿( ïú¿;(àü¿qQÀcSÀb(
-UÀ‚¼VÀËWÀ+DK÷N÷ P÷‚ëR÷;ýU÷ x_÷b¾b÷‚nd÷}e÷+&ø ‡ø Þ ø’(ò
-ø‚(K -ø( ëø;(øšføiøb(ƒjø‚HløWmø+«c/;Nf/+ç0 (0 f0’(}0‚(Ð0( k 0;(q"0#w0"y0b(W{0‚ }0(~0+¢*h ã,h '/h’(80h‚(˜2h( 4h;( 6h‡ŠhxŒhb(»Žh‚rh‘h+Š<  ¸>  ì@ ’(B ‚(eD ( æE ;(×G =œ /ž b(r  ‚(¢ 5£ +«OØ ìQØ 3TØ’(>UØ‚(‘WØ( YØ;([Ø‹¯Ø±Øb((³Ø‚à´ØïµØ+c© ¬ ,®‚í°;´ z½bÀÀ‚cÂrÃ+:c —e Ýg’(i‚(fk( m;(o|ÄÁÆb(DÈ‚ÊË+lÁG;ÄG+vH ^xH ¡zH’(Æ{H‚(~H( ´H;(®H‘ÖH•ØHb(ÊÚH‚„ÜH‘ÝH+¥ˆ€ ⊀ +€’(RŽ€‚(²€( 4’€;(%”€»è€­ê€b(ð쀂î€¬ï€+¾š¸ 𜸠(Ÿ¸’(@ ¸‚(Ÿ¢¸( !¤¸;(¦¸¹ú¸ªü¸b(íþ¸‚¤¹¶¹+'®ð d°ð ¯²ð’(˳ð‚(¶ð(  ·ð;(•¹ðBñ4ñb(Ûñ‚ñ ñ+¥(f ( y (‚F(;d( Û(b!(‚Ä(Ó (+À( îÂ( EÅ(’(YÆ(‚(²È(( NÊ(;(zÌ(H")$)b(.&)‚ó')))+=`;à!`+êÓ` +Ö` iØ`’(€Ù`‚(ÓÛ`( nÝ`;(tß`B4a>6ab(s8a‚(:aD;a+Pæ˜ ‘è˜ Õꘒ(æ똂(Fî˜( Çï˜;(ºñ˜VF™GH™b(ŠJ™‚AL™PM™+YøÐ ‡úÐ »üÐ’(ÓýЂ(4Ñ( µÑ;(¦Ñ=XÑ/ZÑb(r\Ñ‚(^Ñ5_Ñ+«  ì -  3 ’(> ‚(‘ (  ;( ½k ³m b(Zo ‚q !r +•e@Rh@ Yj@‚m@;=p@ §y@bí|@‚~@Ÿ@+öA J A "A’(º#A‚(&A( º'A;(Á)A_A¤Ab('ƒA‚æ„Aõ…A+¿}x;b€x+û0y @3y ƒ5y’(¨6y‚(û8y( –:y;(<y‘y‘“yb(ƕy‚€—y˜y+£C± àE± )H±’(PI±‚(°K±( 1M±;("O±¿£±±¥±b(ô§±‚¦©±µª±+-Wé _Yé —[é’(¯\é‚(_é( `é;(€bé=·é.¹éb(q»é‚(½é5¾é+@i! }k! Èm! ’(än! ‚(7q! ( ¹r! ;(ªt! QÉ! CË! b(êÌ! ‚œÎ! «Ï! +$ÃX áÅX ôÇX ‚ËÊX ;éÍX 9ØX bÛX ‚"ÝX 1ÞX +}Y rY ɁY ’(݂Y ‚(6…Y ( ҆Y ;(ÿˆY ¬ÞY áY b(’âY ‚WäY fåY +¡Û ;Dސ +ݎ‘ ‘‘ \“‘ ’(s”‘ ‚(Ɩ‘ ( a˜‘ ;(gš‘ 5ï‘ 1ñ‘ b(fó‘ ‚õ‘ 7ö‘ +®¢É ï¤É 3§É ’(D¨É ‚(¤ªÉ ( %¬É ;(®É ÄÊ µÊ b(øÊ ‚¯Ê ¾ Ê +δ
- ü¶
- 0¹
-’(Hº
-‚(§¼
-( (¾
-;(À
-±
-£
-b(æ
-‚œ
-©
-+È9
- `Ê9
- §Ì9
-’(²Í9
-‚(Ð9
-( †Ñ9
-;(ˆÓ9
-1(:
-'*:
-b(Î+:
-‚†-:
-•.:
-+˜ q
-Y#q
- y%q
-‚:(q
-;]+q
- À4q
-b8q
-‚©9q
-¸:q
-+…Úq
- âÜq
- (ßq
-’(Ràq
-‚(±âq
-( Räq
-;(xæq
-<r
-_>r
-b(â?r
-‚¡Ar
-°Br
-+
-9©
-;­;©
-+·í©
- üï©
- ?ò©
-’(dó©
-‚(·õ©
-( R֩
-;(Lù©
-aNª
-ePª
-b(šRª
-‚TTª
-fUª
-+zâ
- ·â
- â
-’('â
-‚(‡â
-( 
-;(ú â
-`â
-‚bâ
-b(Ådâ
-‚rfâ
-gâ
-+“ Å ý ’( ‚(t ( û ;(ì “r „t b(Çv ‚~x ‹y +&R >(R ‰*R ’(¥+R ‚(ø-R ( z/R ;(k1R "†R ˆR b(»‰R ‚m‹R |ŒR +…~‰ B‰ Uƒ‰ ‚"†‰ ;>‰‰ ¨’‰ b ‚‘—‰  ˜‰ +g8Š È:Š =Š ’(3>Š ‚(Œ@Š ( (BŠ ;(UDŠ #šŠ xœŠ b( žŠ ‚ϊ Ý Š +—Á ;»™Á +ÅK N DP ’([Q ‚(®S ( IU ;(OW ¬Â ®Â b(P°Â ‚²Â !³Â +0^ú q`ú µbú ’(Æcú ‚(&fú ( §gú ;(šiú 6¾ú 'Àú b(jÂú ‚!Äú 4Åú +¤q2 Òs2 v2 ’(w2 ‚(y2 ( {2 ;(ñ|2 ˆÑ2 zÓ2 b(½Õ2 ‚o×2 |Ø2 +‹ƒj ̅j ˆj ’(‰j ‚(q‹j ( òŒj ;(ôŽj ãj “åj b(:çj ‚òèj êj +uÝ¡ 2à¡ 9â¡ ‚å¡ ;#è¡ Œñ¡ bÅô¡ ‚hö¡ w÷¡ +L—¢  ™¢ 曢 ’(¢ ‚(oŸ¢ ( ¡¢ ;(£¢ ºø¢ ÿú¢ b(‚ü¢ ‚Aþ¢ Pÿ¢ +ªõÙ ;MøÙ +æ¨Ú +«Ú n­Ú ’(“®Ú ‚(æ°Ú ( ²Ú ;({´Ú { Û | Û b(± -Û ‚kÛ xÛ +ù¼ - 6¿ - Á -’(¦Â -‚(Å -( ˆÆ -;(yÈ - - -b(J! -‚ü" - $ -+ÏJ - JÑJ - ‚ÓJ -’(šÔJ -‚(ùÖJ -( {ØJ -;(pÚJ -./K -1K -b(b3K -‚5K -&6K -+œâ‚ - Ùä‚ - $ç‚ -’(@è‚ -‚(“ê‚ -( ì‚ -;(
-î‚ -²Bƒ -¤Dƒ -b(KFƒ -‚ýGƒ - Iƒ -+;º -Ò=º - å?º -‚³Bº -;ÓEº - =Oº -bƒRº -‚&Tº -5Uº -+üôº - ]÷º - ´ùº -’(Ëúº -‚($ýº -( Àþº -;(ì» -£V» -øX» -b(‰Z» -‚N\» -]]» -+œSò -;?Vò -+Ió - Š
-ó - È ó -’(ß -ó -‚(2ó -( Íó -;(Óó -¡hó -jó -b(Òló -‚‡nó -£oó -+¯+ ð+ 4+’(E +‚(¥"+( &$+;(&+Åz+¶|+b(ù~+‚°€+¿++È,c ö.c *1c’(B2c‚(¡4c( "6c;(8c­ŒcŸŽcb(âc‚˜’c¥“c+@› \B› £D›’(®E›‚(H›( ‚I›;(„K›- ›#¢›b(Ê£›‚‚¥›‘¦›+”˜ÒU›Ò aÒ‚" Ò;A£Ò ¦¬Òbì¯Ò‚±Òž²Ò+kRÓ ÈTÓ WÓ’(8XÓ‚(—ZÓ( 8\Ó;(^^Ó´ÓJ¶Ób(Í·Ó‚Œ¹Ó›ºÓ+õ°
-;˜³
-+¢e  íg  0j ’(Uk ‚(¨m ( Co ;(=q LÆ PÈ b(…Ê ‚?Ì LÍ +exC ¢zC ë|C’(~C‚(r€C( ôC;(åƒC‹ØCÚCb(ÂÜC‚oÞC~ßC+”Š{ ƌ{ þŽ{’({‚(u’{( ÷“{;(è•{ê{€ì{b(Ãî{‚zð{‡ñ{+ý³ : ³ …¢³’(¡£³‚(ô¥³( v§³;(k©³þ³´b(¬´‚^´m´+vöê3ùê Kûê‚þê;4ë Ñ
-ëb낺ëÉë+]°ë ¾²ë µë’()¶ë‚(‚¸ë( ºë;(K¼ë ì}ìb(ì‚Óìâì+#;¼#+ÆÃ# Æ# EÈ#’(\É#‚(¯Ë#( JÍ#;(PÏ#$$&$b(Q($‚*$"+$+1Ö[ rØ[ ¶Ú[’(ÇÛ[‚('Þ[( ¨ß[;(›á[76\(8\b(k:\‚"<\1=\+¥é“ Óë“ î“’(ï“‚(~ñ“( ÿò“;(óô“‰I”{K”b(¾M”‚tO”P”+ŒûË ÍýË Ì’(Ì‚(rÌ( óÌ;(õ̸[Ì©]Ìb(P_Ì‚aÌbÌ+ŒUIX UZ‚ ];?` ©ibïl‚žn­o+h Å  ’(5‚(”( 5;([
-qMsb(Ðt‚vžw+øm;;›p;+4!< y#< ¼%<’(á&<‚(4)<( Ï*<;(É,<Ɂ<ʃ<b(ÿ…<‚¹‡<ƈ<+Ü3t 6t b8t’(‰9t‚(é;t( k=t;(\?tø“tê•tb(-˜t‚ߙtîšt+fG¬ ˜I¬ ÐK¬’(èL¬‚(GO¬( ÈP¬;(¹R¬v§¬g©¬b(ª«¬‚a­¬n®¬+yYä ¶[ä ^ä’(_ä‚(paä( ñbä;(âd䏹䁻äb((½ä‚Ú¾äé¿ä+c³!¶ 9¸‚»;'¾ ‘Çb×Ê‚z̉Í+Pm ±o r’(s‚(uu( w;(=yñÎFÑb(×Ò‚œÔ«Õ+êËS;ÎS+'T hT ¦ƒT’(½„T‚(‡T( «ˆT;(±ŠT~ßT}áTb(²ãT‚gåTƒæT+ý’Œ >•Œ ‚—Œ’(“˜Œ‚(óšŒ( tœŒ;(gžŒóŒõŒb(G÷Œ‚þøŒ -úŒ+¥Ä D§Ä x©Ä’(ªÄ‚(ï¬Ä( p®Ä;(c°ÄÅòÅb(5 Å‚ç
-Åô Å+n¸ü ¯ºü ö¼ü’(¾ü‚(TÀü( ÕÁü;(×Ãü€ý|ýb(#ý‚Ûýêý+í4ª4 ¶4‚w4;–4 ù$4b2(4‚Õ)4ä*4+¾Ê4 Í4 aÏ4’(‹Ð4‚(êÒ4( ‹Ô4;( Ö4J,5.5b(05‚Ï15Þ25+8)l;Û+l+åÝl *àl mâl’(’ãl‚(åål( €çl;(zél‰>m@mb(ÂBm‚|Dm‰Em+ð¤ Úò¤ #õ¤’(Jö¤‚(ªø¤( +ú¤;(ü¤³P¥¥R¥b(èT¥‚•V¥¤W¥+¶Ý èÝ  Ý’(8Ý‚(—
-Ý(  Ý;( ݱbÝ¢dÝb(åfÝ‚œhÝ©iÝ+ \ §’(Â(( ˜;(!5v'xb(Îy‚‚{‘|+˜nLUqL msL‚DvL;byL ˂Lb†L‚´‡LÈL+Š(M ë*M B-M’(V.M‚(¯0M( K2M;(w4MMŠM£ŒMb(4ŽM‚ùM‘M+F‡„;鉄+ó;… 4>… r@…’(‰A…‚(ÜC…( wE…;(}G…Jœ…Iž…b(~ …‚3¢…O£…+^N½ ŸP½ ãR½’(ôS½‚(TV½( ÕW½;(ÈY½d®½U°½b(˜²½‚O´½^µ½+Òaõ dõ 4fõ’(Lgõ‚(«iõ( ,kõ;( mõ¶Áõ¨Ãõb(ëÅõ‚¡Çõ®Èõ+¹s- úu- Ax-’(Ly-‚(Ÿ{-(  }-;("-åÓ-ÖÕ-b(}×-‚4Ù-CÚ-+¹ÍdvÐd ‚Òd‚CÕd;bØd Ëádbåd‚ÀædÏçd+Š‡e ç‰e -Œe’(We‚(¶e( W‘e;(l“eéeYëeb(Üìe‚›îeªïe+æœ;§èœ+@™ …› ȝ’(힝‚(@¡( Û¢;(Ö¤ÕùÖûb( þ‚Åÿáž+è«Õ %®Õ y°Õ’( ±Õ‚(´Õ( ‚µÕ;(s·Õ ÖÖb(DÖ‚öÖÖ+}¿ - ¯Á - çà -’(ÿÄ -‚(^Ç -( ßÈ -;(ÐÊ -~!b(Á#‚x%‹&+ÑE ÍÓE ÖE’(4×E‚(‡ÙE( ÛE;(ùÜE¡1F“3Fb(:5F‚ì6Fû7F+t+}5.} M0}‚!3};=6} ¨?}bîB}‚‘D} E}+gå} Èç} ê}’(3ë}‚(Œí}( (ï};(Tñ}ýF~RI~b(ÕJ~‚šL~©M~+öCµ;™Fµ+3÷µ tùµ ²ûµ’(Éüµ‚(ÿµ( ·¶;(½¶§W¶ªY¶b(ß[¶‚”]¶°^¶+* î k -î ¯î’(Àî‚(&î( §î;(˜îFkî7mîb(zoî‚1qî@rî+I& w& «!&’(Ã"&‚($%&( ¥&&;(–(&>}&0&b(s&‚)ƒ&6„&+¬0^ í2^ 45^’(?6^‚(’8^( :^;(<^­^£’^b(J”^‚–^—^+‰•ы• ݍ•‚ž•;½“• &•bl •‚¢•£•+æB– :E– €G–’(ªH–‚( K–( ªL–;(­N–V¤–™¦–b(¨–‚Û©–ꪖ+D¡Í;ç£Í+ñUÎ 6XÎ yZÎ’(ž[΂(ñ]Î( Œ_Î;(†aÎœ¶Î¸Îb(Һ΂¼Î½Î+¯h ìj 5m’(\n‚(¼p( =r;(.tÊȼÊb(ÿÌ‚±ÎÀÏ+Íz> ÿ|> 7>’(O€>‚(®‚>( /„>;( †>ÍÚ>¾Ü>b(ß>‚¸à>Åá>+;Žv xv Òv’(ߓv‚(2–v( ³—v;(¤™vLîv>ðvb(åñv‚—óv¦ôv+¯æ­lé­ „ë­‚[î­;yñ­ Bû­bˆþ­‚+®:®+¡ ® £® Y¥®’(m¦®‚(ƨ®( bª®;(Ž¬®Y¯®¯b(?¯‚¯ ¯+Rÿå;õæ+ÿ³æ @¶æ ~¸æ’(•¹æ‚(è»æ( ƒ½æ;(‰¿æVçUçb(Šç‚?ç[ç+jÆ «È ïÊ’(Ì‚(`Î( áÏ;(ÔÑp&a(b(¤*‚[,j-+ÞÙV  ÜV @ÞV’(XßV‚(·áV( 8ãV;(,åVÂ9W´;Wb(÷=W‚©?W¶@W+ÅëŽ îŽ MðŽ’(XñŽ‚(«óŽ( ,õŽ;(.÷ŽóKéMb(O‚HQWR+ÊEƇHÆ ©JÆ‚jMÆ;‰PÆ íYÆb1]Æ‚ä^Æõ_Æ+²ÿÆ Ç žÇ’(ÈÇ‚('Ç( È Ç;(ñ Ç›aÇÞcÇb(aeÇ‚ gÇ/hÇ+‰^þ;,aþ+Åÿ 
-ÿ Bÿ’(Yÿ‚(·ÿ( Rÿ;(UÿCrÿhtÿb(vÿ‚Wxÿsyÿ+x$7 ¥&7 )7’(-*7‚(Ô,7( f.7;([07ф7ê†7b(-‰7‚ߊ7î‹7+ÿ6o 19o v;o’(š<o‚(ù>o( z@o;(mBoï–oà˜ob(#›o‚ڜoço+]J§ šL§ åN§’(P§‚(TR§( ÕS§;(ÆU§Aª§3¬§b(Ú­§‚Œ¯§›°§+¤ÞÓ¦Þ ë¨Þ‚¹«Þ;Ù®Þ H¸ÞbŽ»Þ‚>½ÞM¾Þ+‘\ß ò^ß Iaß’(]bß‚(¶dß( Vfß;(„hß¾ß]Àßb(àÁß‚¥Ãß´Äß+p¼;¿+­o îq ,t’(Cu‚(–w( 1y;(7{éÏåÑb(Ô‚ÏÕëÖ+bƒO £…O ç‡O’(øˆO‚(X‹O( ٌO;(̎OGãO8åOb({çO‚2éOAêO+J•‡ x—‡ ¬™‡’(̇‚(%‡( ¦ž‡;(— ‡ýô‡ïö‡b(2ù‡‚äú‡ñû‡+k¨¿ ¬ª¿ 󬿒(þ­¿‚(Q°¿( Ò±¿;(Ô³¿KÀA
-Àb(è À‚  -À¯À+#÷ë÷ ÷÷‚¸ ÷;× ÷ @÷by÷‚÷+÷+º÷ ì¼÷ 2¿÷’(\À÷‚(»Â÷( \Ä÷;(‚Æ÷ÿøBøb(Åø‚„!ø“"ø+]/;/+šÍ/ ßÏ/ "Ò/’(GÓ/‚(šÕ/( 5×/;(/Ù/.000b(K20‚4050+&àg câg ¬äg’(Óåg‚(3èg( µég;(¦ëg<@h.Bhb(qDh‚Fh-Gh+ªóŸ ÜõŸ øŸ’(,ùŸ‚(‹ûŸ(  ýŸ;(ýþŸ¥S –U b(ÙW ‚Y Z +¨Ø åØ 0
-Ø’(L Ø‚(Ÿ -Ø( !Ø;(ؾeØ°gØb(WiØ‚ kØlØ+‘_Nb fd‚=g;[j Åsb w‚®x½y+„ å <’(P‚(©!( E#;(v%L{¡}b(2‚÷€‚+ExG;èzG++H Â-H 0H’(1H‚(j3H( 5H;( 7HًHՍHb(
-H‚¿‘HےH+R?€ “A€ ×C€’(èD€‚(HG€( ÉH€;(¼J€XŸ€I¡€b(Œ£€‚C¥€R¦€+[Q¸ ‰S¸ ½U¸’(ÕV¸‚(6Y¸( ·Z¸;(¨\¸?±¸1³¸b(tµ¸‚&·¸3¸¸+­dð îfð 5ið’(@jð‚(“lð( nð;(pð¿ÄðµÆðb(\Èð‚Êð#Ëð+&½'ç¿' Â'‚ÈÄ';ëÇ' TÑ'bÔ'‚0Ö'?×'+w( gy( ­{(’(×|(‚(6(( ׀(;(à‚(‰Ø(ÌÚ(b(OÜ(‚Þ(ß(+wÕ_;Ø_+$Š` iŒ` ¬Ž`’(я`‚($’`( ¿“`;(¹•`¾ê`¿ì`b(ôî`‚®ð`Àñ`+ќ˜ Ÿ˜ W¡˜’(~¢˜‚(Þ¤˜( _¦˜;(P¨˜òü˜äþ˜b('™‚Ù™è™+õ®Ð '±Ð _³Ð’(w´Ð‚(Ö¶Ð( X¸Ð;(IºÐÑñÑb(4Ñ‚ëÑøÑ+n «Ä öÆ’(È‚(eÊ( æË;(×͏" $ b((& ‚Ú' é( +ò@¯@ Ç@‚”"@;°%@ /@ba2@‚4@5@+ÚÔ@ ;×@ ‹Ù@’(ŸÚ@‚(øÜ@( ”Þ@;(Áà@6AÖ8Ab(g:A‚,<A;=A+z3x;6x+'èx hêx ¦ìx’(½íx‚(ðx( «ñx;(±óx~Hy}Jyb(²Ly‚gNyƒOy+’ú° Óü° ÿ°’((±‚(ˆ±(  ±;(ü±¨Z±™\±b(à^±‚—`±¦a±+é Jé ~é’(–é‚(÷é( xé;(iénéòoéb(5ré‚çséôté+ ! D"! ‹$! ’(–%! ‚(é'! ( j)! ;(l+! €!  ‚! b(²ƒ! ‚j…! y†! +íyX ª|X ¶~X ‚X ; „X õX b.‘X ‚˒X ړX +É3Y &6Y l8Y ’(–9Y ‚(õ;Y ( –=Y ;(¼?Y a•Y ž—Y b(!™Y ‚àšY ï›Y +H’ ;딐 +…E‘ ÊG‘  -J‘ ’(2K‘ ‚(…M‘ (  O‘ ;(Q‘ )¦‘ -¨‘ b(bª‘ ‚¬‘ )­‘ +=XÉ zZÉ Ã\É ’(ê]É ‚(J`É ( ÌaÉ ;(½cÉ S¸É EºÉ b(ˆ¼É ‚5¾É D¿É +Ák! óm! +p!’(Cq!‚(¢s!( $u!;(w!¼Ë!­Í!b(ðÏ!‚§Ñ!´Ò!+¿}9! ü9! G‚9!’(cƒ9!‚(¶…9!( 8‡9!;(-‰9!ÕÝ9!Çß9!b(ná9!‚ ã9!/ä9!+¨×p!eÚp! ‘Üp!‚eßp!;ƒâp! Xìp!bžïp!‚Añp!Pòp!+«‘q!  ”q! \–q!’(p—q!‚(əq!( e›q!;(’q!hóq!½õq!b(N÷q!‚ùq!"úq!+jð¨!;ó¨!+©£©! ꥩ! (¨©!’(?©©!‚(’«©!( -­©!;(3¯©!ª!ÿª!b(4ª!‚é ª! ª!+·á! À¹á! ¼á!’(½á!‚(u¿á!( öÀá!;(éÂá!…â!vâ!b(¹â!‚pâ!â!+ˆÉ" ¶Ë" êÍ"’(Ï"‚(aÑ"( âÒ";(ÖÔ"l)"^+"b(¡-"‚S/"`0"+ÚÜQ" ßQ" báQ"’(mâQ"‚(ÀäQ"( AæQ";(CèQ"=R"÷>R"b(ž@R"‚UBR"dCR"+i5‰"*8‰" 6:‰"‚÷<‰";@‰" I‰"bÇL‰"‚vN‰"…O‰"+@ï‰" ñ‰" ãó‰"’( -õ‰"‚(l÷‰"(  -ù‰";(3û‰"ÛPŠ" SŠ"b(£TŠ"‚bVŠ"qWŠ"+ÊMÁ";mPÁ"+wÂ" ¼Â" ÿÂ"’(*Â"‚(}
-Â"(  Â";(Â"cÂ"eÂ"b(HgÂ"‚iÂ"jÂ"+%ú" bú" «ú"’(Òú"‚(2ú"( ´ú";(© ú"Quú"Cwú"b(†yú"‚8{ú"G|ú"+T'2# †)2# ¾+2#’(Ö,2#‚(5/2#( ¶02#;(§22#d‡2#U‰2#b(˜‹2#‚O2#\Ž2#+Ò:j# =j# Z?j#’(v@j#‚(ÉBj#( JDj#;(;Fj#ãšj#՜j#b(|žj#‚. j#=¡j#+F“¡#–¡# ˜¡#‚皡#;ž¡# n§¡#b´ª¡#‚W¬¡#f­¡#+-M¢# ŽO¢# åQ¢#’(ùR¢#‚(RU¢#( îV¢#;(Y¢#È®¢#±¢#b(®²¢#‚s´¢#†µ¢#+½«Ù#;`®Ù#+j`Ú# «bÚ# édÚ#’(fÚ#‚(ShÚ#( îiÚ#;(ôkÚ#ÁÀÚ#ÀÂÚ#b(õÄÚ#‚ªÆÚ#ÆÇÚ#+Õr$ u$ Zw$’(kx$‚(Ëz$( L|$;(?~$ëÒ$ÜÔ$b(×$‚ÖØ$åÙ$+Y†J$ ‡ˆJ$ »ŠJ$’(ӋJ$‚(4ŽJ$( µJ$;(¦‘J$>æJ$0èJ$b(sêJ$‚%ìJ$2íJ$+A˜‚$ ‚š‚$ ɜ‚$’(ԝ‚$‚(' ‚$( ¨¡‚$;(ª£‚$Sø‚$Iú‚$b(ðû‚$‚¨ý‚$·þ‚$+*ò¹$çô¹$ îö¹$‚¹ù¹$;Øü¹$ ”º$bÍ º$‚p º$ º$+¬º$ ^®º$ ¤°º$’(αº$‚(-´º$( εº$;(ô·º$œ -»$á»$b(d»$‚#»$2»$+‹
-ò$;. -ò$+Ƚò$  -Àò$ PÂò$’(uÃò$‚(ÈÅò$( cÇò$;(]Éò$ló$p ó$b(¥"ó$‚_$ó$l%ó$+€Ð*% ½Ò*% Õ*%’(-Ö*%‚(Ø*%( Ú*%;(Ü*%–0+%ˆ2+%b(Ë4+%‚x6+%‡7+%+äb% 6æb% nèb%’(†éb%‚(åëb%( gíb%;(Xïb%ÿCc%ðEc%b(3Hc%‚êIc%÷Jc%+öš% ?øš% Šúš%’(¦ûš%‚(ùýš%( |ÿš%;(q›%V›%
-X›%b(±Y›%‚c[›%r\›%+ëOÒ%©RÒ% ÕTÒ%‚¢WÒ%;ÀZÒ% *dÒ%bpgÒ%‚iÒ%"jÒ%+é Ó% J Ó% ¡Ó%’(µÓ%‚(Ó%( ªÓ%;(ÛÓ%ªkÓ%ÿmÓ%b(oÓ%‚UqÓ%drÓ%+Ÿh
-&;Bk
-&+Û &  & Z &’(q! &‚(Ä# &( _% &;(e' &3| &/~ &b(d€ &‚‚ &5ƒ &+A.C& ‚0C& Æ2C&’(×3C&‚(76C&( ¸7C&;(«9C&GŽC&8C&b({’C&‚2”C&A•C&+µA{& ãC{& F{&’(/G{&‚(ŽI{&( K{&;(M{&Ÿ¡{&‘£{&b(Ô¥{&‚Š§{&—¨{&+ -U³& NW³& •Y³&’( Z³&‚(ó\³&( t^³&;(v`³&9µ³&*·³&b(Ѹ³&‚Žº³&»³&+œ­ê&]°ê& d²ê&‚%µê&;D¸ê& ®Áê&bôÄê&‚£Æê&²Çê&+mgë& Êië& lë&’(:më&‚(™oë&( :që&;(`së&#Éë&hËë&b(ëÌë&‚ªÎë&¹Ïë&+Æ"';¶È"'+Àz#' }#' H#'’(m€#'‚(À‚#'( [„#';(U†#'UÛ#'VÝ#'b(‹ß#'‚Eá#'Râ#'+h[' ¥[' î‘['’(“['‚(u•['( ÷–[';(ì˜['‰í['{ï['b(¾ñ['‚pó['ô['+ŒŸ“' ¾¡“' ö£“'’(¥“'‚(m§“'( 﨓';(䪓'¢ÿ“'“”'b(Ö”'‚”'š”'+³Ë' MµË' ˜·Ë'’(´¸Ë'‚(»Ë'( ‰¼Ë';(~¾Ë'&Ì'Ì'b(¿Ì'‚qÌ'€Ì'+‰ (F( Y(‚1(;M( ·(bý"(‚ $(¯%(+vÅ( ×Ç( .Ê(’(BË(‚(›Í(( 7Ï(;(hÑ('(k)(b(ü*(‚Á,(Ð-(+ $;(;®&;(+¸Ø;( ùÚ;( 7Ý;(’(NÞ;(‚(¡à;(( <â;(;(Bä;(9<(;<(b(C=<(‚ø><(@<(+#ës( dís( ¨ïs(’(¹ðs(‚(ós(( šôs(;(ös(9Kt(*Mt(b(mOt(‚$Qt(3Rt(+<ý«( jÿ«( ž¬(’(¶¬(‚(¬(( ˜¬(;(‰¬(!]¬(_¬(b(Va¬(‚ c¬(d¬(+ä( Ðä( ä(’("ä(‚(uä(( öä(;(øä(¡pä(—rä(b(>tä(‚öuä(wä(+xj)5m) <o)‚ýq);u) ‡)b͂)‚p„)…)+Ô") 1%) w')’(¡()‚(+)( ¡,);(Ç.)o„)³†)b(6ˆ)‚õ‰)‹)+΂S);q…S)+ 6T) P8T) “:T)’(¸;T)‚( >T)( ¦?T);( AT)¯–T)³˜T)b(èšT)‚¢œT)¯T)+ÃHŒ) KŒ) IMŒ)’(pNŒ)‚(ÐPŒ)( RRŒ);(CTŒ)Ù¨Œ)˪Œ)b(­Œ)‚»®Œ)ʯŒ)+G\Ä) y^Ä) ±`Ä)’(ÉaÄ)‚((dÄ)( ªeÄ);(›gÄ)B¼Ä)3¾Ä)b(vÀÄ)‚-ÂÄ):ÃÄ)+Enü) ‚pü) Írü)’(ésü)‚(<vü)( ¾wü);(³yü)[Îü)MÐü)b(ôÑü)‚¦Óü)µÔü)+.È3*ëÊ3* Í3*‚ÐÏ3*;ìÒ3* dÜ3*bªß3*‚Má3*\â3*+‚4* w„4* Ά4*’(â‡4*‚(;Š4*( ׋4*;(Ž4*×ã4*,æ4*b(½ç4*‚‚é4*‘ê4*+Ìàk*;oãk*+”l* I–l* ‡˜l*’(ž™l*‚(ñ›l*( Œl*;(’Ÿl*eôl*döl*b(™øl*‚Núl*jûl*+y¦¤* º¨¤* þª¤*’(¬¤*‚(o®¤*( ð¯¤*;(籤*„¥*u¥*b(¸
-¥*‚o ¥*~ -¥*+ò¹Ü*  ¼Ü* T¾Ü*’(l¿Ü*‚(ÍÁÜ*( NÃÜ*;(?ÅÜ*çÝ*ÙÝ*b(Ý*‚ÒÝ*ß Ý*+UÍ+ –Ï+ ÝÑ+’(èÒ+‚(;Õ+( ¼Ö+;(¾Ø+g-+]/+b(1+‚¼2+Ë3++Î%L+‹(L+ ’*L+‚S-L+;r0L+ Û9L+b!=L+‚Ä>L+Ó?L++šßL+ îáL+ 4äL+’(^åL+‚(½çL+( ^éL+;(gëL+þ@M+CCM+b(ÆDM+‚…FM+”GM++í=„+;@„++šò„+ ßô„+ "÷„+’(Gø„+‚(šú„+( 5ü„+;(/þ„+/S…+0U…+b(eW…+‚Y…+,Z…++B½+ ½+ È ½+’(ï
-½+‚(O -½+( ѽ+;(½+^e½+Pg½+b(“i½+‚Ek½+Tl½++aõ+ “õ+ Ëõ+’(ãõ+‚(Bõ+( Ä õ+;(¹"õ+wwõ+hyõ+b(«{õ+‚b}õ+o~õ++å*-, "--, m/-,’(‰0-,‚(Ü2-,( ^4-,;(S6-,ûŠ-,íŒ-,b(”Ž-,‚F-,U‘-,+^ƒd,†d, .ˆd,‚‹d,;"Žd, Œ—d,bҚd,‚uœd,„d,+K=e, ¬?e, Be,’(Ce,‚(pEe,(  Ge,;(=Ie,ëže,@¡e,b(Ñ¢e,‚–¤e,¥¥e,+à›œ,;ƒžœ,+P, ÎR,  U,’(#V,‚(vX,( Z,;(\,䰝,㲝,b(µ,‚Ͷ,鷝,+øbÕ, 9eÕ, }gÕ,’(ŽhÕ,‚(îjÕ,( olÕ,;(bnÕ,ÃÕ,ÿÄÕ,b(BÇÕ,‚ùÈÕ,ÊÕ,+|v -- ªx -- Þz --’(ö{ --‚(W~ --( Ø --;(Ɂ --aÖ --SØ --b(–Ú --‚LÜ --YÝ --+dˆE- ¥ŠE- ìŒE-’(÷E-‚(JE-( ˑE-;(͓E-vèE-lêE-b(ìE-‚ËíE-ÚîE-+Mâ|-
-å|- ç|-‚×é|-;öì|- Zö|-b ù|-‚Cû|-Rü|-+œ}- |ž}-  }-’(ì¡}-‚(K¤}-( ì¥}-;(¨}-´ý}-ùÿ}-b(|~-‚;~-J~-+£ú´-;Fý´-+à­µ- %°µ- h²µ-’(³µ-‚(൵-( {·µ-;(u¹µ-„¶-ˆ¶-b(½¶-‚w¶-„¶-+˜Àí- ÕÂí- Åí-’(EÆí-‚(¥Èí-( 'Êí-;(Ìí-® î- "î-b(ã$î-‚&î-Ÿ'î-+Ô%. NÖ%. †Ø%.’(žÙ%.‚(ýÛ%.( Ý%.;(pß%.4&.6&.b(K8&.‚:&.;&.+æ]. Wè]. ¢ê].’(¾ë].‚(î].( “ï].;(ˆñ].5F^.'H^.b(ÎI^.‚€K^.L^.+ @•.ÆB•. ÙD•.‚§G•.;ÇJ•. 1T•.bwW•.‚Y•.)Z•.+ðù•. Qü•. ¨þ•.’(¼ÿ•.‚(–.( ·–.;(è–.·[–. ^–.b(_–.‚ba–.qb–.+¬XÍ.;O[Í.+è Î. )Î. gÎ.’(~Î.‚(ÑÎ.( lÎ.;(rÎ.PlÎ.OnÎ.b(„pÎ.‚9rÎ.UsÎ.+Ï/ "/ T$/’(e%/‚(Å'/( F)/;(9+/Õ/Ɓ/b( „/‚À…/φ/+Ø1>/ 4>/ :6>/’(R7>/‚(³9>/( 4;>/;(%=>/¼‘>/®“>/b(ñ•>/‚§—>/´˜>/+*Ev/ kGv/ ²Iv/’(½Jv/‚(Mv/( “Nv/;(“Pv/<¥v/2§v/b(Ù¨v/‚‘ªv/ «v/+£­/` ­/ g¢­/‚(¥­/;G¨­/ °±­/bµ­/‚¤¶­/³·­/+oW®/ ÃY®/ \®/’(2]®/‚(‘_®/( 2a®/;(Kc®/ô¸®/9»®/b(¼¼®/‚{¾®/Š¿®/+ãµå/;†¸å/+jæ/ Õlæ/  -oæ/’($pæ/‚(‚ræ/( tæ/;(&væ/Ëæ/9Íæ/b(nÏæ/‚(Ñæ/DÒæ/+N}0 {0 ܁0’(ƒ0‚(ª…0( <‡0;(1‰0§Ý0Àß0b(â0‚°ã0¿ä0+ՏV0 ’V0 L”V0’(p•V0‚(ϗV0( P™V0;(C›V0¿ïV0°ñV0b(óóV0‚ªõV0·öV0+-£Ž0 j¥Ž0 µ§Ž0’(ѨŽ0‚($«Ž0( ¦¬Ž0;(—®Ž0 0þ0b(¥0‚W0f 0+oûÅ0,þÅ0 ?Æ0‚Æ0;4Æ0 Æ0bãÆ0‚“Æ0¢Æ0+\µÆ0 ½·Æ0 ºÆ0’((»Æ0‚(½Æ0( !¿Æ0;(NÁÆ0ÁÇ0Ç0b(™Ç0‚^Ç0mÇ0+ºþ0;]þ0+gÈþ0 ¨Êþ0 æÌþ0’(ýÍþ0‚(PÐþ0( ëÑþ0;(ñÓþ0£(ÿ0¢*ÿ0b(×,ÿ0‚Œ.ÿ0¨/ÿ0+·Ú61 øÜ61 <ß61’(Mà61‚(­â61( .ä61;(!æ61œ:71<71b(Ð>71‚‡@71–A71+
-în1 8ðn1 lòn1’(„ón1‚(åõn1( f÷n1;(Wùn1½Mo1¯Oo1b(òQo1‚¨So1µTo1++§1 l§1 ³§1’(¾§1‚( §1( ’
-§1;(” §1 a§1c§1b(¨d§1‚`f§1og§1+rYÞ1/\Þ1 ;^Þ1‚ü`Þ1;dÞ1 „mÞ1bÊpÞ1‚mrÞ1|sÞ1+Dß1 ¡ß1 çß1’(ß1‚(pß1( ß1;(7ß1¢tß1çvß1b(jxß1‚)zß18{ß1+‘q2;4t2+>&2 ƒ(2 Æ*2’(ë+2‚(>.2( Ù/2;(Ó12·†2»ˆ2b(ðŠ2‚ªŒ2¼2+Ð8O2  -;O2 V=O2’(}>O2‚(Ý@O2( _BO2;(PDO2ë˜O2ߚO2b("O2‚ϞO2ޟO2+_L‡2 ‘N‡2 ÉP‡2’(áQ‡2‚(@T‡2( ÂU‡2;(³W‡2Z¬‡2K®‡2b(”°‡2‚K²‡2X³‡2+b^¿2 Ÿ`¿2 êb¿2’(d¿2‚(Yf¿2( Ûg¿2;(Ìi¿2s¾¿2eÀ¿2b( ¿2‚¾Ã¿2ÍÄ¿2+F¸ö2»ö2 ½ö2‚ã¿ö2;ÿÂö2 ÚÌö2b Ðö2‚ÃÑö2ÒÒö2+(r÷2 ‰t÷2 àv÷2’(ôw÷2‚(Mz÷2( é{÷2;(~÷2äÓ÷29Ö÷2b(Ê×÷2‚Ù÷2žÚ÷2+ÙÐ.3;|Ó.3+„/3 V†/3 ”ˆ/3’(«‰/3‚(þ‹/3( ™/3;(Ÿ/3mä/3iæ/3b(žè/3‚Sê/3oë/3+æ—g3 'šg3 kœg3’(|g3‚(ܟg3( ]¡g3;(P£g3ì÷g3Ýùg3b( üg3‚×ýg3æþg3+著3 ¬Ÿ3 Q®Ÿ3’(i¯Ÿ3‚(ʱŸ3( K³Ÿ3;(<µŸ3Ó  3Å  3b( 3‚¾ 3Ë 3+A½×3 ‚¿×3 ÉÁ×3’(ÔÂ×3‚('Å×3( ¨Æ×3;(ªÈ×3SØ3IØ3b(ð Ø3‚¨"Ø3·#Ø3+º4w4 ~4‚I4;h 4 Ò)4b-4‚».4Ê/4+‘Ï4 åÑ4 +Ô4’(UÕ4‚(´×4( UÙ4;(^Û4õ04:34b(½44‚|64‹74+ä-G4;‡0G4+‘âG4 ÖäG4 çG4’(>èG4‚(‘êG4( ,ìG4;(&îG4&CH4'EH4b(\GH4‚IH4#JH4+9õ4 v÷4 ¿ù4’(æú4‚(Fý4( Èþ4;(¹€4UU€4GW€4b(ŠY€4‚<[€4K\€4+ø4 õ
-¸4 - -¸4’(E¸4‚(¤¸4( &¸4;(¸4Ùh¸4Êj¸4b( -m¸4‚Än¸4Ño¸4+Üð4 ð4 dð4’(€ ð4‚(Ó"ð4( U$ð4;(J&ð4òzð4ä|ð4b(‹~ð4‚=€ð4Lð4+Åt'5‚w'5 •y'5‚b|'5;~'5 èˆ'5b.Œ'5‚э'5àŽ'5+7-(5 ˜/(5 ï1(5’(3(5‚(\5(5( ø6(5;()9(5ގ(54‘(5b(Œ(5‚Š”(5™•(5+G_5;ê_5+„@`5 ÅB`5 E`5’(F`5‚(mH`5( J`5;(L`5Û `5Ú¢`5b(¥`5‚Ħ`5à§`5+ïR˜5 0U˜5 tW˜5’(…X˜5‚(åZ˜5( f\˜5;(Y^˜5³˜5ö´˜5b(9·˜5‚ð¸˜5ÿ¹˜5+sfÐ5 ¡hÐ5 ÕjÐ5’(íkÐ5‚(NnÐ5( ÏoÐ5;(ÀqÐ5XÆÐ5JÈÐ5b(ÊÐ5‚CÌÐ5PÍÐ5+[x6 œz6 ã|6’(î}6‚(A€6( 6;(ă6mØ6cÚ6b(
-Ü6‚ÂÝ6ÑÞ6+DÒ?6Õ?6  -×?6‚ÎÙ?6;íÜ?6 Qæ?6b—é?6‚:ë?6Iì?6+Œ@6 sŽ@6 ¹@6’(ã‘@6‚(B”@6( ã•@6;( ˜@6«í@6ðï@6b(sñ@6‚2ó@6Aô@6+šêw6;=íw6+GŸx6 Œ¡x6 Ï£x6’(ô¤x6‚(G§x6( è¨x6;(âªx6ñÿx6õy6b(*y6‚äy6ñy6+²°6 B´°6 ‹¶°6’(²·°6‚(º°6( ”»°6;(…½°6+±6±6b(b±6‚±6±6+4Äè6 fÆè6 žÈè6’(¶Éè6‚(Ìè6( —Íè6;(ˆÏè6/$é6 &é6b(c(é6‚*é6'+é6+× 7 ÚÙ 7 %Ü 7’(AÝ 7‚(”ß 7( á 7;( ã 7³7!7¥9!7b(L;!7‚þ<!7 ->!7+0X7Ó2X7 æ4X7‚¸7X7;Ô:X7 >DX7b„GX7‚'IX76JX7+ýéX7 ^ìX7 µîX7’(ÉïX7‚("òX7( ¾óX7;(ëõX7¹KY7NY7b(¤OY7‚iQY7xRY7+®H7;QK7+êû7 +þ7 i‘7’(€‘7‚(Ó‘7( n‘7;(t‘7B\‘7>^‘7b(s`‘7‚(b‘7Dc‘7+»É7 üÉ7 @É7’(QÉ7‚(±É7( 2É7;(%É7ÁoÉ7²qÉ7b(õsÉ7‚¬uÉ7»vÉ7+Ä!8 ò#8 &&8’(>'8‚(Ÿ)8(  +8;(-8¨8šƒ8b(݅8‚“‡8 ˆ8+598 W798 ž998’(©:98‚(ü<98( }>98;(@98(•98—98b(Ř98‚}š98Œ›98+p8Lp8 S’p8‚•p8;=˜p8 §¡p8bí¤p8‚¦p8Ÿ§p8+fGq8 ºIq8 Lq8’(*Mq8‚(‰Oq8( *Qq8;(3Sq8ʨq8«q8b(’¬q8‚Q®q8`¯q8+¹¥¨8;\¨¨8+fZ©8 «\©8 î^©8’(`©8‚(fb©8( d©8;(ûe©8ûº©8ü¼©8b(1¿©8‚ëÀ©8øÁ©8+má8 Koá8 ”qá8’(»rá8‚(uá8( vá8;(Žxá8*Íá8Ïá8b(_Ñá8‚Óá8 Ôá8+˜€9 ʂ9 …9’(†9‚(yˆ9( û‰9;(ð‹9®à9Ÿâ9b(âä9‚™æ9¦ç9+±’Q9 î”Q9 9—Q9’(U˜Q9‚(¨šQ9( *œQ9;(žQ9ÇòQ9¹ôQ9b(`öQ9‚øQ9!ùQ9+šìˆ9Wïˆ9 oñˆ9‚<ôˆ9;X÷ˆ9 É9b ‰9‚¬‰9»‰9+‚¦‰9 㨉9 :«‰9’(N¬‰9‚(§®‰9( C°‰9;(t²‰9"Š9w
-Š9b( Š9‚Í -Š9ÜŠ9+Á9;ºÁ9+S¸Á9 ”ºÁ9 Ò¼Á9’(é½Á9‚(<ÀÁ9( ×ÁÁ9;(ÝÃÁ9«Â9§Â9b(ÜÂ9‚‘Â9­Â9+$Ìù9 eÎù9 ©Ðù9’(ºÑù9‚(Ôù9( ›Õù9;(Ž×ù9:,ú9+.ú9b(n0ú9‚%2ú943ú9+=Þ1: kà1: Ÿâ1:’(·ã1:‚(æ1:( ™ç1:;(Šé1:'>2:@2:b(\B2:‚D2:E2:+•ñi: Öói: öi:’((÷i:‚({ùi:( üúi:;(þüi:§Qj:Sj:b(DUj:‚üVj: Xj:+J¡:ËL¡: ÒN¡:‚“Q¡:;²T¡: ^¡:b[a¡:‚þb¡: -d¡:+Ú¢: 7¢: }¢:’(§ ¢:‚( ¢:( § -¢:;(Í¢:ze¢:¿g¢:b(Bi¢:‚k¢:l¢:+jbÙ:; -eÙ:+Ú: \Ú: ŸÚ:’(ÄÚ:‚(Ú:( ² Ú:;(¬"Ú:»wÚ:¿yÚ:b(ô{Ú:‚®}Ú:»~Ú:+Ï);  ,; U.;’(|/;‚(Ü1;( ^3;;(O5;å‰;׋;b(Ž;‚Ǐ;֐;+è;J; >J; R@J;’(jAJ;‚(ÉCJ;( KEJ;;(<GJ;ã›J;ԝJ;b( J;‚ΡJ;Û¢J;+QO‚; ŽQ‚; ÙS‚;’(õT‚;‚(HW‚;( ÊX‚;;(¿Z‚;g¯‚;Y±‚;b(³‚;‚²´‚;Áµ‚;+ʧ¹;‡ª¹; š¬¹;‚h¯¹;;ˆ²¹; %¼¹;bk¿¹;‚Á¹;¹;+±aº; dº; ifº;’(}gº;‚(Öiº;( rkº;;(Ÿmº;mú;Âź;b(SǺ;‚ɺ;'ʺ;+bÀñ;;Ãñ;+uò; Pwò; Žyò;’(¥zò;‚(ø|ò;( “~ò;;(™€ò;fÕò;e×ò;b(šÙò;‚OÛò;kÜò;+z‡*< »‰*< ÿ‹*<’(*<‚(p*<( ñ*<;(ä’*<€ç*<qé*<b(´ë*<‚kí*<zî*<+îšb< b< PŸb<’(h b<‚(É¢b<( J¤b<;(;¦b<Òúb<Äüb<b(ÿb<‚½c<Êc<+Õ¬š< ¯š< ]±š<’(h²š<‚(»´š<( <¶š<;(>¸š<ç ›<Ý›<b(„›<‚<›<K›<+¿Ò<| Ò< ƒ Ò<‚DÒ<;gÒ< ÑÒ<bÒ<‚ºÒ<É Ò<+ÀÒ< äÂÒ< *ÅÒ<’(TÆÒ<‚(³ÈÒ<( TÊÒ<;(]ÌÒ<ô!Ó<9$Ó<b(¼%Ó<‚{'Ó<Š(Ó<+ã
-=;†!
-=+ Ò
-= eÔ
-= ¨Ö
-=’(Í×
-=‚( Ú
-=( »Û
-=;(µÝ
-=µ2 =¶4 =b(ë6 =‚¥8 =²9 =+3æB= pèB= ¹êB=’(àëB=‚(@îB=( ÂïB=;(·ñB=YFC=KHC=b(ŽJC=‚@LC=OMC=+\øz= Žúz= Æüz=’(Þýz=‚(={=( ¿{=;(°{=mX{=^Z{=b(¡\{=‚X^{=e_{=+p
-³= ­ ³= ø³=’(³=‚(g³=( é³=;(Þ³=†j³=xl³=b(n³=‚Ño³=àp³=+Ydê=gê= .iê=‚ûkê=;oê= ‚xê=bÈ{ê=‚k}ê=z~ê=+Aë= ¢ ë= ù"ë=’( -$ë=‚(f&ë=( (ë=;(3*ë=áë=6‚ë=b(ǃë=‚Œ…ë=›†ë=+Ö|">;y">+0#> S2#> ‘4#>’(¨5#>‚(û7#>( –9#>;(œ;#>o#>n’#>b(£”#>‚X–#>t—#>+îC[> /F[> sH[>’(„I[>‚(äK[>( eM[>;(XO[>¤[>û¥[>b(>¨[>‚õ©[>«[>+ -V“> ;X“> oZ“>’(‡[“>‚(è]“>( i_“>;(Za“>ñµ“>㷓>b(&º“>‚Ø»“>弓>+_iË>  kË> çmË>’(ònË>‚(EqË>( ÆrË>;(ÈtË>qÉË>gËË>b(ÍË>‚ÆÎË>ÕÏË>+ØÁ?•Ä? œÆ?‚]É?;|Ì? ßÕ?bÙ?‚»Ú?ÊÛ?+¤{? ~? G€?’(q?‚(Ѓ?( q…?;(—‡??Ý?„ß?b(á?‚Æâ?Õã?+.Ú:?;ÑÜ:?+ێ;?  ‘;? c“;?’(ˆ”;?‚(ۖ;?( v˜;?;(pš;?€ï;?„ñ;?b(¹ó;?‚sõ;?€ö;?+™¡s? Ö£s? ¦s?’(F§s?‚(¦©s?( («s?;(­s?¯t?¡t?b(ät?‚–t?¥t?+²³«? 䵫? ¸«?’(4¹«?‚(“»«?( ½«?;(¿«?­¬?ž¬?b(á¬?‚˜¬?º¬?+Çã? XÉã? £Ëã?’(¿Ìã?‚(Ïã?( ”Ðã?;(‰Òã?1'ä?#)ä?b(Ê*ä?‚|,ä?‹-ä?+!@Á#@ Ô%@‚«(@;É+@ 25@bx8@‚:@*;@+Ù@ âÛ@ 9Þ@’(Mß@‚(¦á@( Bã@;(så@B;@—=@b((?@‚í@@üA@+§9S@;J<S@+äìS@ %ïS@ cñS@’(zòS@‚(ÍôS@( höS@;(nøS@;MT@:OT@b(oQT@‚$ST@@TT@+Oÿ‹@ Œ@ ÔŒ@’(åŒ@‚(EŒ@( ÆŒ@;(¹
-Œ@U_Œ@FaŒ@b(‰cŒ@‚@eŒ@OfŒ@+ÃÄ@ ñÄ@ %Ä@’(=Ä@‚(žÄ@( Ä@;(Ä@§rÄ@™tÄ@b(ÜvÄ@‚’xÄ@ŸyÄ@+ª$ü@ ë&ü@ 2)ü@’(=*ü@‚(,ü@( .ü@;(0ü@¼„ü@²†ü@b(Yˆü@‚Šü@ ‹ü@+”~3AQ3A qƒ3A‚2†3A;S‰3A ¼’3Ab–3A‚¥—3A´˜3A+{84A Ï:4A =4A’(?>4A‚(ž@4A( ?B4A;(HD4Aߙ4A$œ4Ab(§4A‚fŸ4Au 4A+ΖkA;q™kA+{KlA ÀMlA PlA’((QlA‚({SlA( UlA;(WlA¬lA®lAb(F°lA‚²lA -³lA+#^¤A ``¤A ©b¤A’(Ðc¤A‚(0f¤A( ²g¤A;(£i¤A?¾¤A1À¤Ab(t¤A‚&ĤA5ŤA+BpÜA trÜA ¬tÜA’(ÄuÜA‚(#xÜA( ¥yÜA;(š{ÜAXÐÜAIÒÜAb(ŒÔÜA‚CÖÜAP×ÜA+ƃB †B NˆB’(j‰B‚(½‹B( ?B;(4BáãBÓåBb(zçB‚,éB?êB+DÜKBßKB áKB‚áãKB;ýæKB gðKBb­óKB‚PõKB_öKB+&–LB ‡˜LB ޚLB’(ò›LB‚(KžLB( çŸLB;(¢LBÌ÷LB!úLBb(²ûLB‚wýLB†þLB+ÁôƒB;d÷ƒB+n©„B ¯«„B í­„B’(¯„B‚(W±„B( ò²„B;(ø´„BÖ …BÒ …Bb(…B‚¼…BØ…B+仼B %¾¼B iÀ¼B’(zÁ¼B‚(ÚüB( [żB;(NǼBú½Bë½Bb(. ½B‚å!½Bô"½B+ýÍôB +ÐôB _ÒôB’(wÓôB‚(ØÕôB( Y×ôB;(JÙôBâ-õBÔ/õBb(2õB‚Í3õBÚ4õB+Pá,C ‘ã,C Øå,C’(ãæ,C‚(6é,C( ·ê,C;(¹ì,CbA-CXC-Cb(ÿD-C‚·F-CÆG-C+É9dC†<dC >dC‚NAdC;qDdC ÕMdCbQdC‚¾RdCÍSdC+šódC ÷õdC =ødC’(gùdC‚(ÆûdC( gýdC;(ÿdC5UeCzWeCb(ýXeC‚¼ZeCË[eC+$RœC;ÇTœC+ѝC  C Y C’(~ C‚(ѝC( lC;(fCvgCziCb(¯kC‚imCvnC+ÕC ÌÕC ÕC’(<ÕC‚(œ!ÕC( #ÕC;(%ÕC¥yÕC—{ÕCb(Ú}ÕC‚‡ÕC–€ÕC+- -D E/ -D }1 -D’(•2 -D‚(ô4 -D( v6 -D;(g8 -D -DÿŽ -Db(B‘ -D‚ù’ -D” -D+?ED NAED ™CED’(µDED‚(GED( ŠHED;(JED'ŸED¡EDb(À¢ED‚r¤ED¥ED+ú˜|D·›|D ʝ|D‚¡ |D;¿£|D ®­|Dbô°|D‚—²|D¦³|D+wQ}D ØS}D /V}D’(CW}D‚(œY}D( 8[}D;(i]}D8³}Dµ}Db(·}D‚ã¸}Dò¹}D+±´D;@´´D+ÚdµD gµD YiµD’(pjµD‚(ÃlµD( ^nµD;(dpµD1ŵD0ǵDb(eɵD‚˵D6̵D+EwíD †yíD Ê{íD’(Û|íD‚(;íD( ¼€íD;(¯‚íDK×íD<ÙíDb(ÛíD‚6ÝíDEÞíD+¹Š%E çŒ%E %E’(3%E‚(”’%E( ”%E;(–%Eê%Eì%Eb(Òî%E‚ˆð%E•ñ%E+ œ]E áž]E (¡]E’(3¢]E‚(†¤]E( ¦]E;( ¨]E²ü]E¨þ]Eb(O^E‚^E^E+Šö”EGù”E gû”E‚(þ”E;I•E ²
-•Eb•E‚¦•Eµ•E+q°•E Ų•E 
-µ•E’(4¶•E‚(“¸•E( 4º•E;(M¼•Eð–E5–Eb(¸–E‚w–E†–E+àÍE;ƒÍE+ÃÍE ÒÅÍE 
-ÈÍE’(!ÉÍE‚(ËÍE( ÍÍE;(!ÏÍE$ÎE5&ÎEb(j(ÎE‚$*ÎE@+ÎE+EÖF rØF ÓÚF’(úÛF‚(¡ÞF( 3àF;((âF©6FÂ8Fb(;F‚²<FÁ=F+×è=F  ë=F Ní=F’(rî=F‚(Ñð=F( Rò=F;(Eô=FÁH>F²J>Fb(õL>F‚¬N>F¿O>F+ÄúuF ýuF LÿuF’(hvF‚(»vF( =vF;(.vF£ZvF•\vFb(<^vF‚î_vFý`vF+wT­F4W­F GY­F‚\­F;5_­F Ÿh­Fbåk­F‚•m­F¤n­F+^®F ¿®F ®F’(*®F‚(ƒ®F( #®F;(P®FÃo®Fr®Fb(›s®F‚`u®Fov®F+¼låF;_oåF+i!æF ª#æF è%æF’(ÿ&æF‚(R)æF( í*æF;(ó,æF¥æF¤ƒæFb(مæF‚Ž‡æFªˆæF+¹3G ú5G >8G’(O9G‚(¯;G( 0=G;(#?Gž“G•Gb(җG‚‰™G˜šG+ GVG :IVG nKVG’(†LVG‚(çNVG( hPVG;(YRVG¿¦VG±¨VGb(ôªVG‚ª¬VG·­VG+ÂXŽG [ŽG J]ŽG’(U^ŽG‚(¨`ŽG( )bŽG;(+dŽG¢¸ŽG˜ºŽGb(?¼ŽG‚÷½ŽG¿ŽG+z²ÅG7µÅG >·ÅG‚ ºÅG;(½ÅG ‘ÆÅGb×ÉÅG‚zËÅG‰ÌÅG+QlÆG ®nÆG ôpÆG’(rÆG‚(}tÆG( vÆG;(DxÆG¯ÍÆGôÏÆGb(wÑÆG‚6ÓÆGEÔÆG+žÊýG;AÍýG+KþG þG ӃþG’(ø„þG‚(K‡þG( æˆþG;(àŠþGÄßþGÈáþGb(ýãþG‚·åþGÄæþG+ݑ6H ”6H c–6H’(Š—6H‚(ê™6H( l›6H;(]6Hóñ6Håó6Hb((ö6H‚Õ÷6Häø6H+ö£nH (¦nH `¨nH’(x©nH‚(׫nH( Y­nH;(J¯nHñoHâoHb(%oH‚Ü oHé
-oH+_·¦H œ¹¦H 绦H’(½¦H‚(V¿¦H( ØÀ¦H;(ͦHu§Hg§Hb(§H‚À§HϧH+ØÞH•ÞH ¨ÞH‚vÞH;–ÞH $ÞHbF'ÞH‚é(ÞHø)ÞH+¿ÉÞH  ÌÞH wÎÞH’(‹ÏÞH‚(äÑÞH( €ÓÞH;(­ÕÞH‰+ßHÞ-ßHb(o/ßH‚41ßHC2ßH+€(I;#+I+-ÝI nßI ¬áI’(ÃâI‚(åI( ±æI;(·èI…=I?Ib(¶AI‚kCI‡DI+“ïNI ÔñNI ôNI’()õNI‚(‰÷NI( 
-ùNI;(ýúNI™OOIŠQOIb(ÍSOI‚„UOI“VOI+‡I 5‡I i‡I’(‡I‚(â
-‡I( c ‡I;(T‡Iëb‡IÝd‡Ib( g‡I‚Öh‡Iãi‡I+î¿I /¿I v¿I’(¿I‚(Ô¿I( U¿I;(W ¿Iu¿Iöv¿Ib(x¿I‚Uz¿Id{¿I+ØnöI•qöI µsöI‚vvöI;—yöI ƒöIbF†öI‚é‡öIøˆöI+¿(÷I +÷I Y-÷I’(ƒ.÷I‚(â0÷I( ƒ2÷I;(Œ4÷I#Š÷IhŒ÷Ib(ë÷I‚ª÷I¹÷I+‡.J;µ‰.J+¿;/J >/J G@/J’(lA/J‚(¿C/J( ZE/J;(TG/JTœ/JUž/Jb(Š /J‚D¢/JQ£/J+gNgJ ¤PgJ íRgJ’(TgJ‚(tVgJ( öWgJ;(çYgJŽ®gJ€°gJb(ògJ‚u´gJ„µgJ+‘`ŸJ ÃbŸJ ûdŸJ’(fŸJ‚(rhŸJ( ôiŸJ;(ékŸJ§ÀŸJ˜ÂŸJb(ÛğJ‚’ÆŸJŸÇŸJ+t×J Rv×J x×J’(¹y×J‚( |×J( Ž}×J;(ƒ×J+Ô×JÖ×Jb(Ä××J‚vÙ×J…Ú×J+ŽÌKKÏK ^ÑK‚,ÔK;L×K ¶àKbüãK‚ŸåK®æK+u†K ֈK -‹K’(AŒK‚(šŽK( 6K;(c’KèKeêKb(öëK‚»íKÊîK+åFK;¨çFK+²™GK ó›GK 1žGK’(HŸGK‚(›¡GK( 6£GK;(<¥GK úGKüGKb(=þGK‚òÿGKHK+¬K ^®K ¢°K’(³±K‚(´K( ”µK;(‡·K3 €K$€Kb(g€K‚€K-€K+6¾·K dÀ·K ˜Â·K’(°Ã·K‚(Æ·K( ’Ç·K;(ƒÉ·K¸K - ¸Kb(P"¸K‚$¸K%¸K+‰ÑïK ÊÓïK ÖïK’(×ïK‚(oÙïK( ðÚïK;(òÜïK›1ðK‘3ðKb(85ðK‚ð6ðKÿ7ðK+*'L¿,'L Æ.'L‚‘1'L;°4'L >'LbZA'L‚ýB'L D'L+Ùã'L 6æ'L |è'L’(¦é'L‚(ì'L( ¦í'L;(Ìï'LnE(L³G(Lb(6I(L‚õJ(LL(L+]B_L;E_L+
-÷_L Où_L ’û_L’(·ü_L‚(
-ÿ_L( ¥`L;(Ÿ`L¯W`L³Y`Lb(è[`L‚¢]`L¯^`L+È ˜L  ˜L N˜L’(u˜L‚(Õ˜L( W˜L;(H˜LÞi˜LÐk˜Lb(n˜L‚Ào˜LÏp˜L+LÐL ~ÐL ¶!ÐL’(Î"ÐL‚(-%ÐL( ¯&ÐL;( (ÐLG}ÐL8ÐLb({ÐL‚2ƒÐL?„ÐL+J/M ‡1M Ô3M’(ð4M‚(C7M( Ä8M;(¹:M`MR‘Mb(ù’M‚«”Mº•M+3‰?Mò‹?M Ž?M‚ë?M;”?M ?MbÅ ?M‚h¢?Mw£?M+ÀA@M !D@M xF@M’(ŒG@M‚(åI@M( K@M;(®M@M|£@MÑ¥@Mb(b§@M‚'©@M6ª@M+á¡wM;„¤wM+UxM _WxM YxM’(´ZxM‚(]xM( ¢^xM;(¨`xMuµxMt·xMb(©¹xM‚^»xMz¼xM+‰g°M Êi°M l°M’(m°M‚(o°M( q°M;(ór°MÇ°M€É°Mb(ÃË°M‚zÍ°M‰Î°M+ýzèM +}èM _èM’(w€èM‚(؂èM( Y„èM;(J†èMáÚèMÓÜèMb(ßèM‚ÌàèMÙáèM+äŒ N % N l‘ N’(w’ N‚(ʔ N( K– N;(M˜ Nöì Nìî Nb(“ð N‚Kò NZó N+ÎæWN‹éWN ˜ëWN‚YîWN;|ñWN åúWNb+þWN‚ÎÿWNÝXN+¥ XN ù¢XN ?¥XN’(i¦XN‚(ȨXN( iªXN;(p¬XNYN^YNb(áYN‚ YN¯YN+ÿN;«N+µ³N úµN =¸N’(b¹N‚(µ»N( P½N;(J¿NJ‘NK‘Nb(€‘N‚:‘NG‘N+]ÆÈN šÈÈN ãÊÈN’(
-ÌÈN‚(jÎÈN( ìÏÈN;(ÝÑÈNy&ÉNk(ÉNb(®*ÉN‚`,ÉNo-ÉN+|ØO ®ÚO æÜO’(þÝO‚(]àO( ßáO;(ÔãO’8Oƒ:Ob(Æ<O‚}>OŠ?O+ì8O =î8O ˆð8O’(¤ñ8O‚(÷ó8O( yõ8O;(n÷8OL9ON9Ob(µO9O‚iQ9OxR9O+~DpO;GpO NIpO‚%LpO;COpO ¬XpObò[pO‚•]pO¤^pO+kþpO ÌqO #qO’(7qO‚(qO( ,qO;(Y
-qO `qO`bqOb(ñcqO‚¶eqOÅfqO+]¨O;£_¨O+­©O î©O ,©O’(C©O‚(–©O( 1©O;(7©Or©Ot©Ob(6v©O‚ëw©Oy©O+$áO T&áO ˜(áO’(©)áO‚( ,áO( Š-áO;(}/áO)„áO†áOb(]ˆáO‚ŠáO#‹áO+,6P Z8P Ž:P’(¦;P‚(>P( ˆ?P;(yAP–P˜Pb(FšP‚ü›P P+IQP ÀKQP NQP’(OQP‚(eQQP( æRQP;(èTQP‘©QP‡«QPb(.­QP‚æ®QPõ¯QP+h£ˆP%¦ˆP ,¨ˆP‚íªˆP; ®ˆP o·ˆPbµºˆP‚X¼ˆPg½ˆP+Ä[‰P !^‰P g`‰P’(‘a‰P‚(ðc‰P( ‘e‰P;(·g‰PY½‰Pž¿‰Pb(!Á‰P‚à‰PïÉP+¹»ÀP;\¾ÀP+õnÁP :qÁP }sÁP’(¢tÁP‚(õvÁP( xÁP;(ŠzÁPšÏÁPžÑÁPb(ÓÓÁP‚ÕÁPšÖÁP+³ùP ðƒùP 9†ùP’(`‡ùP‚(À‰ùP( C‹ùP;(8ùPÎáùPÂãùPb(æùP‚²çùPÁèùP+B•1Q t—1Q ¬™1Q’(Ě1Q‚(#1Q( ¥ž1Q;(– 1Q=õ1Q.÷1Qb(qù1Q‚(û1Q5ü1Q+@§iQ }©iQ È«iQ’(ä¬iQ‚(7¯iQ( ¹°iQ;(®²iQVjQH jQb(ï
-jQ‚¡ jQ° -jQ+)¡Qæ¡Q ¡Q‚æ¡Q; ¡Q m¡Qb³¡Q‚V¡Qe¡Q+¼¹¡Q ¼¡Q t¾¡Q’(ˆ¿¡Q‚(áÁ¡Q( }áQ;(®Å¡Q}¢QÒ¢Qb(c¢Q‚(!¢Q7"¢Q+âÙQ;…ÙQ+ÍÙQ `ÏÙQ žÑÙQ’(µÒÙQ‚(ÕÙQ( £ÖÙQ;(©ØÙQ|-ÚQx/ÚQb(­1ÚQ‚b3ÚQ~4ÚQ+ŠßR ËáR äR’( åR‚(€çR( éR;(ôêR?RARb(ÄCR‚ERFR+þòIR ,õIR `÷IR’(xøIR‚(ÙúIR( ZüIR;(KþIRâRJRÔTJRb(WJR‚ÍXJRÚYJR+P‚R ‘‚R Ø
-‚R’(㠂R‚(6‚R( ·‚R;(¹‚Rbf‚RXh‚Rb(ÿi‚R‚·k‚RÆl‚R+É^¹R‘a¹R ˜c¹R‚Yf¹R;xi¹R ár¹Rb'v¹R‚Êw¹RÙx¹R+ ºR ôºR :ºR’(dºR‚(à ºR( d"ºR;(m$ºRazºR¦|ºRb()~ºR‚èºR÷€ºR+QwñR;ôyñR+þ+òR C.òR †0òR’(«1òR‚(4òR( 5òR;(™7òR˜ŒòR™ŽòRb(ΐòR‚ˆ’òR•“òR+«>*S è@*S 1C*S’(XD*S‚(¸F*S( :H*S;(+J*SǞ*S¹ *Sb(ü¢*S‚®¤*S½¥*S+ÊPbS üRbS 4UbS’(LVbS‚(«XbS( -ZbS;("\bSà°bSѲbSb(µbS‚˶bSØ·bS+NdšS ‹fšS ÖhšS’(òišS‚(ElšS( ÇmšS;(¼ošSdĚSVƚSb(ýǚS‚¯ÉšS¾ÊšS+ǼÑS„¿ÑS —ÁÑS‚oÄÑS;‹ÇÑS õÐÑSb;ÔÑS‚ÞÕÑSíÖÑS+´vÒS yÒS l{ÒS’(€|ÒS‚(Ù~ÒS( u€ÒS;(¦‚ÒSTØÒS©ÚÒSb(:ÜÒS‚ÿÝÒSßÒS+IÕ T;ì× T+ö‰
-T 7Œ
-T uŽ
-T’(Œ
-T‚(ߑ
-T( z“
-T;(ۥ
-TMê
-TLì
-Tb(î
-T‚6ð
-TRñ
-T+aœBT ¢žBT æ BT’(÷¡BT‚(W¤BT( Ø¥BT;(˧BTwüBThþBTb(«CT‚bCTqCT+z®zT ¨°zT ܲzT’(ô³zT‚(U¶zT( Ö·zT;(ǹzT_{TQ{Tb(”{T‚J{TW{T+ÍÁ²T IJT UƲT’(`DzT‚(³É²T( 4˲T;(6ͲTß!³TÕ#³Tb(|%³T‚4'³TC(³T+FêTêT êT‚Õ!êT;ô$êT I.êTb1êT‚,3êT;4êT+ÔêT zÖêT ÀØêT’(êÙêT‚(IÜêT( êÝêT;(àêTµ5ëTñ7ëTb(t9ëT‚3;ëTB<ëT+œ2"U;?5"U+Iç"U Žé"U Ñë"U’(öì"U‚(Iï"U( äð"U;(Þò"UíG#UñI#Ub(&L#U‚àM#UíN#U+úZU >üZU ‡þZU’(®ÿZU‚([U( [U;([UZ[U \[Ub(L^[U‚ù_[Ua[U+… -“U ·“U ï“U’(“U‚(f“U( è“U;(Ù“U€m“Uqo“Ub(´q“U‚ks“Uxt“U+ƒËU À!ËU  $ËU’('%ËU‚(z'ËU( ü(ËU;(ñ*ËUžËUËUb(7ƒËU‚é„ËUü…ËU+ryV/|V G~V‚V;0„V ¯ŽVbõ‘V‚˜“V§”V+é1V J4V ¡6V’(µ7V‚(:V( ª;V;(Û=V±“V–Vb(˜—V‚]™VlšV+’:V;½”:V+WE;V ˜G;V ÖI;V’(íJ;V‚(@M;V( ÛN;V;(áP;V¿¥;V»§;Vb(ð©;V‚¥«;VÁ¬;V+ÍWsV ZsV R\sV’(c]sV‚(Ã_sV( DasV;(7csVÓ·sVĹsVb(¼sV‚¾½sV;sV+Ak«V om«V £o«V’(»p«V‚(s«V( t«V;(Žv«V%Ë«VÍ«Vb(ZÏ«V‚Ñ«VÒ«V+(}ãV iãV °ãV’(»‚ãV‚(…ãV( †ãV;(‘ˆãV:ÝãV0ßãVb(×àãV‚âãVžããV+×WÓÙW ßÛW‚ ÞW;¿áW )ëWboîW‚ðW!ñW+éW =“W ƒ•W’(­–W‚( ™W( ­šW;(´œWYòWœôWb(öW‚Þ÷WíøW+GïRW;êñRW+ô£SW 9¦SW |¨SW’(¡©SW‚(ô«SW( ­SW;(‰¯SW‰TWŠTWb(¿TW‚y
-TW† TW+œ¶‹W Ù¸‹W "»‹W’(I¼‹W‚(©¾‹W( +À‹W;( ‹W½ŒW¯ŒWb(òŒW‚¤ŒW³ŒW+ÀÈÃW òÊÃW *ÍÃW’(BÎÃW‚(¡ÐÃW( #ÒÃW;(ÔÃWÖ(ÄWÇ*ÄWb(
--ÄW‚Á.ÄWÎ/ÄW+DÜûW ÞûW ÌàûW’(èáûW‚(;äûW( ½åûW;(²çûWZ<üWL>üWb(ó?üW‚¥AüW´BüW+½43Xz73X ’93X‚i<3X;‡?3X ðH3Xb6L3X‚ÙM3XèN3X+¯î3X ñ3X gó3X’({ô3X‚(Ôö3X( pø3X;(ú3XQP4X§R4Xb(8T4X‚ýU4X W4X+JMkX;íOkX+÷lX 8lX vlX’(lX‚(à lX( { lX;( -lXNblXMdlXb(‚flX‚7hlXSilX+b¤X £¤X ç¤X’(ø¤X‚(X¤X( Ù¤X;(̤Xxt¤Xiv¤Xb(¬x¤X‚cz¤Xr{¤X+{&ÜX ©(ÜX Ý*ÜX’(õ+ÜX‚(V.ÜX( ×/ÜX;(È1ÜX`†ÜXRˆÜXb(•ŠÜX‚KŒÜXXÜX+Î9Y <Y V>Y’(a?Y‚(´AY( 5CY;(7EYà™Y֛Yb(}Y‚5ŸYD Y+G’KY•KY $—KY‚å™KY;KY i¦KYb¯©KY‚R«KYa¬KY+.LLY ‹NLY ÑPLY’(ûQLY‚(ZTLY( ûULY;(!XLYÊ­LY°LYb(‘±LY‚P³LY_´LY+¸ªƒY;[­ƒY+e_„Y ªa„Y íc„Y’(e„Y‚(eg„Y( i„Y;(új„Y
-À„Y„Yb(CĄY‚ýńY
-DŽY+#r¼Y `t¼Y ©v¼Y’(Ðw¼Y‚(0z¼Y( ²{¼Y;(£}¼Y>Ò¼Y2Ô¼Yb(uÖ¼Y‚"ؼY1Ù¼Y+²…ôY ä‡ôY ŠôY’(4‹ôY‚(“ôY( ôY;(‘ôY­åôYžçôYb(áéôY‚˜ëôY¥ìôY+°—,Z ó™,Z >œ,Z’(Z,Z‚(­Ÿ,Z( /¡,Z;($£,ZË÷,Z½ù,Zb(dû,Z‚ý,Z%þ,Z+ŸñcZ`ôcZ xöcZ‚EùcZ;cücZ ÝdZb# dZ‚Æ
-dZÕ dZ+ªdZ |¬dZ Ó®dZ’(ç¯dZ‚(@²dZ( ܳdZ;( ¶dZÞ eZ4eZb(ÅeZ‚ŠeZ™eZ+G
-œZ;ê œZ+„½œZ Å¿œZ œZ’(ÜZ‚(mŜZ( ǜZ;(ɜZ۝ZڝZb("Z‚Ä#Zà$Z+ïÏÔZ 0ÒÔZ tÔÔZ’(…ÕÔZ‚(å×ÔZ( fÙÔZ;(YÛÔZõ/ÕZæ1ÕZb()4ÕZ‚à5ÕZï6ÕZ+cã [ ‘å [ Åç [’(Ýè [‚(>ë [( ¿ì [;(°î [GC -[9E -[b(|G -[‚2I -[?J -[+JõD[ ‹÷D[ ÒùD[’(ÝúD[‚(0ýD[( ±þD[;(³E[\UE[RWE[b(ùXE[‚±ZE[À[E[+4O|[ñQ|[ ýS|[‚¾V|[;ÝY|[ Fc|[b—f|[‚:h|[Ii|[+ }[ Y }[ ž -}[’(È}[‚('}[( È}[;(á}[‹j}[Ïl}[b(Rn}[‚p}[ q}[+yg´[;j´[+&µ[ kµ[ £ µ[’(º!µ[‚($µ[( µ%µ[;(¼'µ[ª|µ[Ï~µ[b(µ[‚¾‚µ[ڃµ[+ä.í[ 1í[ r3í[’(™4í[‚(@7í[( Ò8í[;(Ç:í[=í[V‘í[b(™“í[‚F•í[U–í[+kA%\ C%\ âE%\’(G%\‚(eI%\( æJ%\;(ÙL%\U¡%\F£%\b(‰¥%\‚@§%\M¨%\+XS]\ •U]\ àW]\’(üX]\‚(O[]\( Ñ\]\;(Â^]\7³]\)µ]\b(ж]\‚‚¸]\‘¹]\+ ­”\ȯ”\ ౔\‚­´”\;É·”\ 3Á”\byĔ\‚)Ɣ\8ǔ\+òf•\ Si•\ ªk•\’(¾l•\‚(o•\( ·p•\;(är•\^ȕ\³Ê•\b(6̕\‚û͕\
-ϕ\+VÅÌ\;ùÇÌ\+zÍ\ D|Í\ ‚~Í\’(™Í\‚(ìÍ\( ‡ƒÍ\;(…Í\?ÚÍ\;ÜÍ\b(pÞÍ\‚%àÍ\AáÍ\+MŒ] ŽŽ] Ґ]’(ã‘]‚(C”]( ĕ];(·—]2ì]#î]b(fð]‚ò],ó]+ Ÿ=] Ρ=] ¤=]’(¥=]‚({§=]( ü¨=];(íª=]Sÿ=]E>]b(ˆ>]‚>>]K>]+V±u] —³u] Þµu]’(é¶u]‚(<¹u]( ½ºu];(¿¼u]6v],v]b(Óv]‚‹v]šv]+ ­]Ë -­] ë­]‚¬­];Í­] 6­]b|"­]‚$­].%­]+õÄ­] RÇ­] ˜É­]’(ÂÊ­]‚(!Í­]( Âέ];(èЭ]`&®]£(®]b(&*®]‚å+®]ô,®]+N#å];ñ%å]+û×å] @Úå] ƒÜå]’(¨Ýå]‚(ûßå]( –áå];(ãå]s8æ]w:æ]b(²<æ]‚l>æ]y?æ]+’ê^ Ïì^ ï^’(?ð^‚(Ÿò^( !ô^;(ö^¨J^šL^b(ÝN^‚ŠP^™Q^+«üU^ ÝþU^ V^’(-V^‚(ŒV^( V^;(ÿV^¦\V^—^V^b(Ú`V^‚‘bV^žcV^+Ž^ QŽ^ œŽ^’(¸Ž^‚( Ž^( Ž^;(‚Ž^*pŽ^rŽ^b(ÃsŽ^‚uuŽ^„vŽ^+hÅ^JkÅ^ bmÅ^‚/pÅ^;KsÅ^ è|Å^b.€Å^‚сÅ^à‚Å^+t"Æ^ Õ$Æ^ ,'Æ^’(@(Æ^‚(™*Æ^( 5,Æ^;(b.Æ^7„Æ^†Æ^b(ˆÆ^‚ã‰Æ^òŠÆ^+0ý^;Ӄý^+Ý5þ^ 8þ^ \:þ^’(s;þ^‚(Æ=þ^( a?þ^;(gAþ^4–þ^3˜þ^b(hšþ^‚œþ^9þ^+HH6_ ‰J6_ ÍL6_’(ÞM6_‚(>P6_( ¿Q6_;(²S6_N¨6_?ª6_b(‚¬6_‚9®6_H¯6_+¼[n_ ê]n_ `n_’(6an_‚(—cn_( en_;( gn_ »n_’½n_b(Õ¿n_‚‹Án_˜Ân_+£m¦_ äo¦_ +r¦_’(6s¦_‚(‰u¦_( 
-w¦_;( y¦_µÍ¦_«Ï¦_b(RѦ_‚
-Ó¦_Ô¦_+ÇÝ_JÊÝ_ VÌÝ_‚!ÏÝ_;@ÒÝ_  -ÜÝ_bSßÝ_‚öàÝ_âÝ_+iÞ_ ½ƒÞ_ †Þ_’(-‡Þ_‚(Œ‰Þ_( -‹Þ_;(6Þ_ÔâÞ_åÞ_b(šæÞ_‚YèÞ_héÞ_+Âß`;eâ`+þ’` C•` †—`’(«˜`‚(þš`( ™œ`;(“ž`“ó`”õ`b(É÷`‚ƒù`ú`+§N` N©N` —«N`’(¾¬N`‚(¯N`(  °N`;(‘²N`-O` O`b(b O`‚ -O`#O`+0¹†` b»†` š½†`’(²¾†`‚(Á†`( “†`;(ˆÄ†`F‡`7‡`b(z‡`‚1‡`> ‡`+I˾` †Í¾` ÑϾ`’(íо`‚(@Ó¾`( ÂÔ¾`;(¸Ö¾`_+¿`Q-¿`b(ø.¿`‚ª0¿`¹1¿`+2%ö`ï'ö` *ö`‚Ô,ö`;ð/ö` [9ö`b¡<ö`‚Q>ö``?ö`+ßö` {áö` Òãö`’(æäö`‚(?çö`( ßèö`;( ëö`Á@÷`C÷`b(¨D÷`‚mF÷`|G÷`+º=.a;]@.a+öð.a 7ó.a uõ.a’(Œö.a‚(ßø.a( zú.a;(€ü.aNQ/aJS/ab(U/a‚4W/aPX/a+Çga ga L ga’(]
-ga‚(½ ga( >ga;(1gaÝdgaÎfgab(iga‚Èjga×kga+àŸa Ÿa BŸa’(ZŸa‚(»Ÿa( < Ÿa;(-"ŸaÊvŸa¼xŸab(ÿzŸa‚µ|ŸaÂ}Ÿa+8*×a y,×a À.×a’(Ë/×a‚(2×a( Ÿ3×a;(¡5×aJŠ×a@Œ×ab(ç×a‚Ÿ×a®×a+±‚bn…b z‡b‚;Šb;`b Öbb šb‚¬›b»œb+ˆ<b å>b +Ab’(UBb‚(´Db( UFb;({Hb/žbs bb(ö¡b‚µ£bĤb+›Fb;ÀFb+ÊOGb RGb RTGb’(wUGb‚(ÊWGb( eYGb;(_[Gbo°Gbs²Gbb(¨´Gb‚b¶Gbo·Gb+ˆbb Ådb gb’(5hb‚(•jb( lb;(nbžÂbÄbb(ÓÆb‚€ÈbÉb+¡t·b Óv·b  y·b’(#z·b‚(‚|·b( ~·b;(õ·bœÔ·bÖ·bb(ÐØ·b‚‡Ú·b”Û·b+
-ˆïb GŠïb ’Œïb’(®ïb‚(ïb( ƒ‘ïb;(x“ïb èïbêïbb(¹ëïb‚oíïb~îïb+ƒà&c@ã&c Xå&c‚/è&c;Më&c ¶ô&cbü÷&c‚Ÿù&c®ú&c+uš'c ֜'c -Ÿ'c’(A 'c‚(š¢'c( 6¤'c;(c¦'c=ü'c’þ'cb(#(c‚è(c÷(c+6ù^c;Ùû^c+ã­_c $°_c b²_c’(y³_c‚(̵_c( g·_c;(m¹_c;`c7`cb(l`c‚!`c=`c+IÀ—c ŠÂ—c Îėc’(ßŗc‚(?ȗc( Àɗc;(³Ë—cO ˜c@"˜cb(ƒ$˜c‚:&˜cI'˜c+½ÓÏc ëÕÏc ØÏc’(7ÙÏc‚(˜ÛÏc( ÝÏc;(
-ßÏc¡3Ðc“5Ðcb(Ö7Ðc‚Œ9Ðc™:Ðc+¤åd åçd ,êd’(7ëd‚(Šíd(  ïd;( -ñd¶Ed¬Gdb(SId‚ KdLd+Ž??dKB?d WD?d‚G?d;7J?d êT?db0X?d‚ÓY?dâZ?d+_ù?d ³û?d ùý?d’(#ÿ?d‚(‚@d( #@d;(,@dÊZ@d -]@db(^@d‚O`@d^a@d+¸Wwd;[Zwd+e xd ªxd íxd’(xd‚(exd( xd;(úxdúlxdûnxdb(0qxd‚êrxd÷sxd+ -°d J!°d “#°d’(º$°d‚('°d( œ(°d;(‘*°d.°d °db(cƒ°d‚…°d$†°d+11èd c3èd ›5èd’(³6èd‚(9èd( ”:èd;(‰<èdG‘èd8“èdb({•èd‚2—èd?˜èd+µD e òF e =I e’(YJ e‚(¬L e( .N e;(#P eˤ e½¦ eb(d¨ e‚ª e%« e+.WeëŸWe ¢We‚ФWe;ì§We V±Webœ´We‚?¶WeN·We+WXe vYXe Í[Xe’(á\Xe‚(:_Xe( Ö`Xe;(cXe·¸Xe -»Xeb(ž¼Xe‚c¾Xer¿Xe+°µe;S¸e+]je žle Üne’(óoe‚(Fre( áse;(çueºÊe¶Ìeb(ëΐe‚ Ðe¼Ñe+È|Èe  Èe MÈe’(^‚Èe‚(¾„Èe( ?†Èe;(2ˆÈeÞÜÈeÏÞÈeb(áÈe‚ÉâÈeØãÈe+áŽf ‘f C“f’([”f‚(¼–f( =˜f;(.šfÆîf¸ðfb(ûòf‚±ôf¾õf+4¢8f u¤8f ¼¦8f’(ǧ8f‚(ª8f( ›«8f;(­8fF9f<9fb(ã9f‚›9fª9f+­úofjýof vÿof‚7pf;Vpf ¹pfbÿpf‚¢pf±pf+~´pf Û¶pf !¹pf’(Kºpf‚(ª¼pf( K¾pf;(qÀpfqf^qfb(áqf‚ qf¯qf+¨f;«¨f+µÇ¨f úɨf =̨f’(bͨf‚(µÏ¨f( PѨf;(JÓ¨fZ(©f^*©fb(“,©f‚M.©fZ/©f+sÚàf °Üàf ùÞàf’( ààf‚(€âàf( äàf;(óåàf‰:áf{<áfb(¾>áf‚k@áfzAáf+÷íg )ðg aòg’(yóg‚(Øõg( Z÷g;(KùgòMgãOgb(&Rg‚ÝSgêTg+õÿPg 2Qg }Qg’(™Qg‚(ìQg( n Qg;(c Qg `QgýaQgb(¤cQg‚VeQgefQg+ÞYˆg›\ˆg ³^ˆg‚Šaˆg;¨dˆg nˆgbeqˆg‚sˆgtˆg+`‰g Á‰g ‰g’(,‰g‚(…‰g( !‰g;(N‰g#t‰gyv‰gb(
-x‰g‚Ïy‰gÞz‰g+ŒrÀg;/uÀg+É%Ág 
-(Ág H*Ág’(_+Ág‚(²-Ág( M/Ág;(S1Ág †ÁgˆÁgb(TŠÁg‚ ŒÁg%Ág+48ùg u:ùg ¹<ùg’(Ê=ùg‚(*@ùg( «Aùg;(žCùg:˜ùg+šùgb(nœùg‚%žùg4Ÿùg+¨K1h ÖM1h 
-P1h’("Q1h‚(ƒS1h( U1h;(õV1hŒ«1h~­1hb(Á¯1h‚w±1h„²1h+]ih Ð_ih bih’("cih‚(ueih( öfih;(øhih¡½ih—¿ihb(>Áih‚öÂihÄih+y· h6º h V¼ h‚¿ h;8 h ¡Ë hbïΠh‚’Рh¡Ñ h+`q¡h ´s¡h úu¡h’($w¡h‚(ƒy¡h( &{¡h;(-}¡hËÒ¡hÕ¡hb(‘Ö¡h‚PØ¡h_Ù¡h+¹ÏØh;\ÒØh+f„Ùh «†Ùh îˆÙh’(ŠÙh‚(fŒÙh( ŽÙh;(ûÙhûäÙhüæÙhb(1éÙh‚ëêÙhøëÙh+—i K™i ”›i’(»œi‚(Ÿi(  i;(’¢i/÷i!ùib(dûi‚ýi%þi+2©Ii d«Ii œ­Ii’(´®Ii‚(±Ii( •²Ii;(Š´IiH Ji9 Jib(| -Ji‚3Ji@Ji+¶¼i ó¾i >Ái’(Zi‚(­Äi( /Ɓi;($ȁiÑ‚iÂib(j ‚i‚"‚i/#‚i+4¹iñ¹i  ¹i‚Ö¹i;ò¹i ])¹ib£,¹i‚F.¹iU/¹i+Ϲi }ѹi ÔÓ¹i’(èÔ¹i‚(A×¹i( Ýعi;(Û¹iÈ0ºi3ºib(®4ºi‚y6ºiˆ7ºi+Á-ñi;d0ñi+nâñi ¯äñi íæñi’(èñi‚(Wêñi( òëñi;(øíñiÆBòiÂDòib(÷Fòi‚¬HòiÈIòi+Ôô)j ÷)j Yù)j’(jú)j‚(Êü)j( Kþ)j;(>*jêT*jÛV*jb(Y*j‚ÕZ*jä[*j+íbj  bj O bj’(g bj‚(Èbj( Ibj;(:bjÒfbjÄhbjb(kbj‚½lbjÊmbj+@šj šj Èšj’(Óšj‚(&"šj( §#šj;(©%šjRzšjH|šjb(ï}šj‚§šj¶€šj+¹rÑjvuÑj ‚wÑj‚CzÑj;b}Ñj ņÑjb ŠÑj‚®‹Ñj½ŒÑj+Š,Òj ç.Òj -1Òj’(W2Òj‚(¶4Òj( W6Òj;(}8Òj,ŽÒjwÒjb(ú‘Òj‚¹“ÒjȔÒj+‹ k;½ k+Ç?
-k  B
-k OD
-k’(tE
-k‚(ÇG
-k( bI
-k;(\K
-kk 
-ko¢
-kb(¤¤
-k‚^¦
-kk§
-k+RBk ¼TBk WBk’(,XBk‚(ŒZBk( \Bk;(ÿ]Bk•²Bk‡´Bkb(ʶBk‚w¸Bk†¹Bk+fzk 5hzk mjzk’(…kzk‚(ämzk( fozk;(WqzkþÅzkïÇzkb(2Êzk‚éËzköÌzk+x²k >z²k ‰|²k’(¥}²k‚(ø²k( z²k;(oƒ²kزk Ú²kb(°Û²k‚bݲkqÞ²k+êÑék§Ôék ¿Öék‚–Ùék;´Üék æékbdéék‚ëékìék+lŠêk ͌êk $êk’(8êk‚(‘’êk( -”êk;(Z–êk/ìêk…îêkb(ðêk‚Ûñêkêòêk+˜ê!l;;í!l+՝"l  "l T¢"l’(k£"l‚(¾¥"l( Y§"l;(_©"l,þ"l+#lb(`#l‚#l1#l+@°Zl ²Zl Å´Zl’(ÖµZl‚(6¸Zl( ·¹Zl;(ª»ZlF[l7[lb(z[l‚1[l@[l+´Ã’l âŒl Ȓl’(0ɒl‚(Ë’l( ͒l;(ÿΒl˜#“lŠ%“lb(Í'“l‚ƒ)“l*“l+›ÕÊl Ü×Êl #ÚÊl’(.ÛÊl‚(ÝÊl( ßÊl;(áÊl­5Ël£7Ëlb(J9Ël‚;Ël<Ël+…/mB2m b4m‚#7m;D:m ­CmbóFm‚–Hm¥Im+lém Àëm îm’(0ïm‚(ñm( 0óm;(3õmÜJm Mmb(£Nm‚bPmqQm+ÊG:m;mJ:m+wü:m ¼þ:m ÿ;m’($;m‚(w;m( ;m;( ;m ];m -_;mb(Ba;m‚üb;m d;m+sm \sm ¥sm’(Ìsm‚(,sm( ®sm;(Ÿsm@osm2qsmb(ussm‚'usm:vsm+C!«m u#«m ­%«m’(Å&«m‚($)«m( ¦*«m;(—,«mT«mEƒ«mb(ˆ…«m‚?‡«mLˆ«m+Â4ãm ÿ6ãm J9ãm’(l:ãm‚(¿<ãm( A>ãm;(6@ãmݔãmϖãmb(v˜ãm‚(šãm7›ãm+@nýn ’n‚á”n;ÿ—n t¡nbº¤n‚]¦nl§n+(Gn ‰In àKn’(ôLn‚(MOn( éPn;(Snɨn«nb(¯¬n‚t®nƒ¯n+Â¥Rn;e¨Rn+oZSn °\Sn î^Sn’(`Sn‚(XbSn( ócSn;(ùeSnǺSnüSnb(ø¾Sn‚­ÀSnÉÁSn+Õl‹n o‹n Zq‹n’(kr‹n‚(Ët‹n( Lv‹n;(?x‹në̋nÜ΋nb(ыn‚ÖҋnåӋn+î~Ãn Ãn PƒÃn’(h„Ãn‚(ɆÃn( JˆÃn;(;ŠÃnÓÞÃnÎàÃnb(ãÃn‚ÇäÃnÔåÃn+L’ûn ”ûn Ԗûn’(ߗûn‚(2šûn( ³›ûn;(µûn^òûnTôûnb(ûõûn‚³÷ûnÂøûn+5ì2oòî2o þð2o‚Éó2o;èö2o M3ob“3o‚63oE3o+¡¤3o þ¦3o D©3o’(nª3o‚(ͬ3o( n®3o;(ƒ°3o"4oe4ob(è 4o‚§ 4o¶ 4o+€ko;#ko+½·ko ºko E¼ko’(j½ko‚(½¿ko( XÁko;(RÃkoaloelob(šlo‚Tloalo+uÊ£o ²Ì£o ûΣo’("Уo‚(‚Ò£o( Ô£o;(õÕ£o‹*¤o},¤ob(À.¤o‚m0¤o|1¤o+ùÝÛo +àÛo câÛo’({ãÛo‚(ÚåÛo( \çÛo;(MéÛoô=Üoå?Üob((BÜo‚ßCÜoìDÜo+÷ïp 4òp ôp’(›õp‚(î÷p( pùp;(eûp -PpÿQpb(¦Sp‚XUpgVp+àIKpLKp µNKp‚‚QKp;žTKp B^KpbàaKp‚ƒcKp’dKp+ÈLp )Lp €Lp’(” Lp‚(í Lp( ‰ -Lp;(µLp‘eLpægLpb(wiLp‚<kLpKlLp+‰bƒp;,eƒp+Å„p „p D„p’([„p‚(±„p( L„p;(P!„pv„px„pb(Nz„p‚|„p}„p++(¼p l*¼p °,¼p’(Á-¼p‚(!0¼p( ¢1¼p;(•3¼p1ˆ¼p"Š¼pb(eŒ¼p‚Ž¼p+¼p+Ÿ;ôp Í=ôp @ôp’(Aôp‚(zCôp( ûDôp;(ìFôpƒ›ôpuôpb(¸Ÿôp‚n¡ôp{¢ôp+ñN,q 2Q,q yS,q’(„T,q‚(×V,q( XX,q;(ZZ,q¯,qù°,qb( ²,q‚X´,qgµ,q+j§cq'ªcq G¬cq‚¯cq;)²cq ’»cqbã¾cq‚†Àcq•Ácq+Radq ¦cdq ëedq’(gdq‚(tidq( kdq;(.mdqÑÂdqÅdqb(™Ædq‚XÈdqgÉdq+À¿›q;c›q+mtœq ²vœq êxœq’(zœq‚(_|œq( ü}œq;(€œqñԜqלqb(Kٜq‚ۜq'ܜq++‡Ôq X‰Ôq ¹‹Ôq’(àŒÔq‚(‡Ôq( ‘Ôq;(“Ôq„çÔqéÔqb(àëÔq‚íÔqœîÔq+²™ r ä› r )ž r’(MŸ r‚(¬¡ r( -£ r;( ¥ rœù rû rb(Ðý r‚‡ÿ r” -r+
-­Dr G¯Dr ’±Dr’(®²Dr‚(µDr( ƒ¶Dr;(t¸Dré ErÛErb(‚Er‚4ErCEr+L|r |r 
-|r‚é |r;|r o|rbµ|r‚e|rt|r+.¿|r Á|r æÃ|r’(úÄ|r‚(SÇ|r( óÈ|r;(!Ë|r“ }rè"}rb(k$}r‚0&}r?'}r+Œ´r;/ ´r+9Ò´r zÔ´r ¸Ö´r’(Ï×´r‚("Ú´r( ½Û´r;(ÃÝ´ru2µrt4µrb(©6µr‚^8µrz9µr+‰äìr Êæìr éìr’(êìr‚(ììr( îìr;(óïìrnDír_Fírb(¢Hír‚YJírhKír+Ü÷$s 
-ú$s >ü$s’(Vý$s‚(·ÿ$s( 8%s;()%sW%sY%sb(Ä[%s‚z]%s‡^%s+ý
-]s > -]s …]s’(]s‚(ã]s( d]s;(f]sÝj]sÓl]sb(zn]s‚2p]sAq]s+Dc”sf”s h”s‚Ój”s;òm”s \w”sb¢z”s‚E|”sT}”s+•s x•s ¾!•s’(è"•s‚(G%•s( è&•s;()•st~•s¹€•sb(<‚•s‚ûƒ•s
-…•s+c{Ìs;~Ìs+0Ís U2Ís ˜4Ís’(½5Ís‚(8Ís( «9Ís;(¥;Ís‰Ís’Ísb(”Ís‚|–Ís‰—Ís+¢Bt ßDt (Gt’(OHt‚(¯Jt( 1Lt;("Nt¸¢tª¤tb(í¦t‚š¨t©©t+&V=t XX=t Z=t’(¨[=t‚(^=t( ‰_=t;(za=t!¶=t¸=tb(Uº=t‚ ¼=t½=t+$hut ajut ¬lut’(Èmut‚(put( qut;(’sut:Èut,Êutb(ÓËut‚…Íut”Îut+¬tÑĬt ýƬt‚Êɬt;è̬t WÖ¬tbÙ¬t‚@Û¬tOܬt+ z­t }­t X­t’(l€­t‚(ł­t( a„­t;(†­t[Ü­t°Þ­tb(Aà­t‚â­tã­t+ÁÚät;dÝät+ýåt >åt |’åt’(““åt‚(æ•åt( —åt;(‡™åtUîåtQðåtb(†òåt‚;ôåtWõåt+c u ¤¢u è¤u’(ù¥u‚(Y¨u( Ú©u;(Í«uiuZub(u‚Tucu+׳Uu ¶Uu 9¸Uu’(Q¹Uu‚(²»Uu( 3½Uu;($¿UuÁVu³Vub(öVu‚¬Vu¹Vu+/Ǎu pɍu ·Ëu’(Â̍u‚(ύu( –Ѝu;(˜ÒuF'Žu<)Žub(ã*Žu‚›,Žuª-Žu+­Åuj"Åu q$Åu‚2'Åu;Q*Åu º3Åub7Åu‚©8Åu¸9Åu+yÙÅu ÍÛÅu ÞÅu’(=ßÅu‚(œáÅu( =ãÅu;(@åÅuâ:Æu'=Æub(ª>Æu‚i@ÆuxAÆu+Ò7ýu;u:ýu+ìýu Äîýu ñýu’(,òýu‚(ôýu( öýu;(øýuMþuOþub(JQþu‚SþuTþu+'ÿ5v d6v ­6v’(Ô6v‚(46v( ¶6v;(«
-6vH_6v:a6vb(}c6v‚/e6v>f6v+Knv }nv µnv’(Ínv‚(0nv( ±nv;(¤nvaqnvRsnvb(•unv‚LwnvYxnv+Ï$¦v  '¦v W)¦v’(s*¦v‚(Æ,¦v( H.¦v;(=0¦v儦v׆¦vb(~ˆ¦v‚0Š¦v?‹¦v+H}Ýv€Ýv ‚Ýv‚t…Ýv;ˆÝv ’ÝvbG•Ýv‚ê–Ývù—Ýv+¹7Þv :Þv q<Þv’(…=Þv‚(Þ?Þv( zAÞv;(«CÞv^™Þv³›Þvb(DÞv‚ ŸÞv Þv+ã”w;†—w+Iw ÑKw Nw’(&Ow‚(yQw( Sw;(Uwí©wé«wb(®w‚Ó¯wï°w+f]Nw §_Nw ëaNw’(übNw‚(\eNw( ÝfNw;(ÐhNw|½Nwm¿Nwb(°ÁNw‚gÃNwvÄNw+o†w ­q†w ás†w’(ùt†w‚(Zw†w( Ûx†w;(Ìz†wdφwVцwb(™Ó†w‚OՆw\ֆw+҂¾w …¾w Z‡¾w’(eˆ¾w‚(¸Š¾w( 9Œ¾w;(;Ž¾wäâ¾wÚä¾wb(æ¾w‚9è¾wHé¾w+KÛõwÞõw àõw‚Ðâõw;óåõw Wïõwbòõw‚@ôõwOõõw+•öw y—öw ¿™öw’(éšöw‚(Höw( éžöw;(¡öw±ööwöøöwb(yúöw‚8üöwGýöw+¡ó-x;Dö-x+N¨.x “ª.x Ö¬.x’(û­.x‚(N°.x( é±.x;(ã³.xò/xö
-/xb(+ -/x‚å/xò/x+»fx C½fx Ž¿fx’(µÀfx‚(Ãfx( –Äfx;(‹Æfxgx
-gxb(Mgx‚ú gx "gx+͞x LϞx „Ñžx’(œÒžx‚(ûԞx( }֞x;(r؞x-Ÿx /Ÿxb(N1Ÿx‚3Ÿx4Ÿx+ˆàÖx ÅâÖx åÖx’(,æÖx‚(èÖx( êÖx;(öëÖxž@×xB×xb(7D×x‚éE×xøF×x+q:y.=y Z?y‚.By;LEy ÈNybRy‚¾SyÍTy+óy eõy ¼÷y’(Ðøy‚()ûy( Éüy;(öþyÅTyWyb(«Xy‚pZy[y+*SFy;ÍUFy+gGy ¨Gy æ
-Gy’(ý Gy‚(PGy( ëGy;(ñGyÄfGyÀhGyb(õjGy‚ªlGyÆmGy+Òy y Wy’(hy‚(È y( I"y;(<$yØxyÉzyb( }y‚Ã~yÒy+F,·y t.·y ®0·y’(Æ1·y‚(&4·y( §5·y;(˜7·y0Œ·y"Ž·yb(e·y‚’·y(“·y+3>ïy t@ïy ¼Bïy’(ÇCïy‚(Fïy( ›Gïy;(›IïyUžïyK ïyb(ò¡ïy‚ª£ïy¹¤ïy+-˜&zêš&z ñœ&z‚²Ÿ&z;Õ¢&z ?¬&zb…¯&z‚(±&z7²&z+þQ'z RT'z ˜V'z’(ÂW'z‚(!Z'z( Â['z;(Ë]'zb³'z§µ'zb(*·'z‚é¸'zø¹'z+Q°^z;ô²^z+Žc_z Óe_z h_z’(;i_z‚(Žk_z( )m_z;(#o_z#Ä_z$Æ_zb(YÈ_z‚Ê_z Ë_z+¡w—z Þy—z '|—z’(N}—z‚(®—z( 0—z;(%ƒ—zÂחzºÙ—zb(ýۗz‚±Ý—zÀޗz+ʉÏz ü‹Ïz 4ŽÏz’(LÏz‚(«‘Ïz( -“Ïz;(•ÏzÛéÏzÌëÏzb(îÏz‚ÆïÏzÓðÏz+I{ †Ÿ{ Ñ¡{’(í¢{‚(@¥{( ¦{;(·¨{_ý{Qÿ{b(ø{‚ª{¹{+Âõ>{ø>{ ’ú>{‚jý>{;†?{ '
-?{bm -?{‚?{?{+¯¯?{ ²?{ g´?{’({µ?{‚(Ô·?{( p¹?{;(¡»?{O@{¤@{b(5@{‚ú@{ @{+Dw{;çw{+ñÂw{ 2Åw{ pÇw{’(‡Èw{‚(ÚÊw{( uÌw{;({Îw{H#x{G%x{b(|'x{‚1)x{M*x{+\Õ¯{ ×¯{ áÙ¯{’(òÚ¯{‚(Rݯ{( ÓÞ¯{;(Æà¯{r5°{c7°{b(¦9°{‚];°{l<°{+uçç{ £éç{ ×ëç{’(ïìç{‚(Pïç{( Ñðç{;(Âòç{ZGè{LIè{b(Kè{‚EMè{RNè{+Èú|  ý| Pÿ|’([ |‚(® |( / |;(1 |ÚZ |Ð\ |b(w^ |‚/` |>a |+ASW|þUW| 
-XW|‚ËZW|;ê]W| MgW|b“jW|‚6lW|EmW|+ -X| oX| þX|’((X|‚(‡X|( (X|;(RX|ônX|9qX|b(¼rX|‚{tX|ŠuX|+äk|;‡n|+‘ | Ö"| %|’(>&|‚(‘(|( ,*|;(&,|5|9ƒ|b(n…|‚(‡|5ˆ|+I3È| †5È| Ï7È|’(ö8È|‚(V;È|( Ø<È|;(É>È|_“È|Q•È|b(”—È|‚A™È|PšÈ|+bE} ”G} ÌI}’(äJ}‚(CM}( ÅN};(¶P}]¥}N§}b(‘©}‚H«}U¬}+ËX8} [8} S]8}’(o^8}‚(Â`8}( Db8};(9d8}á¸8}Óº8}b(z¼8}‚,¾8}?¿8}+D±o}´o} ¶o}‚â¸o};¼o} lÅo}b²Èo}‚UÊo}dËo}++kp} Œmp} ãop}’(÷pp}‚(Psp}( ìtp};(wp}ìÌp}AÏp}b(ÒÐp}‚—Òp}¦Óp}+áɧ};„̧}+Ž~¨} π¨}  -ƒ¨}’($„¨}‚(w†¨}( ˆ¨};(Š¨}æÞ¨}âà¨}b(ã¨}‚Ìä¨}èå¨}+ôà} 5“à} y•à}’(Š–à}‚(ê˜à}( kšà};(^œà}úðà}ëòà}b(.õà}‚åöà}ô÷à}+h¤~ –¦~ ʨ~’(â©~‚(C¬~( Ä­~;(µ¯~L~>~b(~‚7
-~D ~+O¶P~ ¸P~ ׺P~’(â»P~‚(5¾P~( ¶¿P~;(¸ÁP~aQ~WQ~b(þQ~‚¶Q~ÅQ~+9ˆ~öˆ~ ýˆ~‚¾ˆ~;áˆ~ K$ˆ~b‘'ˆ~‚4)ˆ~C*ˆ~+
-ʈ~ ^̈~ ¤Îˆ~’(Îψ~‚(-҈~( Îӈ~;(×Ո~ª+‰~÷-‰~b(z/‰~‚91‰~H2‰~+š(À~;=+À~+ÖÛÀ~ ÞÀ~ ^àÀ~’(ƒáÀ~‚(ÖãÀ~( qåÀ~;(kçÀ~k<Á~l>Á~b(¡@Á~‚[BÁ~hCÁ~+~îø~ »ðø~ óø~’(+ôø~‚(‹öø~(  -øø~;(þùø~šNù~ŒPù~b(ÏRù~‚Tù~Uù~+1 :1 r1’(Š1‚(é 1( k 1;(` -1b1d1b(Rf1‚ h1i1+!i ^i ©i’(Åi‚(i( ši;(i7ti)vib(Ðwi‚‚yi‘zi+
-n Çp  Úr ‚±u ;Ïx   ƒ bO† ‚ò‡ ‰ +÷'¡ X*¡ ¯,¡’(Ã-¡‚(0¡( ¸1¡;(ä3¡’‰¡狡b(x¡‚=¡L¡+‡†Ø;*‰Ø+Ã9Ù <Ù B>Ù’(Y?Ù‚(¬AÙ( GCÙ;(MEÙšÙœÙb(LžÙ‚ Ù¡Ù+”M€ ÕO€ R€’(*S€‚(ŠU€(  W€;(þX€ª­€›¯€b(Þ±€‚•³€¤´€+­_I€ ÛaI€ dI€’('eI€‚(ˆgI€(  iI€;(újI€’¿I€„ÁI€b(ÇÃI€‚}ÅI€ŠÆI€+s€ Hu€ w€’(šx€‚(íz€( n|€;(n~€Ӂ€ -Ձ€b(´Ö€‚l؁€{ف€+~˸€;θ€ G舂Ó¸€;'Ö¸€ ‹ß¸€bÑ⸀‚t一ƒå¸€+P…¹€ ­‡¹€ 󉹀’(‹¹€‚(|¹€( ¹€;(2‘¹€É湀鹀b(‘ê¹€‚P칀_í¹€+¹ãð€;\æð€+f˜ñ€ «šñ€ îœñ€’(žñ€‚(f ñ€( ¢ñ€;(û£ñ€
-ùñ€ûñ€b(Cýñ€‚ýþñ€
-ò€+«) [­) ¤¯)’(Ë°)‚(+³)( ­´);(ž¶)9 *- -*b(p*‚*,*+­¾a ßÀa Ãa’(/Äa‚(ŽÆa( Èa;(Êa¨b™ bb(Ü"b‚“$b %b+«Ð™ èҙ 3ՙ’(O֙‚(¢Ø™( )ڙ;(ܙÁ0š³2šb(Z4š‚ 6š7š+”*сQ-с d/с‚12с;M5с Õ>сbBс‚¾CсÍDс+ãс gåс ¾çс’(Òèс‚(+ëс( Çìс;(óîсÁDҁGҁb(§Hҁ‚lJҁ{Kҁ+'C ‚;ÊE ‚+cö ‚ ¤ø ‚ âú ‚’(ùû ‚‚(Lþ ‚( çÿ ‚;(í
-‚»V
-‚·X
-‚b(ìZ
-‚‚¡\
-‚½]
-‚+ÉB‚ 
- B‚ N -B‚’(_B‚‚(¿B‚( @B‚;(3B‚ÏhB‚ÀjB‚b(mB‚‚ºnB‚ÉoB‚+=z‚ kz‚ Ÿ z‚’(·!z‚‚($z‚( ™%z‚;(Š'z‚!|z‚~z‚b(V€z‚‚ ‚z‚ƒz‚+$.²‚ e0²‚ ¬2²‚’(·3²‚‚(
-6²‚( ‹7²‚;(9²‚6Ž²‚,²‚b(ӑ²‚‚‹“²‚š”²‚+ˆé‚ËŠé‚ Ҍ邂é‚;¼’é‚ xœé‚b¾Ÿé‚‚a¡é‚p¢é‚+åAê‚ 9Dê‚ Fꂒ(©Gê‚‚(Jê‚( ©Kê‚;(¬Mê‚N£ê‚“¥ê‚b(§ê‚‚Õ¨ê‚ä©ê‚+= !ƒ;à¢!ƒ+êT"ƒ /W"ƒ rY"ƒ’(—Z"ƒ‚(ê\"ƒ( …^"ƒ;(`"ƒµ"ƒ€·"ƒb(µ¹"ƒ‚o»"ƒ|¼"ƒ+’gZƒ ÏiZƒ lZƒ’(?mZƒ‚(ŸoZƒ( !qZƒ;(sZƒ®ÇZƒ ÉZƒb(ãËZƒ‚•ÍZƒ¤ÎZƒ+±y’ƒ ã{’ƒ ~’ƒ’(3’ƒ‚(’’ƒ( ƒ’ƒ;( …’ƒÇْƒ¸Û’ƒb(ûݒƒ‚²ß’ƒ¿à’ƒ+5Êƒ rÊƒ ½‘ʃ’(ْʃ‚(,•Êƒ( ®–ʃ;(£˜ÊƒKíʃ=ïʃb(äðʃ‚–òʃ¥óʃ+®å„kè„ ~ê„‚Lí„;lð„ Öù„bý„‚¿þ„Îÿ„+•Ÿ„ ö¡„ M¤„’(a¥„‚(º§„( V©„;(‚«„0„…„b(„‚Û„ê„+%þ9„;È:„+Ò²:„ µ:„ Q·:„’(h¸:„‚(»º:„( V¼:„;(\¾:„);„(;„b(];„‚;„.;„+=År„ ~Çr„ ÂÉr„’(ÓÊr„‚(3Ír„( ´Îr„;(§Ðr„S%s„D's„b(‡)s„‚>+s„M,s„+Áت„ ïÚª„ #ݪ„’(;Þª„‚(œàª„( ⪄;(䪄¦8«„˜:«„b(Û<«„‚‘>«„ž?«„+©ê℠êì℠1ïℒ(<ðâ„‚(òâ„( ôâ„;(öâ„»JㄱLã„b(XNã„‚Pã„Qã„+’D…OG… [I…‚L…;;O… ŸX…bå[…‚ˆ]…—^…+dþ… Á… …’(1…‚(…( 1…;(F
-…Ý_…"b…b(¥c…‚de…wf…+Í\R…;p_R…+ S… NS… ‘S…’(¶S…‚( S…( ¤S…;(žS…®pS…²rS…b(çtS…‚¡vS…®wS…+Ç"‹… 
-%‹… S'‹…’(z(‹…‚(Ú*‹…( \,‹…;(Q.‹…肋…ڄ‹…b(‡‹…‚ʈ‹…ى‹…+V6Å ˆ8Å À:Œ(Ø;Å‚(7>Å( ¹?Å;(ªAÅa–Ã…R˜Ã…b(•šÃ…‚LœÃ…YÃ…+dHû… ¡Jû… ìLû…’(Nû…‚([Pû…( ÝQû…;(ÎSû…u¨û…gªû…b(¬û…‚À­û…Ï®û…+H¢2†¥2† §2†‚å©2†;­2† k¶2†b±¹2†‚T»2†c¼2†+*\3† ‹^3† â`3†’(öa3†‚(Od3†( ëe3†;(h3†¾3†lÀ3†b(ýÁ3†‚ÂÃ3†ÑÄ3†+ »j†;¯½j†+Ink† Špk† Èrk†’(ßsk†‚(2vk†( Íwk†;(Óyk† Îk†ŸÐk†b(ÔÒk†‚ŽÔk†ªÕk†+´€£† õ‚£† 9…£†’(J†£†‚(ªˆ£†( +Š£†;(Œ£†ºà£†«â£†b(î䣆‚¥æ£†´ç£†+(”Û† V–Û† Š˜Û†’(¢™Û†‚(œÛ†( „Û†;(uŸÛ† ôۆþõۆb(Aøۆ‚÷ùۆûۆ+z§‡ »©‡ ¬‡’( -­‡‚(`¯‡( á°‡;(㲇Œ‡‚ ‡b() ‡‚á ‡ð -‡+óÿJ‡°K‡ ·K‡‚‚K‡;¡
-K‡ K‡baK‡‚K‡K‡+ʹK‡ ¼K‡ c¾K‡’(¿K‡‚(ìÁK‡( ÃK‡;(¦ÅK‡IL‡ŽL‡b(L‡‚Ð L‡ß!L‡+9ƒ‡;܃‡+æ̃‡ +σ‡ cу‡’(z҃‡‚(Øԃ‡( uփ‡;(z؃‡i-„‡Ž/„‡b(Ã1„‡‚}3„‡™4„‡+žß»‡ Ëệ ,仇’(S廇‚(ú织( Œé»‡;(ë»‡÷?¼‡B¼‡b(SD¼‡‚F¼‡G¼‡+%òó‡ Wôó‡ œöó‡’(À÷ó‡‚(úó‡(  ûó‡;(“ýó‡Rô‡Tô‡b(CVô‡‚úWô‡Yô‡+},ˆ º,ˆ 
-,ˆ’(! ,ˆ‚(t -,ˆ( ö,ˆ;(ç,ˆ\e,ˆNg,ˆb(õh,ˆ‚§j,ˆ¶k,ˆ+Æ]cˆƒ`cˆ ›bcˆ‚iecˆ;‰hcˆ óqcˆb9ucˆ‚évcˆøwcˆ+²dˆ dˆ jdˆ’(~dˆ‚(×dˆ( w!dˆ;(¥#dˆydˆk{dˆb(î|dˆ‚³~dˆÂdˆ+
-v›ˆ;­x›ˆ+·*œˆ ø,œˆ 6/œˆ’(M0œˆ‚( 2œˆ( ;4œˆ;(A6œˆ󊜈òŒœˆb('œˆ‚ܐœˆø‘œˆ+=Ԉ H?Ԉ ŒAԈ’(BԈ‚(ýDԈ( ~FԈ;(qHԈìœÔˆݞԈb( ¡Ôˆ‚עԈæ£Ôˆ+ZP ‰ ˆR ‰ ¼T ‰’(ÔU ‰‚(5X ‰( ¶Y ‰;(§[ ‰ -° ‰ÿ± ‰b(B´ ‰‚øµ ‰· ‰+{cD‰ ¼eD‰ hD‰’(iD‰‚(akD‰( âlD‰;(änD‰aÃD‰WÅD‰b(þÆD‰‚¶ÈD‰ÅÉD‰+È»{‰¾{‰ —À{‰‚XÃ{‰;{Æ{‰ ÖÏ{‰bÓ{‰‚¹Ô{‰ÎÕ{‰+¤u|‰ x|‰ Gz|‰’(q{|‰‚(Ð}|‰( q|‰;(†|‰ÜÖ|‰Ù|‰b(žÚ|‰‚]Ü|‰lÝ|‰+ÆÓ³‰;iÖ³‰+sˆ´‰ ¸Š´‰ ûŒ´‰’( Ž´‰‚(s´‰( ’´‰;(”´‰ë贉ï괉b($í´‰‚Þëﴉ+ÿšì‰ <ì‰ …Ÿì‰’(¬ ì‰‚( £ì‰( Ž¤ì‰;(¦ì‰ûì‰ýì‰b(Jÿ쉂÷í‰í‰+ƒ®$Š µ°$Š í²$Š’(´$Š‚(d¶$Š( æ·$Š;(×¹$Š~%Šo%Šb(²%Š‚i%Šv%Š+À\Š ¾Â\Š  Å\Š’(%Æ\Š‚(xÈ\Š( úÉ\Š;(ïË\Š— ]Š‰"]Šb(0$]Š‚â%]Šñ&]Š+j”Š'”Š :”Š‚"”Š;/%”Š §.”Šbí1”Š‚3”ŠŸ4”Š+WԔŠ ¸Ö”Š ٔŠ’(#ڔŠ‚(|ܔŠ( ޔŠ;(Eà”Š6•Šh8•Šb(ù9•Š‚¾;•ŠÍ<•Š+3̊;«5̊+Dæ̊ …è̊ Ãê̊’(Úë̊‚(-î̊( Èï̊;(Îñ̊œF͊˜H͊b(ÍJ͊‚‚L͊žM͊+ú‹ Vü‹ šþ‹’(«ÿ‹‚( ‹( Œ‹;(‹Z‹ \‹b(O^‹‚`‹a‹+ =‹ L=‹ €=‹’(˜=‹‚(ù=‹( z=‹;(k=‹l=‹ôm=‹b(7p=‹‚íq=‹úr=‹+pu‹ ±!u‹ ø#u‹’(%u‹‚(V'u‹( ×(u‹;(Ù*u‹‚u‹xu‹b(ƒu‹‚ׄu‹æ…u‹+éw¬‹¦z¬‹ ­|¬‹‚x¬‹;—‚¬‹ Œ¬‹bG¬‹‚ꐬ‹ù‘¬‹+À1­‹ 4­‹ Z6­‹’(„7­‹‚(ã9­‹( „;­‹;(=­‹$“­‹i•­‹b(얭‹‚«˜­‹º™­‹+ä‹;¶’ä‹+ÀDå‹ Gå‹ HI勒(mJå‹‚(ÀLå‹( [Nå‹;(UPå‹U¥å‹V§å‹b(‹©å‹‚E«å‹R¬å‹+hWŒ ¥YŒ î[Œ’(]Œ‚(u_Œ( ÷`Œ;(íbŒ„·Œv¹Œb(¹»Œ‚k½Œz¾Œ+òjUŒ $mUŒ \oUŒ’(tpUŒ‚(ÓrUŒ( UtUŒ;(JvUŒËUŒùÌUŒb(<ÏUŒ‚óÐUŒÒUŒ+ }Œ HŒ “Œ’(¯‚Œ‚(…Œ( „†Œ;(yˆŒ!ݍŒߍŒb(ºàŒ‚l⍌{㍌+„ÕČAØČ YÚȂ&ÝČ;BàČ ¬éČbòìȂ¢îȱïČ+kÅŒ ̑Ō #”ÅŒ’(7•ÅŒ‚(—ÅŒ( 0™ÅŒ;(]›ÅŒ ñŌ`óŌb(ñôŌ‚¶öŌÅ÷Ō+îüŒ;£ðüŒ+­¢ýŒ î¤ýŒ ,§ýŒ’(C¨ýŒ‚(–ªýŒ( 1¬ýŒ;(7®ýŒ
-þŒ þŒb(>þŒ‚óþŒ
-þŒ+µ5 _·5 £¹5’(´º5‚(½5( •¾5;(ˆÀ546%6b(h6‚6.6+¢Èm ÐÊm Ím’(Îm‚(Ðm( Òm;(öÓmŒ(n~*nb(Á,n‚w.n„/n+Ú¥ ÐÜ¥ ߥ’("्‚(u⥍( ö㥍;(ø奍È:¦¾<¦b(e>¦‚@¦,A¦+Ÿ4ݍ`7ݍ g9ݍ‚(<ݍ;G?ݍ ¬HݍbòKݍ‚¡Mݍ°Nݍ+qîݍ Îðݍ óݍ’(>ôݍ‚(öݍ( >øݍ;(dúݍyPލ¾Rލb(ATލ‚VލWލ+iMŽ; PŽ+¥Ž êŽ -Ž’(RŽ‚(¥Ž( @
-Ž;(: Ž4aŽ8cŽb(meŽ‚'gŽ4hŽ+MNŽ ŠNŽ ÓNŽ’(úNŽ‚(ZNŽ( ÜNŽ;(ÍNŽcsNŽUuNŽb(˜wNŽ‚IyNŽXzNŽ+Ñ&†Ž )†Ž ;+†Ž’(S,†Ž‚(².†Ž( 40†Ž;(%2†Ž܆†Ž͈†Žb(‹†Ž‚nj†Žԍ†Ž+ß8¾Ž ;¾Ž g=¾Ž’(ƒ>¾Ž‚(Ö@¾Ž( XB¾Ž;(ID¾Ž𘾎⚾Žb(‰œ¾Ž‚;ž¾ŽJŸ¾Ž+ÒõŽ€•õŽ “—õŽ‚jšõŽ;ˆõŽ ø¦õŽb>ªõŽ‚á«õŽð¬õŽ+@KöŽ ¡MöŽ øOöŽ’( QöŽ‚(eSöŽ( UöŽ;(2WöŽë¬öŽ@¯öŽb(Ñ°öŽ‚–²öŽ¥³öŽ+P«-;ó­-+^. Î`.  c.’(#d.‚(vf.( h.;(j.ä¾.ãÀ.b(Ã.‚ÍÄ.éÅ.+øpf 9sf }uf’(Žvf‚(îxf( ozf;(b|fÑfÿÒfb(BÕf‚ùÖfØf+|„ž ª†ž ވž’(ö‰ž‚(WŒž( ؍ž;(ɏža䞏S枏b(–螏‚LꞏY랏+ϗ֏ šÖ WœÖ’(bÖ‚(µŸÖ( 6¡Ö;(8£ÖÐ÷֏Æù֏b(mû֏‚%ý֏4þ֏+7ð -ôò - õ -‚Á÷ -;àú - Ib‚2 A
-+ ª ]¬ ¥®’(ϯ‚(.²( г;(Õµs · -b(:‚ù+aF;
- F+½F Y¿F œÁF’(ÁÂF‚(ÅF( ¯ÆF;(©ÈF¿GÀGb(õ!G‚¯#G¼$G+ÒÏ~ Ò~ XÔ~’(Õ~‚(ß×~( aÙ~;(VÛ~ó/å1b((4‚Ú5é6+öᶐ (䶐 `涐’(x綐‚(×鶐( Y붐;(Ní¶ûA·ìC·b(/F·‚æG·óH·+iõî ¦÷î ñù( -û(`ýî( âþî;(ÓïzUïlWïb(YÅZïÔ[ï+ÝM&‘šP&‘ ­R&‘‚{U&‘;›X&‘ b&‘bKe&‘‚îf&‘ýg&‘+Ä'‘ %
-'‘ | '‘’( -'‘‚(é'‘( …'‘;(²'‘zi'‘Ïk'‘b(`m'‘‚%o'‘4p'‘+of^‘;i^‘+_‘ ]_‘ ›_‘’(² _‘‚(#_‘(  $_‘;(¦&_‘t{_‘p}_‘b(¥_‘‚Z_‘v‚_‘+‚-—‘ Ã/—‘ 2—‘’(3—‘‚(x5—‘( ù6—‘;(ì8—‘ˆ—‘y—‘b(¼‘—‘‚s“—‘‚”—‘+ö@ϑ $Cϑ XEϑ’(pFϑ‚(ÑHϑ( RJϑ;(CLϑڠϑ̢ϑb(¥Ï‘‚Ŧϑҧϑ+ÝR’ U’ eW’’(pX’‚(ÃZ’( D\’;(F^’³’ö´’b(¶’‚U¸’d¹’+׬>’”¯>’ ›±>’‚\´>’;{·>’ ÞÀ>’b$Ä>’‚ÇÅ>’ÖÆ>’+£f?’ i?’ Fk?’’(pl?’‚(Ïn?’( pp?’;(–r?’>È?’‹Ê?’b(Ì?’‚ÒÍ?’áÎ?’+-Åv’;ÐÇv’+jxw’ ¯zw’ ò|w’’(~w’‚(j€w’( ‚w’;(ÿƒw’øØw’üÚw’b(1Ýw’‚ëÞw’øßw’+ ‹¯’ I¯’ ’¯’’(¹¯’‚(“¯’( ›”¯’;(Œ–¯’"믒í¯’b(W﯒‚ñ¯’ò¯’+žç’ Â ç’ ú¢ç’’(¤ç’‚(q¦ç’( ó§ç’;(ä©ç’›þç’Œè’b(Ïè’‚†è’“è’+ž°“ Û²“ &µ“’(B¶“‚(•¸“( º“;(¼“¯ “¡ “b(H “‚ú “  “+‚
-W“? -W“ RW“‚)W“;GW“ éW“b/"W“‚Ò#W“á$W“+oÄW“ ÐÆW“ 'ÉW“’(;ÊW“‚(”ÌW“( 0ÎW“;(\ÐW“&X“j(X“b(û)X“‚À+X“Ï,X“+
-#“;­%“+F֏“ ‡Ø“ Åڏ“’(Üۏ“‚(/ޏ“( Êߏ“;(ÐᏓž6“š8“b(Ï:“‚„<“ =“+êǓ XìǓ œîǓ’(­ïǓ‚( -òǓ( ŽóǓ;(õǓ-JȓLȓb(aNȓ‚Pȓ'Qȓ+0üÿ“ ^þÿ“ ’”’(ª”‚( ”( Œ”;(}”\”^”b(J`”‚b” -c”+ƒ8” Ä8”  8”’(8”‚(i8”( ê8”;(ì8”„o8”zq8”b(!s8”‚Ùt8”èu8”+ëgo”¨jo” ¯lo”‚poo”;ro” ø{o”b>o”‚á€o”ðo”+·!p”  $p” Q&p”’({'p”‚(Ú)p”( {+p”;(~-p” ƒp”e…p”b(è†p”‚§ˆp”¶‰p”+€§”;³‚§”+½4¨” 7¨” E9¨”’(j:¨”‚(½<¨”( X>¨”;(R@¨”h•¨”i—¨”b(ž™¨”‚X›¨”eœ¨”+{Gà” ¸Ià” Là”’((Mà”‚(ˆOà”( 
-Qà”;(ÿRà”¡§à”“©à”b(Ö«à”‚ˆ­à”›®à”+[• A]• y_•’(‘`•‚(ðb•( rd•;(cf•»•½•b(I¿•‚Á• -•+mP• UoP•  qP•’(¼rP•‚(uP•( ‘vP•;(†xP•.ÍP• ÏP•b(ÇÐP•‚yÒP•ˆÓP•+LJ•¾É‡• Ñˇ•‚žÎ‡•;ºÑ‡• $ۇ•bjއ•‚ -à‡•ᇕ+sˆ• ԁˆ• +„ˆ•’(?…ˆ•‚(˜‡ˆ•( 4‰ˆ•;(`‹ˆ•#ሕx㈕b( 刕‚Î戕Ý爕+‰ß¿•;,⿕+ŒÀ• •À• D—À•’([˜À•‚(®šÀ•( IœÀ•;(OžÀ•óÀ•õÀ•b(N÷À•‚ùÀ•úÀ•++¥ø• l§ø• °©ø•’(Áªø•‚(!­ø•( ¢®ø•;(•°ø•1ù•"ù•b(e ù•‚ ù•+ ù•+Ÿ¸0– ͺ0– ½0–’(¾0–‚(zÀ0–( ûÁ0–;(ìÃ0–ƒ1–u1–b(¼1–‚r1–1–+÷Ëh– 8Îh– Ðh–’(ŠÑh–‚(ÝÓh–( ^Õh–;(`×h–,i–.i–b(¶/i–‚n1i–}2i–+€$ –=' – D) –‚, –;./ – —8 –bÝ; –‚€= –> –+WÞ – ´à – ú⠖’($䠖‚(ƒæ –( $蠖;(9ꠖÑ?¡–B¡–b(™C¡–‚XE¡–gF¡–+À<ؖ;c?ؖ+mñؖ ²óؖ õõؖ’(÷ؖ‚(mùؖ( ûؖ;(ýؖüQٖTٖb(5Vٖ‚ïWٖüXٖ+— R— ›—’( —‚(" —( ¤ -—;(•—+d—f—b(`h—‚ -j—k—+.I— `I— ˜I—’(°I—‚(I—( ‘I—;(‚!I—9vI—*xI—b(mzI—‚$|I—1}I—+§)— ä+— /.—’(K/—‚(ž1—(  3—;(5—¸‰—ª‹—b(Q—‚——+‚¸—؄¸— 놸—‚¹‰¸—;ٌ¸— C–¸—b‰™¸—‚,›¸—;œ¸—+<¹— c>¹— º@¹—’(ÎA¹—‚('D¹—( ÃE¹—;(ïG¹—¨¹—ýŸ¹—b(Ž¡¹—‚S£¹—b¤¹—+šð—;@ð—+JOñ— ‹Qñ— ÉSñ—’(âTñ—‚(5Wñ—( ÐXñ—;(ÔZñ—¡¯ñ— ±ñ—b(Õ³ñ—‚Šµñ—¦¶ñ—+µa)˜ öc)˜ :f)˜’(Kg)˜‚(«i)˜( ,k)˜;(m)˜ËÁ)˜¼Ã)˜b(ÿÅ)˜‚¶Ç)˜ÅÈ)˜+9ua˜ gwa˜ ›ya˜’(³za˜‚(}a˜( •~a˜;(†€a˜Õa˜×a˜b(SÙa˜‚ Ûa˜Üa˜+!‡™˜ b‰™˜ ©‹™˜’(´Œ™˜‚(™˜( ˆ™˜;(Š’™˜"癘陘b(¿ê™˜‚w왘†í™˜+úàИ·ãИ ÃåИ‚„èИ;£ëИ  õИbRøИ‚õùИûИ+˚ј Ñ˜ eŸÑ˜’( Ñ˜‚(î¢Ñ˜( ¤Ñ˜;(’¦Ñ˜;üјþјb(Ҙ‚ÁҘÐҘ+)ù™;Ìû™+f¬ ™ «® ™ î° ™’(² ™‚(f´ ™( ¶ ™;(û· ™
-™
-™b(G
-™‚
-™
-™+$¿A™ aÁA™ ªÃA™’(×ÄA™‚(7ÇA™( ¹ÈA™;(®ÊA™JB™<!B™b(#B™‚1%B™@&B™+¸Òy™ êÔy™ "×y™’(:Øy™‚(™Úy™( Üy™;( Þy™Ã2z™´4z™b(÷6z™‚®8z™»9z™+Æ䱙 籙 N鱙’(j걙‚(½ì±™( ?;(0ð±™×D²™ÉF²™b(pH²™‚"J²™1K²™+ª>é™gAé™ C陂LFé™;hIé™ ÓRé™bV陂¼Wé™ËXé™+’øé™ óúé™ Jý陒(^þ陂(·ê™( Sê™;(ê™IZꙞ\ê™b(/^Ꙃô_ê™aê™+BW!š;åY!š+
-"š À "š þ"š’("š‚(h"š( "š;( "šÖj"šÝl"šb(o"š‚Çp"šãq"š+[Zš œ Zš à"Zš’(ñ#Zš‚(Q&Zš( Ò'Zš;(Ã)Zš`~ZšQ€Zšb(”‚Zš‚K„ZšZ…Zš+c0’š ‘2’š Å4’š’(Ý5’š‚(>8’š( ¿9’š;(°;’šH’š:’’šb(}”’š‚3–’š@—’š+¶Cʚ ÷Eʚ >Hʚ’(IIʚ‚(œKʚ( Mʚ;(OʚأʚΥʚb(u§Êš‚-©Êš<ªÊš+?œ›üž› ¡›‚Ó£›;ò¦› z±›bÀ´›‚c¶›r·›+V› yX› ¿Z›’(é[›‚(H^›( é_›;(þa›œ·›à¹›b(c»›‚"½›1¾›+Š´9›;-·9›+7i:› |k:› ¿m:›’(än:›‚(7q:›( Òr:›;(Ìt:›ÆÉ:›ÊË:›b(ÿÍ:›‚¹Ï:›ÆÐ:›+ß{r› ~r› e€r›’(Œr›‚(ìƒr›( n…r›;(_‡r›õÛr›çÝr›b(*àr›‚×ár›æâr›+øª› *ª› b’ª›’(z“ª›‚(ٕª›( [—ª›;(L™ª›ô瀞b(7òª›‚îóª›ûôª›+q¡â› ®£â› ù¥â›’(§â›‚(h©â›( êªâ›;(۬⛂ã›tã›b(㛂Íã›Üã›+åùœ¢üœ ºþœ‚‡œ;£œ ~œbÄœ‚gœvœ+̳œ -¶œ „¸œ’(˜¹œ‚(ñ»œ( ½œ;(¹¿œyœÏœb(`œ‚%œ4œ+rRœ;Rœ+ÇRœ `ÉRœ žËRœ’(µÌRœ‚(ÏRœ( £ÐRœ;(©ÒRœv'Sœu)Sœb(ª+Sœ‚_-Sœ{.Sœ+ŠÙŠœ Ëۊœ ފœ’( ߊœ‚(€áŠœ( ㊜;(ô䊜 9‹œ‘;‹œb(Ô=‹œ‚‹?‹œš@‹œ+íœ <ïœ pñœ’(ˆòœ‚(éôœ( jöœ;([øœóLÜåNÜb((QÜ‚ÞRÜëSÜ+öþúœ 7ûœ ~ûœ’(‰ûœ‚(Üûœ( ]ûœ;(_
-ûœý^ûœó`ûœb(šbûœ‚Rdûœaeûœ+ÔX2‘[2 ]2‚^`2;}c2 æl2b7p2‚Úq2ér2+¦3 3 E3’(o3‚(Î3( o3;(ˆ31t3uv3b(øw3‚·y3Æz3+qj;Âsj+Ì%k (k I*k’(`+k‚(¾-k( [/k;(b1kf†k‹ˆkb(ÀŠk‚zŒk–k+ 8£ Í:£ .=£’(U>£‚(ü@£( ŽB£;(ƒD£ù˜£›£b(U£‚Ÿ£ £+'K۝ YM۝ žO۝’(ÂP۝‚(!S۝( ¢T۝;(•V۝«Ûò¬Ûb(5¯Û‚ì°Ûù±Û+]ž A_ž Œaž’(¨bž‚(ûdž( }fž;(rhžè¼žÚ¾žb(Àž‚3žBÞ+¼¶Jžy¹Jž ‘»Jž‚]¾Jž;{ÁJž ëÊJžb1ÎJž‚áÏJžðÐJž+£pKž sKž [uKž’(ovKž‚(ÈxKž( hzKž;(•|KžÒKžtÔKžb(÷ÕKž‚¼×KžËØKž+ςž;ºÑ‚ž+マ †ƒž Cˆƒž’(Z‰ƒž‚(­‹ƒž( Hƒž;(Nƒž䃞ÿ僞b(4胞‚é郞냞+–»ž U˜»ž ™š»ž’(ª›»ž‚(
-ž»ž( ‹Ÿ»ž;(~¡»žèõ»žÙ÷»žb(ú»ž‚Óû»žâü»ž+V©óž „«óž ¸­óž’(Юóž‚(1±óž( ²²óž;(£´óž ôžû
-ôžb(> -ôž‚ôôžôž+ »+Ÿ M½+Ÿ ”¿+Ÿ’(ŸÀ+Ÿ‚(òÂ+Ÿ( sÄ+Ÿ;(uÆ+Ÿý,Ÿó,Ÿb(š,Ÿ‚R ,Ÿa!,Ÿ+ÕcŸ’cŸ žcŸ‚icŸ;ˆcŸ <*cŸb‚-cŸ‚%/cŸ40cŸ+±ÎcŸ ÑcŸ TÓcŸ’(~ÔcŸ‚(ÝÖcŸ( ~ØcŸ;(¤ÚcŸ0dŸT2dŸb(×3dŸ‚–5dŸ¥6dŸ+ÿ,›Ÿ;¢/›Ÿ+¬á›Ÿ ñ㛟 4曟’(Y盟‚(¬é›Ÿ( G뛟;(A훟BœŸDœŸb(GFœŸ‚HœŸIœŸ+"ôӟ _öӟ ¨øӟ’(Ïùӟ‚(/üӟ( ±ýӟ;(¢ÿӟ8Tԟ*Vԟb(mXԟ‚Zԟ)[ԟ+B   t   ¬
-  ’(Ä  ‚(#  ( ¤  ;(™  Qf  Bh  b(…j  ‚<l  Im  +¿D  üD  GD ’(cD ‚(¶!D ( 8#D ;()%D ÐyD Â{D b(i}D ‚D *€D +3r{ ðt{  w{ ‚Õy{ ;ñ|{  [†{ b¡‰{ ‚D‹{ SŒ{ +,|  {.|  Ò0| ’(æ1| ‚(?4| ( Û5| ;(8| ̍| !| b(²‘| ‚w“| †”| +Ŋ³ ;h³ +r?´  ³A´  ñC´ ’(E´ ‚([G´ ( öH´ ;(üJ´ ϟ´ Ρ´ b(¤´ ‚¸¥´ Ô¦´ +ãQì  $Tì  hV젒(yWì ‚(ÙYì ( Z[ì ;(M]ì ÿ±ì ð³ì b(3¶ì ‚ê·ì ù¸ì +me$¡ ›g$¡ Ïi$¡’(çj$¡‚(Hm$¡( Én$¡;(Àp$¡WÅ$¡IÇ$¡b(ŒÉ$¡‚BË$¡OÌ$¡+Zw\¡ ›y\¡ â{\¡’(í|\¡‚(@\¡( Á€\¡;(Â\¡l×\¡bÙ\¡b( Û\¡‚ÁÜ\¡ÐÝ\¡+Cѓ¡ԓ¡  ֓¡‚Íؓ¡;ìۓ¡ U員b›è“¡‚>ꓡM듡+‹”¡ i”¡ ¯”¡’(ِ”¡‚(8“”¡( ٔ”¡;(à–”¡씡Ãb(F𔡂ò”¡ó”¡+méË¡;ìË¡+ªœÌ¡ ïžÌ¡ 2¡Ì¡’(W¢Ì¡‚(ª¤Ì¡( E¦Ì¡;(?¨Ì¡UýÌ¡VÿÌ¡b(‹Í¡‚EÍ¡RÍ¡+h¯¢ ¥±¢ î³¢’(µ¢‚(u·¢( ÷¸¢;(캢‰¢{¢b(¾¢‚p¢¢+÷Â<¢ )Å<¢ aÇ<¢’(yÈ<¢‚(ØÊ<¢( ZÌ<¢;(OÎ<¢ü"=¢í$=¢b(0'=¢‚ç(=¢ô)=¢+ÿÔt¢ <×t¢ ‡Ùt¢’(£Út¢‚(öÜt¢( xÞt¢;(iàt¢5u¢7u¢b(©8u¢‚[:u¢j;u¢+ã.¬¢ 1¬¢ ¸3¬¢‚6¬¢;­9¬¢ C¬¢bdF¬¢‚H¬¢I¬¢+Ö謢 7묢 Ží¬¢’(¢î¬¢‚(ûð¬¢( —ò¬¢;(Èô¬¢“J­¢éL­¢b(zN­¢‚?P­¢NQ­¢+ŒGä¢;/Jä¢+Èúä¢  ýä¢ Gÿ䢒(^墂(±å¢( Lå¢;(Rå¢ [å¢]å¢b(Q_墂aå¢"bå¢+™£ Ú£ £’(/£‚(£( £;(£Ÿn£p£b(Ór£‚Št£™u£+¢ U£ Ð"U£ %U£’(&U£‚(}(U£( þ)U£;(ï+U£†€U£x‚U£b(»„U£‚q†U£~‡U£+ô3£ 56£ |8£’(‡9£‚(Ú;£( [=£;(]?£”£ -–£b(´—£‚l™£{š£+~ŒÄ£;Ä£ G‘Ä£‚”Ä£;'—Ä£ Š Ä£bУģ‚s¥Ä£‚¦Ä£+OFÅ£ ¬HÅ£ òJÅ£’(LÅ£‚({NÅ£( PÅ£;(HRÅ£ñ§Å£4ªÅ£b(·«Å£‚v­Å£…®Å£+ߤü£;‚§ü£+ŒYý£ Ó[ý£ ^ý£’(;_ý£‚(Žaý£( +cý£;('eý£ ºý£$¼ý£b(Y¾ý£‚Àý£ Áý£+9l5¤ vn5¤ ¿p5¤’(æq5¤‚(Ft5¤( Èu5¤;(¹w5¤OÌ5¤AÎ5¤b(„Ð5¤‚1Ò5¤@Ó5¤+R~m¤ „€m¤ ¼‚m¤’(ԃm¤‚(3†m¤( µ‡m¤;(¦‰m¤]Þm¤Nàm¤b(‘âm¤‚Häm¤Uåm¤+ˑ¥¤ ”¥¤ S–¥¤’(o—¥¤‚(™¥¤( D›¥¤;(5¥¤Üñ¥¤Îó¥¤b(uõ¥¤‚'÷¥¤6ø¥¤+?êܤüìܤ ïܤ‚áñܤ;ýôܤ tþܤbºݤ‚]ݤlݤ+&¤Ý¤ ‡¦Ý¤ ިݤ’(ò©Ý¤‚(K¬Ý¤( ç­Ý¤;(°Ý¤ÑÞ¤&Þ¤b(· Þ¤‚| Þ¤‹ Þ¤+Æ¥;i¥+s·¥ ´¹¥ ø»¥’(½¥‚(b¿¥( ýÀ¥;(åХϥb(¥‚¹¥Õ¥+äÉM¥ %ÌM¥ iÎM¥’(zÏM¥‚(ÚÑM¥( [ÓM¥;(NÕM¥ *N¥ü+N¥b(?.N¥‚ö/N¥1N¥+y݅¥ §ß…¥ Ûᅥ’(óⅥ‚(T入( Õ慥;(Æ腥]=†¥O?†¥b(’A†¥‚HC†¥UD†¥+`ï½¥ ¡ñ½¥ è󽥒(óô½¥‚(F÷½¥( Çø½¥;(Éú½¥bO¾¥XQ¾¥b(ÿR¾¥‚·T¾¥ÆU¾¥+9Iõ¥öKõ¥ ýMõ¥‚ÃPõ¥;âSõ¥ K]õ¥b‘`õ¥‚4bõ¥Ccõ¥+ ö¥ _ö¥ ¥ö¥’(Ïö¥‚(. ö¥( Ï ö¥;(Öö¥ndö¥³fö¥b(6hö¥‚ùiö¥kö¥+^a-¦;d-¦+ .¦ P.¦ “.¦’(¸.¦‚( .¦( ¦.¦;( !.¦¶v.¦·x.¦b(ìz.¦‚¦|.¦³}.¦+É(f¦ +f¦ O-f¦’(v.f¦‚(Ö0f¦( X2f¦;(M4f¦êˆf¦܊f¦b(f¦‚юf¦àf¦+í:ž¦ =ž¦ W?ž¦’(o@ž¦‚(ÎBž¦( PDž¦;(EFž¦òšž¦㜞¦b(&Ÿž¦‚ß ž¦졞¦+`NÖ¦ PÖ¦ èRÖ¦’(TÖ¦‚(WVÖ¦( ÙWÖ¦;(ÊYÖ¦q®Ö¦c°Ö¦b(
-²Ö¦‚¼³Ö¦Ë´Ö¦+Ô¦ -§‘© -§ ¤« -§‚|® -§;˜± -§  » -§bO¾ -§‚ò¿ -§Á -§+Á`§ "c§ ye§’(f§‚(æh§( ‚j§;(³l§w§Ìħb(]Ƨ‚"ȧ1ɧ+l¿E§;ÂE§+¨rF§ étF§ 'wF§’(>xF§‚(‘zF§( ,|F§;(2~F§ÓF§üÔF§b(1×F§‚æØF§ÚF§+y†~§ ºˆ~§ þŠ~§’(Œ~§‚(oŽ~§( ð~§;(ã‘~§æ~§pè~§b(³ê~§‚jì~§yí~§+‚˜¶§ °š¶§ 䜶§’(ü¶§‚(] ¶§( Þ¡¶§;(Ï£¶§fø¶§Xú¶§b(›ü¶§‚Qþ¶§^ÿ¶§+Û«î§ ®î§ c°î§’(n±î§‚(Á³î§( Bµî§;(B·î§ü ï§ò -ï§b(™ï§‚Qï§`ï§+c&¨ &¨ , &¨‚í &¨; &¨ p&¨b¶&¨‚Y&¨h&¨+5¾&¨ ’À&¨ ØÂ&¨’(Ä&¨‚(aÆ&¨( È&¨;((Ê&¨Ê'¨"'¨b(’#'¨‚Q%'¨`&'¨+¹^¨;\^¨+fÑ^¨ «Ó^¨ îÕ^¨’(×^¨‚(fÙ^¨( Û^¨;(ûÜ^¨õ1_¨ù3_¨b(.6_¨‚è7_¨õ8_¨+䖨 K斨 ”è–¨’(»é–¨‚(얨( í–¨;(Žï–¨$D—¨F—¨b(YH—¨‚J—¨K—¨+’÷Ψ ÄùΨ üûΨ’(ýΨ‚(sÿΨ( õϨ;(æϨ£WϨ”YϨb(×[Ϩ‚Ž]Ϩ ^Ϩ+¦ © ã © .©’(J©‚(©( ©;(©¼i©®k©b([m©‚ -o©p©+c>©Lf>© _h>©‚,k>©;Hn>© ²w>©bøz>©‚›|>©ª}>©+?© b?© ¹ ?©’(Í!?©‚(&$?©( Â%?©;(ó'?©¬}?©€?©b(’?©‚Wƒ?©f„?©+|v©;´~v©+N/w© 1w© Í3w©’(ä4w©‚(77w©( Ò8w©;(Ø:w©¥w©¤‘w©b(ٓw©‚Ž•w©ª–w©+¹A¯© úC¯© >F¯©’(OG¯©‚(¯I¯©( 0K¯©;(#M¯©Ï¡¯©À£¯©b(¦¯©‚º§¯©ɨ¯©+=Uç© kWç© ŸY穒(·Zç©‚(]ç©( ™^ç©;(Š`ç©"µç©·ç©b(W¹ç©‚ -»ç©¼ç©+%gª fiª ­kª’(¸lª‚( oª( Œpª;(Žrª&Ǫɪb(Ãʪ‚}̪ŒÍª+þÀVª»ÃVª ÂÅVª‚ÈVª;¬ËVª ÕVªb`ØVª‚ÚVªÛVª+ÕzWª )}Wª oWª’(™€Wª‚(ø‚Wª( ™„Wª;( †Wª8ÜWª}ÞWªb(àWª‚¿áWªÎâWª+(َª;Ëێª+Սª ª ]’ª’(‚“ª‚(Օª( p—ª;(j™ª€îªðªb(¶òª‚pôª}õª+“ Çª ТǪ ¥Çª’(@¦Çª‚( ¨Çª( "ªÇª;(¬Çª´Èª¦Ȫb(éȪ‚›ȪªȪ+·²ÿª é´ÿª !·ÿª’(9¸ÿª‚(˜ºÿª( ¼ÿª;(¾ÿª¼«­«b(𫂧«´«+*Æ7« gÈ7« ²Ê7«’(ÎË7«‚(!Î7«( £Ï7«;(”Ñ7«;&8«-(8«b(Ô)8«‚†+8«•,8«+žo«[!o« n#o«‚<&o«;\)o« Æ2o«b 6o«‚¯7o«¾8o«+…Øo« æÚo« =Ýo«’(QÞo«‚(ªào«( Fâo«;(säo«6:p«‹<p«b(>p«‚á?p«ð@p«++7§«;Î9§«+Ø맫  W𧫒(nñ§«‚(Áó§«( \õ§«;(b÷§«/L¨«.N¨«b(cP¨«‚R¨«4S¨«+Jþß« ‹à« Ï૒(àà«‚(@à«( Áà«;(² à«N^à«?`à«b(‚bà«‚9dà«Heà«+¼¬ ê¬ ¬’(6¬‚(—¬( ¬;( ¬¡q¬“s¬b(Öu¬‚Œw¬™x¬+¤#P¬ å%P¬ ,(P¬’(7)P¬‚(Š+P¬(  -P¬;( -/P¬ƃP¬¼…P¬b(c‡P¬‚‰P¬*ŠP¬+ž}‡¬[€‡¬ g‚‡¬‚(…‡¬;Gˆ‡¬ ª‘‡¬b𔇬‚“–‡¬¢—‡¬+ÿ5ˆ¬ \8ˆ¬ ¢:ˆ¬’(Ì;ˆ¬‚(+>ˆ¬( Ì?ˆ¬;(òAˆ¬”—ˆ¬ٙˆ¬b(\›ˆ¬‚ˆ¬*žˆ¬+ô•¿¬;—˜¿¬+0IÀ¬ uKÀ¬ ¸MÀ¬’(ÝNÀ¬‚(0QÀ¬( ËRÀ¬;(ÅTÀ¬Ä©À¬È«À¬b(ý­À¬‚·¯À¬Ä°À¬+Ø[ø¬ ^ø¬ ^`ø¬’(…aø¬‚(åcø¬( leø¬;(]gø¬ó»ø¬ç½ø¬b(*Àø¬‚×Áø¬æÂø¬+go0­ ™q0­ Ñs0­’(ét0­‚(Hw0­( Êx0­;(»z0­ƒÏ0­tÑ0­b(·Ó0­‚nÕ0­{Ö0­+†h­ Ãh­ †h­’(*‡h­‚(}‰h­( ÿŠh­;(ôŒh­œáh­Žãh­b(5åh­‚çæh­öçh­+o۟­,ޟ­ ?àŸ­‚ 㟭;(柭 ŸïŸ­båòŸ­‚ˆôŸ­—õŸ­+Q• ­ ²— ­  š ­’(› ­‚(v ­( Ÿ ­;(?¡ ­üö ­Qù ­b(âú ­‚§ü ­¶ý ­+ñó×­;”ö×­+.§Ø­ o©Ø­ ­«Ø­’(Ĭح‚(¯Ø­( ²°Ø­;(¸²Ø­…Ù­„ Ù­b(¹ Ù­‚n -Ù­ŽÙ­+»® E½® ‰¿®’(šÀ®‚(ú®( {Ä®;(nÆ®® ®b(N®‚!®"®+ÍH® KÏH® ÑH®’(—ÒH®‚(øÔH®( yÖH®;(jØH®-I®ô.I®b(71I®‚í2I®ú3I®+pà€® ±â€® ø䀮’(怮‚(V耮( ×逮;(Ù뀮q@®gB®b(D®‚ÆE®ÕF®+Ø8¸®•;¸® œ=¸®‚g@¸®;†C¸® õL¸®b;P¸®‚ÞQ¸®íR¸®+¯ò¸® õ¸® I÷¸®’(sø¸®‚(Òú¸®( sü¸®;(|þ¸®T¹®XV¹®b(ÛW¹®‚šY¹®©Z¹®+Qð®;¥Sð®+¯ñ® ôñ® 7
-ñ®’(\ ñ®‚(¯ -ñ®( Jñ®;(Dñ®Zfñ®[hñ®b(jñ®‚Jlñ®Wmñ®+m)¯ ª)¯ ó)¯’()¯‚(z )¯( ü!)¯;(í#)¯‰x)¯{z)¯b(¾|)¯‚p~)¯)¯+Œ*a¯ ¾,a¯ ö.a¯’(0a¯‚(m2a¯( ï3a¯;(ä5a¯‘Ša¯‚Œa¯b(Ŏa¯‚|a¯‰‘a¯+ÿ=™¯ <@™¯ ‡B™¯’(£C™¯‚(öE™¯( xG™¯;(iI™¯ž™¯ ™¯b(©¡™¯‚[£™¯j¤™¯+s–Я0™Ð¯ H›Ð¯‚žÐ¯;1¡Ð¯ ›ªÐ¯bá­Ð¯‚„¯Ð¯“°Ð¯+ZPѯ »Rѯ Uѯ’(&Vѯ‚(Xѯ( Zѯ;(H\ѯ ²Ñ¯`´Ñ¯b(ñµÑ¯‚¶·Ñ¯Ÿѯ+¯°;£±°+­c ° îe ° ,h °’(Ci °‚(–k °( 1m °;(7o °Ä °Æ °b(8È °‚íÉ ° Ë °+vA° YxA° zA°’(®{A°‚(~A°( A°;(‚A°ÖA°ØA°b(RÚA°‚ ÜA°ÝA°+Œ‰y° º‹y° îy°’(y°‚(g‘y°( è’y°;(ٔy°péy°bëy°b(¥íy°‚[ïy°hðy°+s›±° ´±° ûŸ±°’(¡±°‚(Y£±°( Ú¤±°;(ܦ±°›û±°‘ý±°b(8ÿ±°‚ð²°ÿ²°+sõè°0øè° 7ú谂øüè°;é°  é°bŠ鰂hé°wé°+D¯é° ¡±é° ç³é°’(µé°‚(v·é°( ¹é°;(=»é°ßê°$ê°b(§ê°‚fê°uê°+Î -!±;q!±+ Á!± PÃ!± “Å!±’(¸Æ!±‚( É!±( ¦Ê!±;( Ì!±ª!"±®#"±b(ã%"±‚'"±ª("±+ÃÓY± ÖY± IØY±’(pÙY±‚(ÐÛY±( RÝY±;(CßY±Ù3Z±Ë5Z±b(8Z±‚»9Z±Ê:Z±+G瑱 y鑱 ±ë‘±’(É쑱‚((( ªð‘±;(›ò‘±XG’±II’±b(ŒK’±‚CM’±PN’±+[ùɱ ˜ûɱ ãýɱ’(ÿþɱ‚(Rʱ( Ôʱ;(ÉʱqYʱc[ʱb(
-]ʱ‚¼^ʱË_ʱ+DS²V² X²‚áZ²;ý]² gg²b­j²‚Pl²_m²+& -² ‡² Þ²’(ò²‚(K²( ç²;(²Ñn²&q²b(·r²‚|t²‹u²+Æk9²;in9²+:² D!:² ‚#:²’(™$:²‚(ì&:²( ‡(:²;(*:²Z:²Y:²b(Žƒ:²‚C…:²_†:²+Ù2r² 5r² ^7r²’(o8r²‚(Ï:r²( P<r²;(C>r²ï’r²à”r²b(#—r²‚ژr²é™r²+òDª²  Gª² TIª²’(lJª²‚(ÍLª²( NNª²;(?Pª²פª²ɦª²b( ©ª²‚ªª²Ï«ª²+EXâ² †Zâ² Í\Ⲓ(Ø]Ⲃ(+`â²( ¬aâ²;(®câ²F¸â²<ºâ²b(ã»â²‚›½â²ª¾â²+­°³j³³ qµ³‚<¸³;[»³ Åijbȳ‚¹É³Èʳ+„j³ Øl³ o³’(Gp³‚(¦r³( Gt³;(`v³Ì³Hγb(Ëϳ‚ŠÑ³™Ò³+óÈQ³;–ËQ³+ }R³ åR³ ‚R³’(4ƒR³‚(’…R³( /‡R³;(4‰R³4ÞR³YàR³b(ŽâR³‚HäR³dåR³+nŠ³ ›’Š³ ü”Š³’(#–Š³‚(ʘŠ³( \šŠ³;(QœŠ³ÇðŠ³àòŠ³b(#õŠ³‚ÐöŠ³ß÷Š³+õ¢Â³ '¥Â³ l§Â³’(¨Â³‚(ïªÂ³( p¬Â³;(c®Â³ÔóÅób(ó‚¿óÌ Ã³+B¶ú³ ¸ú³ ʺú³’(æ»ú³‚(9¾ú³( »¿ú³;(¬Áú³!û³û³b(ºû³‚lû³{û³+„2´A2´ Y2´‚&2´;B2´ ­"2´bó%2´‚£'2´²(2´+lÈ2´ ÍÊ2´ $Í2´’(8Î2´‚(‘Ð2´( 1Ò2´;(^Ô2´á)3´6,3´b(¹-3´‚~/3´03´+Ú&j´;})j´+‡Ûj´ ÈÝj´ àj´’(áj´‚(pãj´(  åj´;(çj´Ã;k´Â=k´b(÷?k´‚¬Ak´ÈBk´+×í¢´ 𢴠\ò¢´’(mó¢´‚(Íõ¢´( N÷¢´;(Aù¢´±M£´¢O£´b(åQ£´‚œS£´«T£´+Û´ MÛ´ Û´’(™Û´‚(úÛ´( {
-Û´;(l Û´Ò`Û´ÐbÛ´b(eÛ´‚ÉfÛ´ÖgÛ´+Pµ ‘µ ص’(㵂(6µ( ·µ;(¹µAtµ7vµb(Þwµ‚–yµ¥zµ+¨lJµeoJµ lqJµ‚-tJµ;LwJµ µ€JµbûƒJµ‚ž…Jµ­†Jµ+t&Kµ Ñ(Kµ +Kµ’(A,Kµ‚( .Kµ( A0Kµ;(g2Kµ͇KµŠKµb(•‹Kµ‚TKµcŽKµ+¼„‚µ;_‡‚µ+i9ƒµ ®;ƒµ ñ=ƒµ’(?ƒµ‚(iAƒµ( Cƒµ;(þDƒµ̙ƒµЛƒµb(žƒµ‚¿ŸƒµÌ ƒµ+åK»µ "N»µ kP»µ’(’Q»µ‚(òS»µ( tU»µ;(eW»µû«»µí­»µb(0°»µ‚ݱ»µì²»µ+i_óµ ›aóµ Ócóµ’(ëdóµ‚(Jgóµ( Ìhóµ;(½jóµt¿óµeÁóµb(¨Ãóµ‚`ÅóµmÆóµ+wq+¶ ´s+¶ ÿu+¶’(w+¶‚(ny+¶( ðz+¶;(á|+¶ˆÑ+¶zÓ+¶b(!Õ+¶‚ÓÖ+¶â×+¶+[Ëb¶Îb¶ +Ðb¶‚Ób¶; Öb¶ àb¶bKãb¶‚îäb¶ýåb¶+H…c¶ ©‡c¶ Šc¶’(‹c¶‚(mc¶(  c¶;(6‘c¶óæc¶Héc¶b(Ùêc¶‚žìc¶­íc¶+è㚶;‹æš¶+%—›¶ f™›¶ ¤››¶’(»œ›¶‚(Ÿ›¶( © ›¶;(¯¢›¶|÷›¶{ù›¶b(°û›¶‚eý›¶þ›¶+ûªÓ¶ <­Ó¶ €¯Ó¶’(‘°Ó¶‚(ñ²Ó¶( r´Ó¶;(e¶Ó¶ Ô¶ -Ô¶b(EÔ¶‚üÔ¶ Ô¶+½ · B¿ · vÁ ·’(ŽÂ ·‚(ïÄ ·( pÆ ·;(aÈ ·ù ·ë ·b(.! ·‚ä" ·ñ# ·+gÐC· ¨ÒC· ïÔC·’(úÕC·‚(MØC·( ÎÙC·;(ÐÛC·h0D·^2D·b(4D·‚½5D·Ì6D·+Ï({·Œ+{· “-{·‚T0{·;s3{· Ü<{·b"@{·‚ÅA{·ÔB{·+›â{· ïä{· 5ç{·’(_è{·‚(¾ê{·( _ì{·;(hî{·D|·IF|·b(ÌG|·‚‹I|·šJ|·+ý@³·;¢C³·+¬õ³· ñ÷³· 4ú³·’(Yû³·‚(¬ý³·( Gÿ³·;(A´·WV´·XX´·b(Z´·‚G\´·T]´·+jì· §
-ì· ð 췒(ì·‚(wì·( ùì·;(îì·‹hì·}jì·b(Àlì·‚rn췁oì·+ù$¸ +$¸ c $¸’({!$¸‚(Ú#$¸( \%$¸;(Q'$¸þ{$¸ï}$¸b(2€$¸‚é$¸ö‚$¸+.\¸ >0\¸ ‰2\¸’(¥3\¸‚(ø5\¸( z7\¸;(k9\¸Ž\¸\¸b(«‘\¸‚]“\¸l”\¸+凓¸¢Š“¸ ºŒ“¸‚†“¸;¤’“¸ œ“¸bTŸ“¸‚÷ “¸¢“¸+\@”¸ ½B”¸ E”¸’((F”¸‚(H”¸( J”¸;(JL”¸¢”¸g¤”¸b(ø¥”¸‚½§”¸̨”¸+x Ë¸;£Ë¸+´S̸ õU̸ 3X̸’(JY̸‚(£[̸( >]̸;(D_̸´Ì¸¶Ì¸b(E¸Ì¸‚ú¹Ì¸»Ì¸+%f¹ fh¹ ªj¹’(»k¹‚(n¹( œo¹;(q¹;ƹ,ȹb(oʹ‚&̹5͹+©y<¹ ×{<¹  ~<¹’(#<¹‚(„<¹( ƒ<¹;(ö„<¹ŽÙ<¹€Û<¹b(ÃÝ<¹‚yß<¹†à<¹+‘‹t¹ ҍt¹ t¹’($‘t¹‚(w“t¹( ø”t¹;(ú–t¹³ët¹©ít¹b(Pït¹‚ñt¹òt¹+‹å«¹H諹 O꫹‚í«¹;3𫹠—ù«¹bÝü«¹‚€þ«¹ÿ«¹+\Ÿ¬¹ ¹¡¬¹ ÿ£¬¹’()¥¬¹‚(ˆ§¬¹( )©¬¹;(O«¬¹ñ­¹6­¹b(¹­¹‚x­¹‡­¹+áýã¹;Šä¹+#±ä¹ h³ä¹ «µä¹’(ж乂(#¹ä¹( ¾ºä¹;(¸¼ä¹±å¹µå¹b(ê幂¤å¹±å¹+0ź mǺ ¶Éº’(Ýʺ‚(=ͺ( ¿Îº;(°ÐºF%º8'ºb({)º‚(+º7,º+I×Tº {ÙTº ³ÛTº’(ËÜTº‚(*ßTº( ¬àTº;(âTºT7UºE9Uºb(ˆ;Uº‚?=UºL>Uº+Âꌺ ÿ쌺 J’(fðŒº‚(¹òŒº( ;ôŒº;(,öŒºÓJºÅLºb(lNº‚Pº-Qº+6CĺóEĺ Hĺ‚ÞJĺ;úMĺ XĺbÓ[ĺ‚v]ĺ…^ĺ+#ýĺ „ÿĺ Ûź’(ïź‚(Hź( äź;( źÎ^ź#aźb(´bź‚ydźˆeź+Ã[üº;f^üº+pýº ±ýº ïýº’(ýº‚(Yýº( ôýº;(úýºÇpýºÆrýºb(ûtýº‚°výºÌwýº+Û"5» %5» `'5»’(q(5»‚(Ñ*5»( R,5»;(E.5»ñ‚5»â„5»b(%‡5»‚܈5»ë‰5»+ô4m» "7m» V9m»’(n:m»‚(Ï<m»( P>m»;(A@m»ٔm»˖m»b(™m»‚Ěm»ћm»+GH¥» ˆJ¥» ÏL¥»’(ÚM¥»‚(0P¥»( ±Q¥»;(¯S¥»H¨¥»>ª¥»b(å«¥»‚­¥»¬®¥»+¯ Ü»l£Ü» x¥Ü»‚9¨Ü»;X«Ü» Á´Ü»b¸Ü»‚ª¹Ü»ºܻ+ZÝ» Õ\Ý» _Ý»’(E`Ý»‚(¤bÝ»( EdÝ»;(LfÝ»ä»Ý»)¾Ý»b(¬¿Ý»‚kÁÝ»zÂÝ»+Ô¸¼;w»¼+m¼ Æo¼  r¼’(.s¼‚(u¼( w¼;(y¼,μ-мb(bÒ¼‚Ô¼)Õ¼+?€M¼ |‚M¼ ńM¼’(ì…M¼‚(LˆM¼( ΉM¼;(ËM¼`àM¼RâM¼b(•äM¼‚GæM¼VçM¼+Γ…¼ –…¼ 8˜…¼’(P™…¼‚(¯›…¼( 1…¼;(&Ÿ…¼Ùó…¼Êõ…¼b( -ø…¼‚Äù…¼Ñú…¼+Ü¥½¼ ¨½¼ dª½¼’(€«½¼‚(Ó­½¼( U¯½¼;(J±½¼ò¾¼ä¾¼b(‹ ¾¼‚= ¾¼R ¾¼+Åÿô¼‚õ¼ •õ¼‚bõ¼;~
-õ¼ èõ¼b.õ¼‚Ñõ¼àõ¼+§¹õ¼ ¼õ¼ X¾õ¼’(l¿õ¼‚(ÅÁõ¼( aÃõ¼;(ŽÅõ¼]ö¼²ö¼b(Cö¼‚!ö¼"ö¼+R-½;õ-½+Ë-½ ÐÍ-½ Ð-½’(%Ñ-½‚(xÓ-½( Õ-½;(×-½æ+.½å-.½b(0.½‚Ï1.½ë2.½+úÝe½ ;àe½ âe½’(ãe½‚(ðåe½( qçe½;(dée½>f½ñ?f½b(4Bf½‚ëCf½úDf½+nñ½ œó½ Ðõ½’(èö½‚(Iù½( Êú½;(»ü½RQž½DSž½b(‡Už½‚=Wž½JXž½+ÀÖ½ Ö½ H Ö½’(S
-Ö½‚(¦ Ö½( 'Ö½;()Ö½ãdÖ½ÙfÖ½b(€hÖ½‚8jÖ½GkÖ½+J] -¾` -¾ b -¾‚Ùd -¾;øg -¾ Mq -¾b“t -¾‚0v -¾?w -¾+!¾ ~¾ ľ’((M¾( î ¾;(#¾«x¾êz¾b(m|¾‚,~¾;¾+•uE¾;8xE¾+B*F¾ ‡,F¾ Ê.F¾’(ï/F¾‚(B2F¾( Ý3F¾;(×5F¾ЊF¾ԌF¾b( F¾‚ÐF¾БF¾+ä<~¾ !?~¾ jA~¾’(‘B~¾‚(ñD~¾( sF~¾;(dH~¾úœ~¾ìž~¾b(/¡~¾‚Ü¢~¾ë£~¾+ýN¶¾ /Q¶¾ gS¶¾’(T¶¾‚(ÞV¶¾( `X¶¾;(QZ¶¾¯¶¾ù°¶¾b(<³¶¾‚󴶾¶¶¾+vbî¾ ³dî¾ þf(h(mjî¾( ïkî¾;(àmÂî¾yÄî¾b( ÆÒÇî¾áÈî¾+êº%¿§½%¿ º¿%¿‚ˆÂ%¿;¨Å%¿ ~Ï%¿bÄÒ%¿‚gÔ%¿vÕ%¿+Ñt&¿ 2w&¿ ‰y&¿’(z&¿‚(ö|&¿( ’~&¿;(¿€&¿|Ö&¿ÑØ&¿b(bÚ&¿‚'Ü&¿6Ý&¿+qÓ]¿;Ö]¿+ˆ^¿ _Š^¿ Œ^¿’(´^¿‚(^¿( ¢‘^¿;(¨“^¿vè^¿rê^¿b(§ì^¿‚\î^¿xï^¿+‹š–¿ ̜–¿ Ÿ–¿’(! –¿‚(¢–¿( ¤–¿;(󥖿 ú–¿‘ü–¿b(Ôþ–¿‚‹—¿š—¿+®Î¿ <°Î¿ p²Î¿’(ˆ³Î¿‚(éµÎ¿( j·Î¿;([¹Î¿ò -Ï¿äÏ¿b('Ï¿‚ÝÏ¿êÏ¿+õ¿À 6ÂÀ }ÄÀ’(ˆÅÀ‚(ÛÇÀ( \ÉÀ;(^ËÀ÷Àí!Àb(”#À‚L%À[&À+Î>À–>À ¢>À‚c!>À;‚$>À ë->Àb11>À‚Ô2>Àã3>À+«Ó>À ÿÕ>À EØ>À’(oÙ>À‚(ÎÛ>À( oÝ>À;(vß>À5?ÀS7?Àb(Ö8?À‚•:?À¨;?À+þ1vÀ;¡4vÀ+«ævÀ ðèvÀ 3ëvÀ’(XìvÀ‚(«îvÀ( FðvÀ;(@òvÀVGwÀWIwÀb(ŒKwÀ‚FMwÀXNwÀ+iù®À ¦û®À ïý®À’(ÿ®À‚(v¯À( ø¯À;(í¯ÀŠY¯À|[¯Àb(¿]¯À‚q_¯À€`¯À+ çÀ ¿ -çÀ ÷çÀ’(çÀ‚(nçÀ( ðçÀ;(åçÀkçÀŽmçÀb(ÑoçÀ‚ˆqçÀ•rçÀ+ Á H!Á “#Á’(¯$Á‚('Á( „(Á;(u*ÁÁÁb(µ‚Á‚g„Áv…Á+wVÁ@zVÁ S|VÁ‚ VÁ;>‚VÁ §‹VÁbíŽVÁ‚VÁŸ‘VÁ+f1WÁ Ç3WÁ 6WÁ’(27WÁ‚(‹9WÁ( ';WÁ;(T=WÁ“WÁq•WÁb(—WÁ‚ǘWÁ֙WÁ+ŽÁ;´’ŽÁ+NCÁ EÁ ÍGÁ’(äHÁ‚(7KÁ( ÒLÁ;(ØNÁ¥£Á¤¥Áb(ݧÁ‚’©Á®ªÁ+$WÇÁ eYÇÁ ©[ÇÁ’(º\ÇÁ‚(_ÇÁ( ›`ÇÁ;(ŽbÇÁ*·ÇÁ¹ÇÁb(^»ÇÁ‚½ÇÁ$¾ÇÁ+-iÿÁ [kÿÁ mÿÁ’(§nÿÁ‚(qÿÁ( ‰rÿÁ;(ztÿÁÉÿÁËÿÁb(FÍÿÁ‚üÎÿÁ ÐÿÁ+|7 À~7 7’(‚7‚(e„7Â( æ…7Â;(è‡7¢Ü7˜Þ7Âb(?à7‚÷á7Âã7Â+ ÕnÂÆ×n ÍÙn‚˜ÜnÂ;·ßn énÂbaìn‚înÂïnÂ+àŽo =‘o ƒ“o’(­”o‚( —oÂ( ­˜oÂ;(ӚoÂuðoºòoÂb(=ôo‚üõo ÷oÂ+dí¦Â;ð¦Â+¢§Â V¤§Â ™¦§Â’(¾§§Â‚(ª§Â( ¬«§Â;(¦­§Â ¨Â¤¨Âb(٨‚“¨Â  ¨Â+¹´ß ö¶ß ?¹ß’(fºß‚(ƼßÂ( H¾ßÂ;(9ÀßÂÏàÂÁàÂb(à‚±àÂÀàÂ+=Èà oÊà §ÌÒ(¿ÍÂ(ÐÃ(  ÑÃ;(‘ÓÃH(Ã9*Ãb(|,Â3.Ã@/Ã+KÚOà ˆÜOà ÓÞOÒ(ïßOÂ(BâOÃ( ÄãOÃ;(µåOÃ\:PÃN<PÃb(õ=P§?Pö@PÃ+/4‡Ãì6‡Ã 9‡Ã‚Ò;‡Ã;î>‡Ã XH‡ÃbžK‡Ã‚AM‡ÃPN‡Ã+¦ì‡Ã ï‡Ã ^ñ‡Ã’(rò‡Ã‚(Ëô‡Ã( gö‡Ã;(”ø‡ÃQNˆÃ¦PˆÃb(7RˆÃ‚üSˆÃ UˆÃ+·L¿Ã;ZO¿Ã+óÿ¿Ã 4Àà rÀÒ(‰ÀÂ(ÜÀÃ( w ÀÃ;(} ÀÃK`ÀÃGbÀÃb(|dÀÂ1fÀÃMgÀÃ+Yøà šøà ÞøÒ(ïøÂ(OøÃ( ÐøÃ;(ÃøÃorøÃ`tøÃb(£vøÂZxøÃiyøÃ+Ý%0Ä  (0Ä ?*0Ē(W+0Ä‚(¸-0Ä( 9/0Ä;(*10Ä…0Ä´‡0Äb(÷‰0Ä‚­‹0ĺŒ0Ä+Å7hÄ :hÄ M<hĒ(X=hÄ‚(«?hÄ( ,AhÄ;(.ChÄƗhļ™hÄb(c›hÄ‚hÄ*žhÄ+ž‘ŸÄ[”ŸÄ b–ŸÄ‚#™ŸÄ;FœŸÄ °¥ŸÄbö¨ŸÄ‚™ªŸÄ¨«ŸÄ+oK Ä ÃM Ä  P Ä’(3Q Ä‚(’S Ä( 9U Ä;(@W Ä0­ Äu¯ Äb(ø° Ä‚·² ÄƳ Ä+ ª×Ä;ì×Ä+Í^ØÄ aØÄ UcØĒ(zdØÄ‚(ÍfØÄ( hhØÄ;(bjØă¿ØÄ„ÁØÄb(¹ÃØÄ‚sÅØÄ€ÆØÄ+–qÅ ÓsÅ vŒ(CwÅ‚(£yÅ( %{Å;(}Å·ÑÅ©ÓÅb(ìÕÅ‚ž×Å­ØÅ+ºƒHÅ ì…HÅ $ˆHŒ(<‰HÅ‚(›‹HÅ( HÅ;(HÅ¿ãHÅ°åHÅb(óçHÅ‚ªéHÅ·êHÅ+-—€Å j™€Å µ›€Å’(ќ€Å‚(&Ÿ€Å( § €Å;(œ¢€ÅI÷€Å;ù€Åb(âú€Å‚”ü€Å£ý€Å+¬ï·Åiò·Å |ô·Å‚J÷·Å;jú·Å H¸ÅbŽ¸Å‚1 ¸Å@
-¸Å+“©¸Å ô«¸Å D®¸Å’(X¯¸Å‚(±±¸Å( M³¸Å;(zµ¸Å> ¹Å“ -¹Åb($¹Å‚é¹Åø¹Å+3ðÅ;Ö
-ðÅ+p»ðÅ ±½ðÅ ï¿ðŒ(ÁðÅ‚(YÃðÅ( ôÄðÅ;(úÆðÅÇñÅÆñÅb(ûñÅ‚°!ñÅÌ"ñÅ+FÏ(Æ ‡Ñ(Æ ËÓ(ƒ(ÜÔ(Æ‚(<×(Æ( ½Ø(Æ;(°Ú(ÆL/)Æ=1)Æb(€3)Æ‚75)ÆF6)Æ+Oá`Æ }ã`Æ ±å`ƒ(Éæ`Æ‚(*é`Æ( «ê`Æ;(œì`Æ3AaÆ%CaÆb(hEaÆ‚GaÆ+HaÆ+¡ô˜Æ âö˜Æ )ù˜Æ’(4ú˜Æ‚(‡ü˜Æ( þ˜Æ;(
-™ÆÄT™ÆºV™Æb(aX™Æ‚Z™Æ([™Æ++MÐÆèOÐÆ ïQÐƂºTÐÆ;ÙWÐÆ =aÐÆbƒdÐƂ&fÐÆ5gÐÆ+ÑÆ _ ÑÆ ¥ у(Ï ÑÆ‚(.ÑÆ( ÏÑÆ;(õÑÆ—hÑÆÜjÑÆb(_lÑÆ‚nÑÆ-oÑÆ+†eÇ;)hÇ+3 Ç x Ç » ǒ(à Ç‚(3" Ç( Î# Ç;(È% ÇÂz ÇÆ| Çb(û~ Ç‚µ€ ǁ Ç+Û,AÇ /AÇ a1Aǒ(ˆ2AÇ‚(è4AÇ( j6AÇ;([8AÇñŒAÇãŽAÇb(&‘AÇ‚ӒAÇâ“AÇ+_@yÇ ‘ByÇ ÉDyǒ(áEyÇ‚(@HyÇ( ÃIyÇ;(¸KyÇp yÇa¢yÇb(¤¤yÇ‚[¦yÇh§yÇ+sR±Ç °T±Ç ûV±Ç’(X±Ç‚(jZ±Ç( ì[±Ç;(á]±Ç‰²±Ç{´±Çb("¶±Ç‚Ô·±Ç㸱Ç+\¬èǯèÇ 1±èǂþ³èÇ;·èÇ ’ÀèÇbØÃèǂ{ÅèÇŠÆèÇ+ÓdéÇ 4géÇ ‹iéǒ(ŸjéÇ‚(øléÇ( ”néÇ;(ÁpéÇ~ÆéÇÓÈéÇb(dÊéÇ‚)ÌéÇ8ÍéÇ+äÄ È;‡Ç È+ x!È az!È Ÿ|!Ȓ(¶}!È‚( €!È( ¤!È;(ªƒ!ÈxØ!ÈtÚ!Èb(©Ü!È‚^Þ!Èzß!È+†ŠYÈ njYÈ  YȒ(YÈ‚(|’YÈ( ý“YÈ;(ð•YÈ¢êYÈ“ìYÈb(ÖîYÈ‚ðYÈœñYÈ+ž‘È > ‘È r¢‘È’(Š£‘È‚(륑È( l§‘È;(]©‘Èôý‘Èæÿ‘Èb()’È‚å’Èò’È+÷¯ÉÈ 8²ÉÈ ´ÉȒ(ŠµÉÈ‚(Ý·ÉÈ( ^¹ÉÈ;(`»ÉÈùÊÈïÊÈb(–ÊÈ‚NÊÈ]ÊÈ+Рɍ É ”ɂUÉ;tÉ ÝÉb.!ɂÑ"Éà#É+œÃÉ ðÅÉ 5Èɒ(_ÉÉ‚(¾ËÉ( _ÍÉ;(xÏÉ!%Éf'Éb(é(É‚¨*É,É+"9É;³$9É+½Ö9É Ù9É :Û9ɒ(QÜ9É‚(¯Þ9É( Là9É;(Sâ9É\7:Ɂ9:Éb(¶;:É‚p=:ÉŒ>:É+‘éqÉ ¾ëqÉ îqɒ(FïqÉ‚(íñqÉ( óqÉ;(tõqÉêIrÉLrÉb(FNrÉ‚óOrÉQrÉ+ü©É Jþ©É ªÉ’(³ªÉ‚(ªÉ( “ªÉ;(†ªÉò[ªÉã]ªÉb(&`ªÉ‚ÝaªÉêbªÉ+õ -âÉ 2âÉ }âɒ(™âÉ‚(ìâÉ( nâÉ;(câÉÙmâÉËoâÉb(rqâÉ‚$sâÉ3tâÉ+­gÊjjÊ }lʂUoÊ;qrÊ Û{Êb!ʂрÊàÊ+š!Ê û#Ê R&ʒ(f'Ê‚(¿)Ê( _+Ê;(Œ-ʃÊd…Êb(ç†Ê‚¬ˆÊ»‰Ê+€QÊ;«‚QÊ+µ4RÊ ö6RÊ 49Rʒ(K:RÊ‚(ž<RÊ( 9>RÊ;(?@RÊñ”RÊð–RÊb(%™RÊ‚ښRÊö›RÊ+GŠÊ FIŠÊ ŠKŠÊ’(›LŠÊ‚(ûNŠÊ( |PŠÊ;(oRŠÊÙ¦ŠÊʨŠÊb( -«ŠÊ‚ĬŠÊÓ­ŠÊ+GZÂÊ u\ÂÊ ©^Âʒ(Á_ÂÊ‚("bÂÊ( £cÂÊ;(”eÂÊú¹ÂÊì»ÂÊb(/¾ÂÊ‚å¿ÂÊòÀÂÊ+ýkúÊ >núÊ …púʒ(qúÊ‚(ãsúÊ( duúÊ;(fwúÊîËúÊäÍúÊb(‹ÏúÊ‚CÑúÊRÒúÊ+ÆÅ1˃È1Ë ŠÊ1˂KÍ1Ë;nÐ1Ë ØÙ1ËbÝ1˂ÁÞ1ËÐß1Ë+—2Ë ô2Ë :„2˒(d…2Ë‚(Ç2Ë( d‰2Ë;(Š‹2Ë÷à2Ë:ã2Ëb(½ä2Ë‚|æ2Ë‹ç2Ë+îÝiË;“àiË+’jË â”jË %—j˒(J˜jË‚(šjË( 8œjË;(2žjËÿòjËõjËb(8÷jË‚òøjËÿùjË+¥¢Ë P§¢Ë ™©¢Ë’(Àª¢Ë‚( ­¢Ë( ¢®¢Ë;(“°¢Ë)£Ë£Ëb(^ £Ë‚ £Ë £Ë+,·ÚË ^¹ÚË –»Ú˒(®¼ÚË‚( -¿ÚË( ÀÚË;(€ÂÚË7ÛË(ÛËb(kÛË‚"ÛË/ÛË+¥ÊÌ âÌÌ -Ï̒(IÐÌ‚(œÒÌ( ÔÌ;(Ö̶*̨,Ìb(O.Ì‚0Ì1Ì+#JÌÖ%JÌ î'Ĵ»*JÌ;×-JÌ A7JÌb‡:Ĵ*<JÌ9=JÌ+ÝJÌ aßJÌ ¸áJ̒(ÌâJÌ‚(%åJÌ( ÁæJÌ;(îèJÌ«>KÌAKÌb(‘BKÌ‚VDKÌeEKÌ+ ;‚Ì;C>‚Ì+Mð‚Ì Žò‚Ì Ìô‚Ì’(ãõ‚Ì‚(6ø‚Ì( Ñù‚Ì;(Ýû‚̪PƒÌ©RƒÌb(ÞTƒÌ‚“VƒÌ¯WƒÌ+¾»Ì ÿ»Ì C»Ì’(T»Ì‚(´
-»Ì( 5 »Ì;((»Ìåb»ÌÖd»Ìb(g»Ì‚Ðh»Ìßi»Ì+SóÌ óÌ µó̒(ÍóÌ‚(.óÌ( ¯óÌ;( !óÌ7vóÌ)xóÌb(lzóÌ‚"|óÌ/}óÌ+:(+Í {*+Í Â,+͒(Í-+Í‚( 0+Í( ¡1+Í;(£3+Í<ˆ+Í2Š+Íb(ً+Í‚‘+Í Ž+Í+‚bÍЄbÍ ׆b͂˜‰bÍ;·ŒbÍ  –bÍbf™b͂ ›bÍœbÍ+ß;cÍ 3>cÍ y@c͒(£AcÍ‚(DcÍ( £EcÍ;(¬GcÍCc͈ŸcÍb( ¡cÍ‚Ê¢cÍÙ£cÍ+2ššÍ;՜šÍ+ßN›Í $Q›Í gS›Í’(ŒT›Í‚(ßV›Í( zX›Í;(tZ›ÍŠ¯›Í‹±›Íb(À³›Í‚zµ›Í‡¶›Í+aÓÍ ÚcÓÍ #fÓ͒(JgÓÍ‚(ªiÓÍ( ,kÓÍ;(mÓ͹ÁÓÍ«ÃÓÍb(îÅÓÍ‚ ÇÓͯÈÓÍ+¼s Î îu Î &x Β(Jy ΂(©{ Î( *} Î;( ÎÌÓ Î½Õ Îb(Ø Î‚·Ù ÎÄÚ Î+:‡CÎ w‰CÎ ‹CΒ(ތC΂(1CÎ( ³CÎ;(¤’CÎKçCÎ=éCÎb(äêC΂–ìCÎ¥íCÎ+®ßzÎkâzÎ ~äz΂VçzÎ;rêzÎ ÜózÎb"÷z΂ÅøzÎÔùzÎ+›™{Î ü›{Î Sž{Β(gŸ{΂(À¡{Î( \£{Î;(¥{ÎQû{Φý{Îb(7ÿ{΂ü|Î |Î+Fø²Î;éú²Î+ó¬³Î 4¯³Î r±³Î’(‰²³Î‚(Ü´³Î( w¶³Î;(}¸³ÎJ -´ÎI´Îb(~´Î‚3´ÎO´Î+^¿ëÎ ŸÁëÎ ãÃëΒ(ôÄë΂(TÇëÎ( ÕÈëÎ;(ÈÊëÎdìÎU!ìÎb(˜#ì΂O%ìÎ^&ìÎ+gÑ#Ï •Ó#Ï ÉÕ#ϒ(áÖ#Ï‚(BÙ#Ï( ÃÚ#Ï;(´Ü#ÏK1$Ï=3$Ïb(€5$Ï‚67$ÏC8$Ï+¹ä[Ï úæ[Ï Aé[ϒ(Lê[Ï‚(Ÿì[Ï(  î[Ï;("ð[ÏÜD\ÏÒF\Ïb(yH\Ï‚1J\Ï@K\Ï+C=“Ï@“Ï  B“Ï‚ÍD“Ï;ìG“Ï Q“ÏbÇT“Ï‚jV“ÏyW“Ï+÷“Ï qù“Ï ·û“Ï’(áü“Ï‚(@ÿ“Ï( á”Ï;(”Ï©X”ÏîZ”Ïb(q\”Ï‚0^”Ï?_”Ï+™UËÏ;<XËÏ+F
-ÌÏ ‹ ÌÏ ÎÌϒ(óÌÏ‚(FÌÏ( áÌÏ;(ÛÌÏÔjÌÏØlÌÏb( -oÌÏ‚ÇpÌÏÔqÌÏ+èÐ %Ð n!В(•"Ђ(õ$Ð( w&Ð;(h(Ðþ|Ðð~Ðb(3Ð‚à‚ÐïƒÐ+l0<Ð ž2<Ð Ö4<В(î5<Ђ(M8<Ð( Ï9<Ð;(À;<Ð}<Ðn’<Ðb(±”<Ђh–<Ðu—<Ð+€BtÐ ½DtÐ GtВ($HtЂ(wJtÐ( ùKtÐ;(îMtЖ¢tЈ¤tÐb(/¦tЂá§tÐð¨tÐ+iœ«Ð,Ÿ«Ð ?¡«Ð‚ -¤«Ð;-§«Ð ±«ÐbN´«Ð‚ñµ«Ð·«Ð+æT¬Ð GW¬Ð žY¬Ð’(²Z¬Ð‚( ]¬Ð( §^¬Ð;(Ø`¬Ð¡¶¬Ðö¸¬Ðb(‡º¬Ð‚L¼¬Ð[½¬Ð+µãÐ;ª·ãÐ+ChäÐ „jäÐ ÂläВ(ÙmäЂ(,päÐ( ÇqäÐ;(ÍsäЛÈäЗÊäÐb(ÌÌäЂÎäСÏäÐ+©zÑ ê|Ñ .ђ(?€Ñ‚(Ÿ‚Ñ(  „Ñ;(†Ñ¿ÚÑ°ÜÑb(óÞÑ‚ªàѹáÑ+-ŽTÑ [TÑ ’Tђ(§“TÑ‚(–TÑ( ‰—TÑ;(z™TÑîTÑðTÑb(GòTÑ‚ýóTÑ
-õTÑ+ ŒÑ V¢ŒÑ ¤ŒÑ’(¨¥ŒÑ‚(û§ŒÑ( |©ŒÑ;(~«ŒÑÑ Ñb(³Ñ‚mÑ|Ñ+îùÃÑ«üÃÑ ²þÃт}ÄÑ;œÄÑ ÄÑbKÄтîÄÑýÄÑ+ųÄÑ ¶ÄÑ _¸Äђ(‰¹ÄÑ‚(è»ÄÑ( ‰½ÄÑ;(¿ÄÑ(ÅÑmÅÑb(ðÅÑ‚¯ÅѾÅÑ+üÑ;»üÑ+ÅÆüÑ 
-ÉüÑ MËüђ(rÌüÑ‚(ÅÎüÑ( `ÐüÑ;(ZÒüÑp'ýÑq)ýÑb(¦+ýÑ‚`-ýÑm.ýÑ+ƒÙ4Ò ÀÛ4Ò  Þ4Ғ(0ß4Ò‚(á4Ò( ã4Ò;(å4Ò¤95Ò–;5Òb(Ù=5Ò‚‹?5Òš@5Ò+§ëlÒ ÙílÒ ðlҒ()ñlÒ‚(ˆólÒ( 
-õlÒ;(ÿölÒ¬KmҝMmÒb(àOmÒ‚—QmÒ¤RmÒ+ÿ¤Ò W¥Ò ¢¥Ò’(¾¥Ò‚(¥Ò( “¥Ò;(„
-¥Ò+_¥Òa¥Òb(Äb¥Ò‚vd¥Ò…e¥Ò+ŽWÜÒKZÜÒ ^\Ü҂,_ÜÒ;LbÜÒ ¶kÜÒbünÜ҂ŸpÜÒ®qÜÒ+uÝÒ ÖÝÒ -ÝҒ(AÝÒ‚(šÝÒ( 6ÝÒ;(cÝÒ&sÝÒ{uÝÒb( wÝÒ‚ÑxÝÒàyÝÒ+pÓ;¾rÓ+È$Ó  'Ó G)Ӓ(^*Ó‚(±,Ó( L.Ó;(R0Ó…Ó‡Ób(S‰Ó‚‹Ó$ŒÓ+37MÓ t9MÓ ¸;MӒ(É<MÓ‚()?MÓ( ª@MÓ;(BMÓ9—MÓ*™MÓb(m›MÓ‚$MÓ3žMÓ+§J…Ó ÕL…Ó  O…Ó’(!P…Ó‚(‚R…Ó( T…Ó;(ôU…Ó‹ª…Ó}¬…Ób(À®…Ó‚v°…Óƒ±…Ó+Ž\½Ó Ï^½Ó a½Ó’(!b½Ó‚(td½Ó( õe½Ó;(÷g½Ó±¼½Ó§¾½Ób(NÀ½Ó‚½ÓýÓ+ˆ¶ôÓŒ¹ôÓ ˜»ôӂY¾ôÓ;xÁôÓ ÜÊôÓb"ÎôӂÅÏôÓÔÐôÓ+1oõÓ ŽqõÓ ÔsõӒ(þtõÓ‚(]wõÓ( þxõÓ;(${õÓÆÐõÓ ÓõÓb(ŽÔõÓ‚MÖõÓ\×õÓ+&Ï,Ô;ÉÑ,Ô+b‚-Ô §„-Ô ê†-Ԓ(ˆ-Ô‚(bŠ-Ô( ý‹-Ô;(÷-Ôöâ-Ôúä-Ôb(/ç-Ô‚éè-Ôöé-Ô+
-•eÔ G—eÔ ™eԒ(·šeÔ‚(eÔ( ™žeÔ;(Š eÔ õeÔ÷eÔb([ùeÔ‚ûeÔüeÔ+”¨Ô ƪÔ þ¬Ô’(®Ô‚(u°Ô( ÷±Ô;(쳝Ô¤žÔ•
-žÔb(Ø žÔ‚žÔœžÔ+§ºÕÔ ä¼ÕÔ /¿ÕԒ(KÀÕÔ‚(žÂÕÔ(  ÄÕÔ;(ÆÕÔ¸ÖÔªÖÔb(QÖÔ‚ ÖÔ!ÖÔ+‹ -ÕH -Õ [ -Ղ( -Õ;D -Õ ®( -Õbô+ -Ղ—- -Õ¦. -Õ+ýÌ -Õ ^Ï -Õ µÑ -Ւ(ÉÒ -Õ‚("Õ -Õ( ¾Ö -Õ;(ïØ -Õ¨.Õý0Õb(Ž2Õ‚S4Õb5Õ+ --EÕ;°/EÕ+JàEÕ ‹âEÕ ÉäEՒ(àåEÕ‚(3èEÕ( ÎéEÕ;(ÔëEÕ¡@FÕ BFÕb(ÕDFÕ‚ŠFFÕ¦GFÕ+µò}Õ öô}Õ :÷}Ւ(Kø}Õ‚(«ú}Õ( ,ü}Õ;(þ}ÕËR~Õ¼T~Õb(ÿV~Õ‚·X~ÕÆY~Õ+9¶Õ g¶Õ ›
-¶Õ’(³ ¶Õ‚(¶Õ( •¶Õ;(†¶Õf¶Õh¶Õb(Sj¶Õ‚ l¶Õm¶Õ+ŒîÕ ÍîÕ îՒ(îÕ‚(r!îÕ( ó"îÕ;(õ$îՍyîÕ„{îÕb(+}îÕ‚Þ~îÕíîÕ+ôq%Ö±t%Ö ¸v%ւƒy%Ö;¢|%Ö ҆%ÖbŠ%ւ»‹%Öʌ%Ö+Ë+&Ö .&Ö e0&֒(1&Ö‚(î3&Ö( 5&Ö;(˜7&Ö/&Öt&Öb(÷&Ö‚¶’&Öœ&Ö+Š]Ö;ÁŒ]Ö+Ë>^Ö A^Ö SC^֒(xD^Ö‚(ËF^Ö( fH^Ö;(`J^ÖvŸ^Öw¡^Öb(¬£^Ö‚f¥^Ös¦^Ö+‰Q–Ö ÆS–Ö V–Ö’(6W–Ö‚(–Y–Ö( [–Ö;( ]–Ö¥±–Ö—³–Öb(Úµ–Ö‚Œ·–Ö›¸–Ö+¨cÎÖ ÚeÎÖ hÎ֒(*iÎÖ‚(‰kÎÖ(  mÎÖ;(oÎÖ­ÃÎÖžÅÎÖb(áÇÎÖ‚˜ÉÎÖ¥ÊÎÖ+w× Xy× £{ג(¿|ׂ(×( ”€×;(…‚×,××Ù×b(ÅÚׂwÜ׆Ý×+Ï=×LÒ=× dÔ=ׂ1×=×;MÚ=× ·ã=×býæ=ׂ è=ׯé=×+v‰>× ׋>× .Ž>ג(B>ׂ(›‘>×( 7“>×;(d•>×'ë>×|í>×b( -ï>ׂÒð>×áñ>×+èu×;¿êu×+ɜv× 
-Ÿv× H¡vג(_¢vׂ(²¤v×( M¦v×;(S¨v× ýv×ÿv×b(Twׂ w×%w×+4¯®× u±®× ¹³®×’(Ê´®×‚(*·®×( «¸®×;(žº®×:¯×+¯×b(n¯×‚%¯×4¯×+¨Âæ× ÖÄæ× 
-Çæג("Èæׂ(ƒÊæ×( Ìæ×;(õÍæ׌"ç×~$ç×b(Á&çׂw(çׄ)ç×+ÔØ ÐÖØ Ùؒ("ÚØ‚(uÜØ( öÝØ;(øßØ·4Ø­6Øb(T8Ø‚ :Ø;Ø+.VØP1VØ W3V؂6VØ;79VØ ›BVØbáEV؂„GVØ“HVØ+`èVØ ½êVØ íVؒ(-îVØ‚(ŒðVØ( -òVØ;(SôVØðIWØ5LWØb(¸MWØ‚wOW؆PWØ+ßFŽØ;‚IŽØ+úŽØ aüŽØ ¤þŽØ’(ÉÿŽØ‚(Ø( ·Ø;(±Ø»ZØ¿\Øb(ô^Ø‚®`Ø»aØ+Ô ÇØ ÇØ ZÇؒ(ÇØ‚(áÇØ( cÇØ;(TÇØêlÇØÜnÇØb(qÇØ‚ÌrÇØÛsÇØ+X ÿØ Š"ÿØ Â$ÿؒ(Ú%ÿØ‚(9(ÿØ( »)ÿØ;(¬+ÿØc€ÿØT‚ÿØb(—„ÿØ‚N†ÿØ[‡ÿØ+f27Ù £47Ù î67ْ(
-87Ù‚(]:7Ù( ß;7Ù;(Ð=7Ùw’7Ùi”7Ùb(–7Ù‚—7Ùј7Ù+JŒnُnÙ ‘nقç“nÙ;—nÙ   nÙbæ£nق‰¥nÙ˜¦nÙ+,FoÙ HoÙ äJoْ(øKoÙ‚(QNoÙ( íOoÙ;(RoÙקoÙ,ªoÙb(½«oÙ‚‚­oÙ‘®oÙ+̤¦Ù;o§¦Ù+ X§Ù JZ§Ù ˆ\§Ù’(Ÿ]§Ù‚(ò_§Ù( a§Ù;(“c§Ù`¸§Ù_º§Ùb(”¼§Ù‚I¾§Ùe¿§Ù+ßkßÙ  nßÙ dpßْ(uqßÙ‚(ÕsßÙ( VußÙ;(IwßÙõËßÙæÍßÙb()ÐßÙ‚àÑßÙïÒßÙ+ø}Ú &€Ú Z‚ڒ(rƒÚ‚(ӅÚ( T‡Ú;(E‰ÚÝÝÚÏßÚb(âÚ‚ÈãÚÕäÚ+K‘OÚ Œ“OÚ ӕOڒ(ޖOÚ‚(1™OÚ( ²šOÚ;(´œOÚLñOÚBóOÚb(éôOÚ‚¡öOÚ°÷OÚ+³é†Úpì†Ú wî†Ú‚Bñ†Ú;aô†Ú Ëý†Úb‡Ú‚´‡ÚÇÚ+Š£‡Ú Þ¥‡Ú $¨‡Ú’(N©‡Ú‚(­«‡Ú( N­‡Ú;(W¯‡ÚîˆÚ3ˆÚb(¶ˆÚ‚u
-ˆÚ„ ˆÚ+Ý¿Ú;€¿Ú+Š¶¿Ú ϸ¿Ú »¿Ú’(7¼¿Ú‚(Š¾¿Ú( %À¿Ú;(¿Ú5ÀÚ6ÀÚb(kÀÚ‚%ÀÚ2ÀÚ+HÉ÷Ú …Ë÷Ú ÎÍ÷ڒ(õÎ÷Ú‚(UÑ÷Ú( ×Ò÷Ú;(ÈÔ÷Úd)øÚV+øÚb(™-øÚ‚K/øÚZ0øÚ+ÒÜ/Û ß/Û <á/ے(Tâ/Û‚(³ä/Û( 5æ/Û;(*è/Û×<0ÛÈ>0Ûb( A0Û‚ÂB0ÛÏC0Û+ÚîgÛ ñgÛ bógے(~ôgÛ‚(ÑögÛ( SøgÛ;(DúgÛëNhÛÝPhÛb(„RhÛ‚6ThÛEUhÛ+¾HŸÛKŸÛ —MŸÛ‚kPŸÛ;‡SŸÛ ò\ŸÛb8`ŸÛ‚ÛaŸÛêbŸÛ+@ Û ¡ Û ø Û’(  Û‚(e  Û(   Û;(. - Ûñb ÛFe Ûb(×f Û‚œh Û«i Û+Va×Û;ùc×Û+“ØÛ ÔØÛ Øے()ØÛ‚(|ØÛ( ØÛ;( ØÛêtØÛévØÛb(yØÛ‚ÓzØÛï{ØÛ+þ&Ü ?)Ü ƒ+ܒ(”,Ü‚(ô.Ü( u0Ü;(h2Ü ‡ÜúˆÜb(=‹Ü‚ôŒÜŽÜ+w:HÜ ¥<HÜ Ù>Hܒ(ñ?HÜ‚(RBHÜ( ÓCHÜ;(ÄEHÜ\šHÜNœHÜb(‘žHÜ‚G HÜT¡HÜ+_L€Ü  N€Ü çP€Ü’(òQ€Ü‚(ET€Ü( ÆU€Ü;(ÈW€Ü¬€Üw®€Üb(°€Ü‚Ö±€Ü岀Ü+Y¦·Ü©·Ü «·Ü‚Þ­·Ü;±·Ü eº·Üb«½·Ü‚N¿·Ü]À·Ü+*`¸Ü ‡b¸Ü Íd¸Ü’(÷e¸Ü‚(Vh¸Ü( ÷i¸Ü;(l¸Ü¿Á¸ÜĸÜb(‡Å¸Ü‚FǸÜUȸÜ+¯¾ïÜ;RÁïÜ+\sðÜ ¡uðÜ äwðܒ( yðÜ‚(\{ðÜ( ÷|ðÜ;(ñ~ðÜêÓðÜîÕðÜb(#ØðÜ‚ÝÙðÜêÚðÜ+þ…(Ý ;ˆ(Ý „Š(ݒ(«‹(Ý‚( Ž(Ý( (Ý;(~‘(Ýæ(Ýè(Ýb(Iê(Ý‚öë(Ýí(Ý+˜`Ý Iš`Ý œ`ݒ(™`Ý‚(øŸ`Ý( z¡`Ý;(k£`Ý"ø`Ýú`Ýb(Vü`Ý‚ -þ`Ýÿ`Ý+«˜Ý Í­˜Ý °˜Ý’(4±˜Ý‚(‡³˜Ý(  µ˜Ý;(ú¶˜Ý¡ ™Ý“ -™Ýb(:™Ý‚ì™Ýû™Ý+ÐÝÁÐÝ ÔÐ݂¬ ÐÝ;ÈÐÝ 2ÐÝbxÐ݂ÐÝ*ÐÝ+ñ½ÐÝ RÀÐÝ ©ÂÐݒ(½ÃÐÝ‚(ÆÐÝ( ²ÇÐÝ;(ãÉÐÝœÑÝñ!ÑÝb(‚#ÑÝ‚G%ÑÝV&ÑÝ+‘Þ;4Þ+>ÑÞ ÓÞ ½Õޒ(ÔÖÞ‚('ÙÞ( ÂÚÞ;(ÈÜÞ•1 Þ”3 Þb(É5 Þ‚~7 Þš8 Þ+©ã@Þ êå@Þ .è@ޒ(?é@Þ‚(Ÿë@Þ(  í@Þ;(ï@Þ¿CAÞ°EAÞb(óGAÞ‚ªIAÞ¹JAÞ+ÂõxÞ ð÷xÞ $úxޒ(<ûxÞ‚(ýxÞ( ÿxÞ;(yÞ§UyÞ™WyÞb(ÜYyÞ‚’[yÞŸ\yÞ+ ±Þ V ±Þ  -±Þ’(¨±Þ‚(û±Þ( |±Þ;(~±Þi±Þ k±Þb(³l±Þ‚kn±Þzo±Þ+îbèÞ«eèÞ ²gèނsjèÞ;–mèÞ wèÞbQzèނô{èÞ}èÞ+OéÞ £éÞ èéޒ(!éÞ‚(q#éÞ( %éÞ;(+'éÞÕ|éÞéÞb(›€éÞ‚Z‚éÞiƒéÞ+3{ ß;Ö} ß+p.!ß µ0!ß í2!ߒ(4!ß‚(b6!ß( ÿ7!ß;(:!ߏ!ß3‘!ßb(h“!ß‚"•!ß>–!ß+DAYß qCYß ÒEYߒ(ùFYß‚( IYß( 2KYß;(%MYßœ¡Yßµ£Yßb(ø¥Yß‚¥§Yß´¨Yß+ÅS‘ß ÷U‘ß <X‘ß’(`Y‘ß‚(¿[‘ß( @]‘ß;(3_‘ߟ³‘ߐµ‘ßb(Ó·‘ß‚Š¹‘ß—º‘ß+ -gÉß JiÉß •kÉߒ(±lÉß‚(oÉß( †pÉß;({rÉßñÆÉßãÈÉßb(ŠÊÉß‚<ÌÉßKÍÉß+ÅÀà†Ãà žÅà‚kÈà;‰Ëà óÔàb9Øà‚éÙàøÚà+Ayà ¢{à ù}à’( -à‚(fà( ƒà;(3…à¶Úà Ýàb(ŽÞà‚Sààbáà+Ù8à;¾Û8à+WŒ9à ˜Ž9à ֐9à’(í‘9à‚(@”9à( ە9à;(á—9à“ì9à•î9àb(Êð9à‚ò9à›ó9à+ qà S¢qà —¤qà’(¨¥qà‚(¨qà( ‰©qà;(|«qàæÿqà×ràb(rà‚Ñrààrà+鱩à ´©à K¶©à’(c·©à‚(Ĺ©à( E»©à;(6½©àœªàŽªàb(Ñªà‚‡ªà”ªà+
-Åáà KÇáà ’Éáà’(Êáà‚(ðÌáà( qÎáà;(sÐáàû$âàñ&âàb(˜(âà‚P*âà_+âà+Óá!á —#á‚X&á;{)á å2áb+6á‚Î7áÝ8á+¤Øá Ûá GÝá’(qÞá‚(Ðàá( qâá;(—äáý9áB<áb(Å=á‚„?á“@á+ì6Qá;9Qá+)êQá nìQá ±îQá’(ÖïQá‚()òQá( ÄóQá;(¾õQá‹JRáLRáb(ÄNRá‚~PRá‹QRá+
-þ‰á GŠá Šá’(·Šá‚(Šá( ™Šá;(Š Šá ^Šá`Šáb(UbŠá‚dŠáeŠá+#Âá UÂá Âá’(¥Âá‚(Âá( †Âá;(wÂá.pÂárÂáb(btÂá‚vÂá&wÂá+œ#úá Ù%úá $(úá’(@)úá‚(“+úá( -úá;(/úá­ƒúៅúáb(F‡úá‚øˆúáŠúá+|1âÍ~1â à€1₸ƒ1â;Ԇ1â K1âb‘“1â‚4•1âC–1â+ý52â ^82â µ:2â’(É;2â‚(">2â( ¾?2â;(ïA2⨗2âý™2âb(Ž›2â‚S2âbž2â+”iâ;@—iâ+JIjâ ‹Kjâ ÉMjâ’(àNjâ‚(3Qjâ( ÎRjâ;(ÔTjâ¡©jâ «jâb(Õ­jâ‚Š¯j⦰jâ+µ[¢â ö]¢â :`¢â’(Ka¢â‚(«c¢â( ,e¢â;(g¢âË»¢â¼½¢âb(ÿ¿¢â‚¶Á¢âÅ¢â+ÎmÚâ üoÚâ 0rÚâ’(HsÚâ‚(©uÚâ( *wÚâ;(yÚâ³ÍÚâ¥ÏÚâb(èÑÚâ‚žÓÚâ«ÔÚâ+!ã bƒã ©…ã’(·†ã‚(
-‰ã( ‹Šã;(‰Œã"áãããb(¿äã‚wæã†çã+úÚIã·ÝIã ÃßIã‚„âIã;£åIã  ïIãbRòIã‚õóIãõIã+[“Jã ¯•Jã õ—Jã’(™Jã‚(~›Jã( Jã;(&ŸJã¾ôJã÷Jãb(†øJã‚EúJãTûJã+óã;Áõã+[¦‚ã  ¨‚ã 㪂ã’(¬‚ã‚([®‚ã( ö¯‚ã;(ð±‚ãƒã ƒãb(< ƒã‚ö ƒãƒã+¹ºã V»ºã Ÿ½ºã’(ƾºã‚(&Áºã( ¨Âºã;(Äºã:»ã,»ãb(o»ã‚!»ã0 »ã+¨Ìòã ÚÎòã Ñòã’(*Òòã‚(‰Ôòã(  Öòã;(Øòã³,óã¤.óãb(ç0óã‚ž2óã°3óã+¶Þ*ä óà*ä >ã*ä’(Zä*ä‚(­æ*ä( /è*ä;($ê*äÌ>+ä¾@+äb(eB+ä‚D+ä&E+ä+Ÿ8bä\;bä o=bä‚F@bä;dCbä ÍLbäbPb䂶QbäÅRbä+Œòbä íôbä D÷bä’(Xøbä‚(±úbä( Mübä;(zþbäHTcäVcäb(.Xcä‚óYcä[cä+=Qšä;àSšä+y›ä º›ä ø›ä’(
-›ä‚(b ›ä( ý -›ä;(›äÑd›äÍf›äb(i›ä‚·j›äÓk›ä+JÓä ‹Óä ÏÓä’(àÓä‚(@ Óä( Á!Óä;(´#ÓäPxÓäAzÓäb(„|Óä‚;~ÓäJÓä+S* å , å µ. å’(Í/ å‚(.2 å( ¯3 å;( 5 å7Š å)Œ åb(lŽ å‚" å/‘ å+¥=Cå æ?Cå -BCå’(8CCå‚(‹ECå(  GCå;(ICåȝC徟Cåb(e¡Cå‚£Cå,¤Cå+/–zåì˜zå óšz傾zå;Ý zå Aªzåb‡­zå‚*¯zå9°zå+P{å cR{å ©T{å’(ÓU{å‚(2X{å( ÓY{å;(ù[{å›±{åà³{åb(cµ{å‚"·{å1¸{å+Š®²å;-±²å+7c³å |e³å ¿g³å’(äh³å‚(7k³å( Òl³å;(Ìn³åÆóåÊųåb(ÿdz傹ɳåÆʳå+ßuëå xëå ezëå’(Œ{ëå‚(ì}ëå( nëå;(_ëåõÕëåç×ëåb(*Úëå‚×ÛëåæÜëå+ø‡#æ *Š#æ bŒ#æ’(z#æ‚(ُ#æ( [‘#æ;(L“#æè#æôé#æb(7ì#æ‚îí#æûî#æ+q›[æ ®[æ ùŸ[æ’(¡[æ‚(h£[æ( ê¤[æ;(Û¦[æ‚û[ætý[æb(ÿ[æ‚Í\æÜ\æ+åó’æ¢ö’æ µø’悃û’æ;£þ’æ  -“æbS “æ‚ö “æ“æ+Ì­“æ -°“æ „²“æ’(˜³“æ‚(ñµ“æ( ·“æ;(º¹“æw”æÌ”æb(]”æ‚"”æ1”æ+l Ëæ;Ëæ+ÁËæ ZÃËæ ˜ÅËæ’(¯ÆËæ‚(ÉËæ( ÊËæ;(£ÌËæq!Ìæm#Ìæb(¢%Ìæ‚W'Ìæs(Ìæ+Óç ÀÕç Øç’(Ùç‚(vÛç( ÷Üç;(èÞç•3ç†5çb(É7ç‚€9ç:ç+ç;ç 1é;ç eë;ç’(}ì;ç‚(Þî;ç( _ð;ç;(Pò;çèF<çÚH<çb(K<ç‚ÓL<çàM<ç+ëøsç ,ûsç sýsç’(~þsç‚(Ñtç( Rtç;(TtçìXtçâZtçb(‰\tç‚A^tçP_tç+ÄR«ç…U«ç ‘W«ç‚RZ«ç;q]«ç Ûf«çb!j«ç‚Äk«çÓl«ç+› ¬ç ï¬ç 5¬ç’(_¬ç‚(¾¬ç( _¬ç;(f¬çþm¬çCp¬çb(Æq¬ç‚…s¬ç”t¬ç+îjãç;‘mãç+›äç à!äç #$äç’(H%äç‚(›'äç( 6)äç;(0+äçF€äçG‚äçb(|„äç‚6†äçC‡äç+Y2è –4è ß6è’(8è‚(f:è( è;è;(Ý=èz’èl”èb(¯–è‚a˜èv™è+}DTè ¯FTè çHTè’(ÿITè‚(^LTè( àMTè;(ÕOT肤Tès¦Tèb(¶¨Tè‚mªTèz«Tè+ðWŒè -ZŒè x\Œè’(”]Œè‚(ç_Œè( iaŒè;(ZcŒè¸Œèó¹Œèb(š»Œè‚L½Œè[¾Œè+d°Ãè!³Ãè 4µÃ肸Ãè;"»Ãè ŒÄÃèbÒÇÃè‚uÉÃè„ÊÃè+KjÄè ¬lÄè oÄè’(pÄè‚(prÄè(  tÄè;(9vÄèüËÄèQÎÄèb(âÏÄ肧ÑÄè¶ÒÄè+ñÈûè;”Ëûè+ž}üè ßüè ‚üè’(4ƒüè‚(‡…üè( "‡üè;((‰üèõÝüèôßüèb()âüè‚Þãüèúäüè+ 4é J’4é Ž”4é’(Ÿ•4é‚(ÿ—4é( €™4é;(s›4éð4éò4éb(Cô4é‚úõ4é ÷4é+¢lé @¤lé t¦lé’(Œ§lé‚(í©lé( n«lé;(_­léöméèméb(+mé‚áméîmé+dµ¤é ¥·¤é 칤é’(÷º¤é‚(J½¤é( ˾¤é;(ÍÀ¤é‡¥é}¥éb($¥é‚Ü¥éë¥é+î -Üé«Üé ²Üé‚}Üé;œÜé "ÜébF%Üé‚é&Üéø'Üé+ÅÇÜé "ÊÜé hÌÜé’(’ÍÜé‚(ñÏÜé( ’ÑÜé;(¸ÓÜéZ)ÝéŸ+Ýéb("-Ýé‚á.Ýéð/Ýé+I&ê;ì(ê+öÚê ;Ýê ~ßê’(£àê‚(öâê( ‘äê;(‹æê…;ê‰=êb(¾?ê‚xAê…Bê+žíLê ÛïLê $òLê’(KóLê‚(«õLê( -÷Lê;(ùLê´MMê¦OMêb(éQMê‚–SMê¥TMê+"…ê T…ê Œ…ê’(¤…ê‚( …ê( …
-…ê;(v …ê-a…êc…êb(ae…ê‚g…ê%h…ê+0½ê m½ê ¸½ê’(Ô½ê‚('½ê( ©½ê;(š½êAs½ê3u½êb(Úv½ê‚Œx½ê›y½ê+môêÑoôê éqôꂶtôê;Òwôê Jôêb„ôê‚3†ôêB‡ôê+‹%õê ì'õê C*õê’(W+õê‚(°-õê( L/õê;(y1õê=‡õê’‰õêb(#‹õê‚èŒõê÷õê+§…,ë;Jˆ,ë+ã8-ë $;-ë b=-ë’(y>-ë‚(Ì@-ë( gB-ë;(mD-ë;™-ë7›-ëb(l-ë‚!Ÿ-ë= -ë+IKeë ŠMeë ÎOeë’(ßPeë‚(?Seë( ÀTeë;(³Veë_«eëP­eëb(“¯eë‚J±eëY²eë+Í^ë û`ë /cë’(Gdë‚(¨fë( )hë;(jë²¾ë¤Àëb(çë‚ÄëªÅë+µpÕë örÕë =uÕë’(HvÕë‚(›xÕë( zÕë;(|Õë¼ÐÕë²ÒÕëb(YÔÕë‚ÖÕë ×Õë+“Ê ìTÍ ì [Ï ì‚Ò ì;;Õ ì ¥Þ ìbëá ì‚Žã ìä ì+e„ -ì ¹† -ì ÿˆ -ì’()Š -ì‚(ˆŒ -ì( )Ž -ì;(0 -ìÈå -ì -è -ìb(–é -ì‚Uë -ìdì -ì+¸âDì;[åDì+e—Eì ª™Eì í›Eì’(Eì‚(eŸEì( ¡Eì;(ú¢EìøEìúEìb(QüEì‚ þEìÿEì+.ª}ì k¬}ì ´®}ì’(Û¯}ì‚(;²}ì( ½³}ì;(²µ}ìO
-~ìA ~ìb(„~ì‚6~ìE~ì+R¼µì „¾µì ¼Àµì’(ÔÁµì‚(3ĵì( µÅµì;(ªÇµìW¶ìH¶ìb(‹ ¶ì‚B"¶ìO#¶ì+ÅÏíì Òíì MÔíì’(iÕíì‚(¼×íì( >Ùíì;(/ÛíìÖ/îìÈ1îìb(o3îì‚!5îì06îì+9(%íö*%í  -%í‚Õ/%í;ñ2%í \<%íb¢?%í‚EA%íTB%í+â%í |ä%í Ìæ%í’(àç%í‚(9ê%í( Õë%í;(î%íÆC&í#F&íb(´G&í‚yI&íˆJ&í+»@]í;^C]í+hõ]í ©÷]í çù]í’(þú]í‚(Qý]í( ìþ]í;(ò^í¿U^í¾W^íb(óY^킨[^íÄ\^í+Ó–í 
-–í X –í’(i -–í‚(É–í( J–í;(=–íÙg–íÊi–íb( -l–í‚Äm–íÓn–í+GÎí uÎí ©Îí’(Á Îí‚("#Îí( £$Îí;(”&Îí+{Îí}Îíb(`Î킁Îí#‚Îí+.-î o/î ¶1î’(Á2î‚(5î( •6î;(—8îQîGîb(îî‚¦’î+(‡=îå‰=î ì‹=î‚·Ž=î;֑=î :›=îb€ž=î‚# =î2¡=î+ÿ@>î \C>î ¢E>î’(ÌF>î‚(+I>î( ÌJ>î;(òL>>îÙ¤>îb(\¦>>î*©>î+„Ÿuî;'¢uî+ÀRvî Uvî HWvî’(mXvî‚(ÀZvî( [\vî;(U^vîO³vîSµvîb(ˆ·vî‚B¹vîOºvî+he®î ¥g®î îi®î’(k®î‚(um®î( ÷n®î;(èp®î~Å®îpÇ®îb(³É®î‚`Ë®îoÌ®î+ìxæî {æî Z}æî’(r~æî‚(рæî( R‚æî;(E„æîýØæîîÚæîb(1Ýæî‚èÞæîõßæî+‹ï ?ï Šï’(¦ï‚(ù’ï( z”ï;(o–ïëïíïb(¯îï‚aðïpñï+éäUïªçUï ÂéUï‚–ìUï;²ïUï ùUïbcüUï‚þUïÿUï+ܞVï =¡Vï ”£Vï’(¨¤Vï‚(§Vï( ¨Vï;(ɪVïWïÖWïb(gWï‚,Wï;Wï+výï;Žï+³°Žï ô²Žï 2µŽï’(I¶Žï‚(œ¸Žï( 7ºŽï;(=¼Žï
-ï ïb(>ï‚óïï+‰ÄÆï ÊÆÆï ÉÆï’(ÊÆï‚(ÌÆï( ÎÆï;(óÏÆï¥$Çï–&Çïb(Ù(Ç*ÇïŸ+Çï+¨Öþï ÖØþï 
-Ûþï’("Üþï‚(ƒÞþï( àþï;(õáþïŒ6ÿï~8ÿïb(Á:ÿï‚w<ÿï„=ÿï+úé6ð ;ì6ð ˆî6ð’(“ï6ð‚(æñ6ð( gó6ð;(iõ6ðJ7ð÷K7ðb(žM7ð‚VO7ðeP7ð+hBnð%Enð ,Gnð‚íInð; Mnð uVnðb»Ynð‚^[nðm\nð+4ünð ˆþnð Îoð’(øoð‚(Woð( øoð;(ûoð]oðâ_oðb(eaoð‚$coð3doð+Z¦ð;0]¦ð+:§ð §ð §ð’(ç§ð‚(:§ð( Õ§ð;(ϧðåo§ðæq§ðb(t§ð‚Õu§ðâv§ð+ø!ßð 5$ßð ~&ßð’(¥'ßð‚(*ßð( ‡+ßð;(|-ßð‚ßð „ßðb(N†ßð‚ˆßð‰ßð+4ñ N6ñ †8ñ’(ž9ñ‚(ý;ñ( =ñ;(t?ñ!”ñ–ñb(\˜ñ‚šñ!›ñ+•GOñ ÒIOñ LOñ’(9MOñ‚(ŒOOñ( QOñ;(SOñ«§Oñ©Oñb(D«Oñ‚ö¬Oñ®Oñ+ †ñË¢†ñ Þ¤†ñ‚¶§†ñ;Òª†ñ  -µ†ñbS¸†ñ‚ö¹†ñ»†ñ+ûY‡ñ \\‡ñ ³^‡ñ’(Ç_‡ñ‚( b‡ñ( ¼c‡ñ;(íe‡ñ±»‡ñ¾‡ñb(—¿‡ñ‚\Á‡ñk‡ñ+¦¸¾ñ;I»¾ñ+Sm¿ñ ”o¿ñ Òq¿ñ’(ér¿ñ‚(<u¿ñ( ×v¿ñ;(Ýx¿ñªÍ¿ñ©Ï¿ñb(ÞÑ¿ñ‚“Ó¿ñ¯Ô¿ñ+¾÷ñ ÿ÷ñ C„÷ñ’(T…÷ñ‚(´‡÷ñ( 5‰÷ñ;((‹÷ñÄß÷ñµá÷ñb(øã÷ñ‚¯å÷ñ¾æ÷ñ+2“/ò `•/ò ”—/ò’(¬˜/ò‚( -›/ò( Žœ/ò;(ž/òó/òõ/òb(K÷/ò‚ù/òú/ò+¥gò Z§gò ¡©gò’(¬ªgò‚(ÿ¬gò( €®gò;(‚°gò<hò2hòb(Ùhò‚‘
-hò  hò+ÿžòПò ןò‚˜Ÿò;· Ÿò  ŸòbQŸò‚îŸòýŸò+߸Ÿò <»Ÿò ‚½Ÿò’(¬¾Ÿò‚( ÁŸò( ¬ÂŸò;(ÁğòV ò“ òb( ò‚Õ òä  ò+=×ò;à×ò+êË×ò /Î×ò rÐ×ò’(—Ñ×ò‚(êÓ×ò( ‰Õ×ò;(…××ò~,Øò‚.Øòb(·0Øò‚q2Øò~3Øò+’Þó Ïàó ãó’(?äó‚(Ÿæó( !èó;(êó¨>óš@ób(ÝBó‚ŠDó™Eó+«ðGó ÝòGó õGó’(-öGó‚(ŒøGó( úGó;(ÿûGó¶PHó§RHób(êTHó‚¡VHó®WHó+$€ó a€ó ¬€ó’(È €ó‚( €ó(  -€ó;(Ž€ó5d€ó'f€ób(Îg€ó‚€i€ój€ó+˜\·óY_·ó qa·ó‚>d·ó;\g·ó ´q·óbút·ó‚v·ó¬w·ó+…¸ó æ¸ó =¸ó’(Q¸ó‚(ª¸ó( F ¸ó;(r"¸ó‚x¸ó×z¸ób(h|¸ó‚-~¸ó<¸ó+wuïó;xïó+´(ðó õ*ðó 3-ðó’(J.ðó‚(0ðó( 82ðó;(>4ðó ‰ðó
-‹ðób(?ðó‚úŽðóðó+Š<(ô Ë>(ô A(ô’( B(ô‚(€D(ô( F(ô;(ôG(ô œ(ô‘ž(ôb(Ô (ô‚‹¢(ôš£(ô+£N`ô ÑP`ô S`ô’(T`ô‚(~V`ô( ÿW`ô;(ðY`ôˆ®`ôz°`ôb(½²`ô‚s´`ô€µ`ô+öa˜ô 7d˜ô ~f˜ô’(‰g˜ô‚(Üi˜ô( ]k˜ô;(_m˜ô÷Á˜ôíØôb(”Řô‚Lǘô[Șô+^ºÏô½Ïô "¿Ïô‚ãÁÏô;ÅÏô vÎÏôbÇÑÏô‚jÓÏôyÔÏô+*tÐô ~vÐô ÃxÐô’(íyÐô‚(L|Ðô( í}Ðô;(€Ðô©ÕÐôî×Ðôb(qÙÐô‚0ÛÐô?ÜÐô+™Òõ;<Õõ+F‡õ ‹‰õ Ëõ’(ڌõ‚(8õ( Րõ;(ڒõÚçõÿéõb(4ìõ‚îíõ
-ïõ+š@õ Aœ@õ ¢ž@õ’(ɟ@õ‚(p¢@õ( ¤@õ;(÷¥@õmú@õ†ü@õb(Éþ@õ‚vAõ…Aõ+›¬xõ Í®xõ ±xõ’(6²xõ‚(•´xõ( ¶xõ;( ¸xõu yõfyõb(©yõ‚`yõmyõ+ã¿°õ  °õ kÄ°õ’(‡Å°õ‚(ÚÇ°õ( \É°õ;(QË°õDZõ¹!±õb(`#±õ‚%±õ!&±õ+*èõçèõ úèõ‚Õèõ;ó"èõ ^,èõb¤/èõ‚T1èõc2èõ+Òèõ ~Ôèõ ÕÖèõ’(é×èõ‚(BÚèõ( âÛèõ;(Þèõ’3éõç5éõb(j7éõ‚/9éõ>:éõ+‹0 ö;.3 ö+8å ö yç ö ·é ö’(Îê ö‚(!í ö( ¼î ö;(Âð ötE!ösG!öb(¨I!ö‚]K!öyL!ö+ˆ÷Xö ÉùXö  -üXö’(ýXö‚(~ÿXö( ÿYö;(òYö\WYöMYYöb([Yö‚G]YöV^Yö+Ê
-‘ö ø ‘ö ,‘ö’(D‘ö‚(£‘ö( $‘ö;(‘ö}j‘öol‘öb(²n‘ö‚hp‘öuq‘ö+ëÉö , Éö s"Éö’(~#Éö‚(Ñ%Éö( R'Éö;(T)ÉöÜ}ÉöÒÉöb(yÉö‚1ƒÉö@„Éö+Jv÷y÷ {÷‚Ú}÷;ý€÷ ¢Š÷bè÷‚‹÷š÷+%0÷ ‚2÷ È4÷’(ò5÷‚(Q8÷( ò9÷;(<÷o‘÷²“÷b(5•÷‚ô–÷˜÷+]Ž8÷;‘8÷+
-C9÷ OE9÷ ’G9÷’(·H9÷‚(
-K9÷( ¥L9÷;(ŸN9÷l£9÷p¥9÷b(¥§9÷‚_©9÷lª9÷+€Uq÷ ½Wq÷ Zq÷’(-[q÷‚(]q÷( _q÷;(aq÷–µq÷ˆ·q÷b(˹q÷‚x»q÷‡¼q÷+i©÷ 6k©÷ nm©÷’(†n©÷‚(åp©÷( gr©÷;(Xt©÷É©÷Ë©÷b(IÍ©÷‚Ï©÷Щ÷+{á÷ U}á÷  á÷’(¼€á÷‚(ƒá÷( ‘„á÷;(††á÷.Ûá÷ Ýá÷b(ÇÞá÷‚yàá÷ˆáá÷+Õø¾×ø ÖÙø‚£Üø;¿ßø /éøbuìø‚îø'ïø+éŽø J‘ø ¡“ø’(µ”ø‚(—ø( ª˜ø;(֚ø ðøõòøb(†ôø‚KöøZ÷ø+™íPø;<ðPø+Ö Qø £Qø U¥Qø’(l¦Qø‚(¿¨Qø( ZªQø;(`¬Qø-Rø,Røb(aRø‚Rø2Rø+¬´‰ø í¶‰ø 1¹‰ø’(Bº‰ø‚(¢¼‰ø( #¾‰ø;(À‰øŠø³Šøb(öŠø‚­Šø¼Šø+ÅÆÁø óÈÁø 'ËÁø’(?ÌÁø‚( ÎÁø( !ÐÁø;(ÒÁøª&Âøœ(Âøb(ß*Âø‚•,Âø¢-Âø+Úùø YÜùø  Þùø’(«ßùø‚(þáùø( ãùø;(åùø:úø<úøb(¶=úø‚n?úø@úø+€21ù=51ù I71ù‚:1ù;3=1ù F1ùbãI1ù‚†K1ù•L1ù+]ì1ù ³î1ù ùð1ù’(#ò1ù‚(‚ô1ù( $ö1ù;()ø1ùÇM2ù P2ùb(ŽQ2ù‚MS2ù\T2ù+µJiù;XMiù+bÿiù §jù êjù’(jù‚(bjù( ýjù;(÷
-jù -`jùbjùb(Cdjù‚ýejù
-gjù+ ¢ù ]¢ù ¦¢ù’(Í¢ù‚(-¢ù( ¯¢ù;( ¢ù<r¢ù.t¢ùb(qv¢ù‚#x¢ù2y¢ù+ª%Úù Ü'Úù *Úù’(,+Úù‚(‹-Úù(  -/Úù;(1Úù¯…Úù ‡Úùb(ã‰Úù‚š‹Úù§ŒÚù+²7ú ï9ú :<ú’(V=ú‚(©?ú( +Aú;(Cú×úµ™úb(\›ú‚úžú+–‘IúS”Iú k–Iú‚8™Iú;TœIú ǦIúb -ªIú‚°«Iú¿¬Iú+ -JJú nLJú ÅNJú’(ÙOJú‚(2RJú( ÎSJú;(ûUJúÅ«Jú®Júb(¬¯Jú‚q±Jú€²Jú+.ªú;Ѭú+k]‚ú ¬_‚ú êa‚ú’(c‚ú‚(Te‚ú( ïf‚ú;(õh‚ú½‚úÁ¿‚úb(öÁ‚ú‚«Ã‚úÇĂú+Öoºú rºú [tºú’(luºú‚(Ìwºú( Myºú;(@{ºúÜϺúÍѺúb(Ôºú‚ÇÕºúÖÖºú+Jƒòú x…òú ¬‡òú’(Ĉòú‚(%‹òú( ¦Œòú;(—Žòú.ãòú åòúb(cçòú‚éòú&êòú+1•*û r—*û ¹™*û’(Ě*û‚(*û( ˜ž*û;(š *ûTõ*ûJ÷*ûb(ñø*û‚©ú*û¸û*û++ïaûìñaû øóaû‚¹öaû;Úùaû =bûbƒbû‚&bû5 bû+©bû _«bû ¥­bû’(Ï®bû‚(.±bû( ϲbû;(õ´bûž
-cûâ cûb(ecû‚$cû3cû+Œšû;/
-šû+ɺšû ½šû Q¿šû’(vÀšû‚(Éšû( dĚû;(^ƚû]›ûa›ûb(–›û‚P!›û]"›û+áÎÒû ÑÒû gÓÒû’(ŽÔÒû‚(îÖÒû( pØÒû;(aÚÒû÷.Óûé0Óûb(,3Óû‚Ù4Óûè5Óû+úà
-ü 2ã
-ü jå
-ü’(‚æ
-ü‚(áè
-ü( cê
-ü;(Xì
-üA üC üb(DE ü‚ûF üH ü+~ôBü »öBü ùBü’("úBü‚(uüBü( ÷ýBü;(èÿBüŸTCü‘VCüb(8XCü‚êYCüùZCü+Mzü¿Ozü ×Qzü‚¤Tzü;ÀWzü iazüb¯dzü‚Rfzüagzü+ê{ü K {ü ¢ {ü’(¶ {ü‚({ü( «{ü;(Ü{ü§h{üüj{üb(l{ü‚Rn{üao{ü+ e²ü;Ch²ü+ܳü ³ü [³ü’(r³ü‚(Å ³ü( `"³ü;(f$³ü4y³ü0{³üb(e}³ü‚³ü6€³ü+­,ëü î.ëü 21ëü’(C2ëü‚(£4ëü( $6ëü;(8ëüÌëü´Žëüb(÷ëü‚¯’ëü¾“ëü+Æ>#ý ô@#ý (C#ý’(@D#ý‚(¡F#ý( "H#ý;(J#ý«ž#ý #ýb(à¢#ý‚–¤#ý£¥#ý+R[ý ZT[ý ¡V[ý’(¬W[ý‚(ÿY[ý( €[[ý;(‚][ý²[ý´[ýb(·µ[ý‚o·[ý~¸[ý+ª’ý>­’ý J¯’ý‚²’ý;4µ’ý ž¾’ýbäÁ’ý‚‡Ã’ý–Ä’ý+^d“ý ²f“ý øh“ý’("j“ý‚(l“ý( "n“ý;()p“ýÈœý ȓýb(É“ý‚N˓ý]̓ý+¶ÂÊý;YÅÊý+cwËý ¨yËý ë{Ëý’(}Ëý‚(cËý( þ€Ëý;(ø‚ËýØËýÚËýb(DÜËý‚þÝËý ßËý+!Šþ ^Œþ §Žþ’(Ώþ‚(.’þ( °“þ;(¡•þ=êþ/ìþb(rîþ‚$ðþ3ñþ+«;þ ݟ;þ ¢;þ’(-£;þ‚(Œ¥;þ( §;þ;(©;þ°ý;þ¡ÿ;þb(ä<þ‚›<þ¨<þ+³¯sþ ð±sþ ;´sþ’(Wµsþ‚(ª·sþ( ,¹sþ;(»sþÄtþ¶tþb(]tþ‚tþtþ+— «þT «þ l«þ‚;«þ;[«þ Å«þb !«þ‚®"«þ½#«þ+«þ uÄ«þ ÌÆ«þ’(àÇ«þ‚(;Ê«þ( ×Ë«þ;(ΫþÑ#¬þ'&¬þb(¸'¬þ‚})¬þŒ*¬þ+:"ãþ;Ý$ãþ+wÕãþ ¸×ãþ öÙãþ’( -Ûãþ‚(`Ýãþ( ûÞãþ;(áãþÎ5äþÍ7äþb(:äþ‚·;äþÓ<äþ+âçÿ #êÿ gìÿ’(xíÿ‚(Øïÿ( Yñÿ;(LóÿèGÿÙIÿb(Lÿ‚ÓMÿâNÿ+VûSÿ „ýSÿ ¸ÿSÿ’(ÐTÿ‚(1Tÿ( ²Tÿ;(£Tÿ:[Tÿ,]Tÿb(o_Tÿ‚%aTÿ2bTÿ+= -Œÿ ~Œÿ ÅŒÿ’(ÐŒÿ‚(#Œÿ( ¤Œÿ;(¦Œÿ`mŒÿVoŒÿb(ýpŒÿ‚µrŒÿÄsŒÿ+7gÃÿøiÃÿ lÃÿ‚ÅnÃÿ;æqÃÿ I{Ãÿb~Ãÿ‚2€ÃÿAÃÿ+!Äÿ k#Äÿ ±%Äÿ’(Û&Äÿ‚(:)Äÿ( Û*Äÿ;(-Äÿª‚Äÿî„Äÿb(q†Äÿ‚0ˆÄÿE‰Äÿ+˜ûÿ;;‚ûÿ+E4üÿ Š6üÿ Í8üÿ’(ò9üÿ‚(E<üÿ( à=üÿ;(Ú?üÿԔüÿؖüÿb( -™üÿ‚ǚüÿԛüÿ+íF4 *I4 sK4’(šL4‚(úN4( |P4;(mR4§4õ¨4b(8«4‚å¬4ô­4+Yl 8[l p]l’(ˆ^l‚(ç`l( ibl;(Zdl¹l»lb(E½l‚ü¾l Àl+l¤ ¼n¤ q¤’(#r¤‚(vt¤( øu¤;(éw¤Ì¤‚Τb()Ф‚ÛѤêÒ¤+óÄÛ°ÇÛ ÈÉۂ•ÌÛ;±ÏÛ &ÙÛblÜۂÞÛßÛ+Ú~Ü ;Ü ’ƒÜ’(¦„Ü‚(ÿ†Ü( ›ˆÜ;(ȊÜŒàÜéâÜb(zäÜ‚?æÜNçÜ+…Ý;(à+2’ s” ±–’(ȗ‚(š( ¶›;(¼Šò†ôb(»ö‚pøŒù+˜¤L Ù¦L ©L’(.ªL‚(Ž¬L( ®L;(°L®M¦Mb(éM‚ 
-M¯ M+·¶„ 帄 »„’(1¼„‚(’¾„( À„;(„›……b(Ð…‚‚……+ ʼ J̼ ‘μ’(œÏ¼‚(ïѼ( pÓ¼;(rÕ¼ *½,½b(¨-½‚`/½o0½+r"ô/%ô ;'ô‚*ô;%-ô 6ôbÈ9ô‚k;ôz<ô+NÜô ¢Þô èàô’(âô‚(qäô( æô;(èôÄ=õ@õb(ŠAõ‚ICõXDõ+²:,;U=,+_ï, ¤ñ, çó,’( õ,‚(_÷,( úø,;(ôú,
-P- R-b(@T-‚úU-W-+e Ze £e’(Êe‚(*
-e( ¬ e;(¡ -e>be0deb(sfe‚%he4ie+¬ ޝ ’(.‚(( ;(!±u¢wb(åy‚œ{©|+´'Õ ñ)Õ <,Õ’(X-Õ‚(«/Õ( -1Õ;(3ÕŇÕ·‰Õb(^‹Õ‚ÕŽÕ+˜ Y„  q† ‚E‰ ;aŒ  ̕ b™ ‚µš ě +: - {< - Ò> -’(æ? -‚(?B -( ÛC -;(F -қ -(ž -b(¹Ÿ -‚~¡ -¢ -+;šD;ޜD+xME ¹OE ÷QE’(SE‚(aUE( üVE;(YEÏ­EίEb(²E‚¸³EÔ´E+ã_} $b} hd}’(ye}‚(Ùg}( Zi};(Mk}î¿}ßÁ}b("Ä}‚ÙÅ}èÆ}+\sµ Šuµ ¾wµ’(Öxµ‚(7{µ( ¸|µ;(©~µAÓµ3Õµb(v×µ‚,Ùµ9Úµ+¯†í ðˆí 7‹í’(BŒí‚(›Ží( í;(’í×æíÍèíb(têí‚,ìí;íí+>ß$ûá$ ä$‚Èæ$;çé$ fó$b¬ö$‚Oø$^ù$+™% l›% ²%’(ܞ%‚(;¡%( Ü¢%;(ñ¤%•ú%Ùü%b(\þ%‚&*&+ƒ÷\;&ú\+0¬] u®] ¸°]’(ݱ]‚(0´]( ˵];(Å·]¿ ^Ã^b(ø^‚²^¿^+ؾ• Á• ^Õ’(…Ä•‚(åƕ( gȕ;(Xʕî–à –b(##–‚Ð$–ß%–+ñÐÍ #ÓÍ [ÕÍ’(sÖÍ‚(ÒØÍ( TÚÍ;(EÜÍü0Îí2Îb(05΂ë6Îø7Î+jä §æ òè’(ê‚(aì( ãí;(Ôï{DmFb(H‚ÆIÕJ+Þ<=›?= ³A=‚ŠD=;¨G= Q=bdT=‚V=W=+Ðö= 1ù= ˆû=’(œü=‚(õþ=( ‘>;(½>}X>ÓZ>b(d\>‚)^>8_>+vUu;Xu+#
-v d v ¢v’(¹v‚( v( §v;(­vzjvylvb(®nv‚cpvqv+Ž® Ï® !®’($"®‚(„$®( &®;(ø'®¤|®•~®b(؀®‚‚®žƒ®+§.æ Õ0æ  3æ’(!4æ‚(‚6æ( 8æ;(ô9挎æ~æb(Á’æ‚w”æ„•æ+úA ;D ‚F’(G‚(àI( aK;(cMû¡ñ£b(˜¥‚P§_¨+ӛUžU œ U‚]£U;|¦U å¯Ub+³U‚δUݵU+4TV ˆVV ÎXV’(øYV‚(W\V( ø]V;(û_V¤µVç·Vb(j¹V‚)»V8¼V+´;¥¶+?gŽ „iŽ ÇkŽ’(ìlŽ‚(?oŽ( ÚpŽ;(ÔrŽêǎëɎb( ̎‚Ú͎çΎ+ýyÆ :|Æ ƒ~Æ’(ªÆ‚(
-‚Æ( ŒƒÆ;(…ÆÚÆÜÆb(SÞÆ‚àÆáÆ+Œþ ¾þ ö‘þ’(“þ‚(m•þ( ï–þ;(ä˜þ‘íþ‚ïþb(Åñþ‚|óþ‰ôþ+”Ÿ6 Ñ¡6 ¤6’(8¥6‚(‹§6(  -©6;(þª6¥ÿ6—7b(>7‚ð7ÿ7+xùm9üm Qþm‚%n;An ¬ -nbòn‚•n¤n+k³n ̵n #¸n’(7¹n‚(»n( ,½n;(X¿nopob(o‚ÆoÕo+¦;³¦+MŦ ŽÇ¦ Ìɦ’(ãʦ‚(6ͦ( ÑΦ;(×Ц¤%§£'§b(Ø)§‚+§©,§+#ÙÞ dÛÞ ¨ÝÞ’(¹ÞÞ‚(áÞ( šâÞ;(äÞ)9ß;ßb(]=ß‚?ß#@ß+,ë Zí Žï’(¦ð‚(ó( ˆô;(yöKMb(EO‚ûPR+~þN ¿O O’(O‚(dO( åO;(ç O¡^O—`Ob(>bO‚öcOeO+W†ÅY† Ì[†‚^†;°a† k†ben†‚p†q†+Ù‡ 6‡ |‡’(¦‡‚(‡( ¦‡;(»‡Sr‡˜t‡b(v‡‚Úw‡éx‡+Bo¾;åq¾+ï#¿ 4&¿ w(¿’(œ)¿‚(ï+¿( Š-¿;(„/¿~„¿‚†¿b(·ˆ¿‚qŠ¿~‹¿+—6÷ Ô8÷ ;÷’(D<÷‚(¤>÷( &@÷;(B÷­–÷Ÿ˜÷b(âš÷‚œ÷ž÷+°H/ âJ/ M/ ’(2N/ ‚(‘P/ ( R/ ;(T/ »¨/ ¬ª/ b(ï¬/ ‚¦®/ ³¯/ +)\g f^g ±`g ’(Íag ‚( dg ( ¢eg ;(“gg :¼g ,¾g b(Ó¿g ‚…Ág ”Âg +´ž Z·ž m¹ž ‚E¼ž ;a¿ž ËȞ b̞ ‚´Íž ÃΞ +ŠnŸ ëpŸ BsŸ ’(VtŸ ‚(¯vŸ ( KxŸ ;(|zŸ 5П ŠÒŸ b(ԟ ‚à՟ ï֟ +*ÍÖ ;ÍÏÖ +×× „× V†× ’(m‡× ‚(À‰× ( [‹× ;(a× .â× -ä× b(bæ× ‚è× 3é× +B”
- ƒ–
- ǘ
-’(ؙ
-‚(8œ
-( ¹
-;(¬Ÿ
-Xô
-Iö
-b(ο
-‚Cú
-Rû
-+ƧG
- ô©G
- (¬G
-’(@­G
-‚(¡¯G
-( "±G
-;(³G
-«H
- H
-b(à H
-‚– -H
-£H
-+®¹
- ï»
- 6¾
-’(A¿
-‚(”Á
-( Ã
-;(Å
-¯€
-¥€
-b(L€
-‚€
- €
-+Ž·
-K·
- W·
-‚·
-;;·
- ¤'·
-bõ*·
-‚˜,·
-§-·
-+cͷ
- ·Ï·
- üÑ·
-’(&Ó·
-‚(…Õ·
-( &׷
-;(?ٷ
-â.¸
-'1¸
-b(ª2¸
-‚i4¸
-x5¸
-+Ò+ï
-;u.ï
-+àï
- Äâï
- üäï
-’(æï
-‚(qèï
-( êï
-;(ìï
-Að
-8Cð
-b(mEð
-‚'Gð
-CHð
-+Mó' zõ' Û÷' ’(ù' ‚(©û' ( ;ý' ;(0ÿ' ¦S( ¿U( b(X( ‚¯Y( ¾Z( +Ô` ` K
-` ’(o ` ‚(Î -` ( O` ;(B` ³e` ¤g` b(çi` ‚žk` °l` +¶˜ ó˜ >˜ ’(Z˜ ‚(­˜ ( /!˜ ;( #˜ ›w˜ y˜ b(4{˜ ‚æ|˜ õ}˜ +nqÏ +tÏ >vÏ ‚ yÏ ;'|Ï ‘…Ï b×ˆÏ ‚ŠÏ œ‹Ï +P+Ð ±-Ð 0Ð ’(1Ð ‚(u3Ð ( 5Ð ;(C7Ð ЌР%Ð b(¨Ð ‚m’Ð |“Ð +ĉ ;gŒ +q> ²@ ðB ’(D ‚(ZF ( õG ;(ûI ­ž ¬  b(ᢠ‚–¤ ²¥ +ÁP@ S@ FU@ ’(WV@ ‚(·X@ ( 8Z@ ;(+\@ •°@ †²@ b(É´@ ‚€¶@ ·@ +dx 1fx ehx ’(}ix ‚(Þkx ( _mx ;(Pox ¶Ãx ¨Åx b(ëÇx ‚¡Éx ®Êx +¹u° úw° Az° ’(L{° ‚(Ÿ}° (  ° ;("° ªÕ°  ×° b(KÙ° ‚þÚ°  -Ü° +‚Ïç ?Òç FÔç ‚×ç ;+Úç Ÿãç båæç ‚ˆèç —éç +S‰è °‹è öè ’( è ‚(‘è (  “è ;(F•è ±êè öìè b(yîè ‚8ðè Gñè +¡ç -;Dê -+Nœ - “ž - Ö  -’(û¡ -‚(N¤ -( é¥ -;(㧠-°ü -´þ -b(é! -‚£! -°! -+Ä®X - ±X - J³X -’(q´X -‚(ѶX -( S¸X -;(DºX -ÚY -ÌY -b(Y -‚¼Y -ËY -+ÝÀ - Ð - GŐ -’(_Ɛ -‚(¾È -( @ʐ -;(1̐ -è ‘ -Ù"‘ -b(%‘ -‚Ó&‘ -à'‘ -+VÔÈ - “ÖÈ - ÞØÈ -’(úÙÈ -‚(MÜÈ -( ÏÝÈ -;(ÀßÈ -g4É -Y6É -b(8É -‚²9É -Á:É -+Ê,‡/ š1‚h4;ˆ7 %AbkD‚FG+±æ é ië’(}ì‚(Öî( rð;(Ÿò\H±Jb(BL‚NO+QE8;ôG8+þù8 ?ü8 }þ8’(”ÿ8‚(ç9( ‚9;(ˆ9VZ9R\9b(‡^9‚<`9Xa9+d q ¥q éq’(üq‚(\q( Ýq;(Îqzlqknqb(®pq‚erqtsq+è© "© J$©’(b%©‚(Ã'©( D)©;(5+©Í©¿©b(„©‚¸…©ņ©+Ð1á 4á X6á’(c7á‚(¶9á( 7;á;(9=áёáǓáb(n•á‚&—á5˜á+©‹jŽ v‚7“;V– ÀŸb£‚©¤¸¥+€E ÔG J’(DK‚(£M( DO;(KQã¦(©b(«ª‚j¬y­+Ó£P;v¦P+€XQ ÅZQ ]Q’(-^Q‚(€`Q( bQ;(dQ+¹Q,»Qb(a½Q‚¿Q-ÀQ+>k‰ {m‰ Äo‰’(ëp‰‚(Ks‰( Ít‰;(Âv‰_ˉQ͉b(”ω‚FщU҉+b}Á ”Á ́Á’(ê‚Á‚(I…Á( ˆÁ;(ÀˆÁgÝÁXßÁb(›áÁ‚RãÁ_äÁ+Րù “ù ]•ù’(y–ù‚(̘ù( Nšù;(?œùöðùèòùb(ôù‚AöùP÷ù+Yé0ì0 )î0‚öð0;ô0 ‡ý0bÍ1‚p11+;£1 œ¥1 ó§1’(©1‚(`«1( ü¬1;()¯1ì2A2b(Ò2‚—
-2¦ 2+ái;„i+Ž¶i ϸi  -»i’($¼i‚(w¾i( Ài;(Âiåjäjb(j‚Îjêj+ùÈ¡ :Ë¡ ~Í¡’(Î¡‚(ïС( pÒ¡;(cÔ¡ÿ(¢ð*¢b(3-¢‚ê.¢ù/¢+ÛÙ 0ÝÙ dßÙ’(|àÙ‚(ÝâÙ( ^äÙ;(OæÙæ:ÚØ<Úb(?Ú‚Ñ@ÚÞAÚ+Tî •ð Üò’(çó‚(:ö( »÷;(½ùwNmPb(R‚ÌSÛT+ÞFI›II ¢KI‚mNI;ŒQI /\Ibu_I‚aI'bI+µJ J XJ’(‚J‚(áJ( ‚
-J;(¨ JJbJdJb(fJ‚ÑgJàhJ+9_;Üa+æ‚ +‚ n‚’(“‚‚(æ‚( ‚;({‚ut‚yv‚b(®x‚‚hz‚u{‚+Ž&º Ë(º +º’(;,º‚(›.º( 0º;(2º¤†º–ˆºb(يº‚†Œº•º+:ò D<ò |>ò’(”?ò‚(óAò( uCò;(fEòšòœòb(Qžò‚ ò¡ò+ L* ]N* ¨P*’(ÄQ*‚(T*( ™U*;(ŠW*1¬*#®*b(ʯ*‚|±*‹²*+¦aÁ¨a Ùªa‚¦­a;°a -ºabs½a‚¿a%Àa+{^b Ü`b 3cb’(Gdb‚( fb( <hb;(ijb&Àb{Âbb( Äb‚ÑÅbàÆb+Œ¾™;/Á™+Èqš  tš Gvš’(^wš‚(±yš( L{š;(R}š ҚԚb(Q֚‚ؚ"ٚ+.„Ò o†Ò ³ˆÒ’(ĉÒ‚($ŒÒ( ¥Ò;(˜ÒDäÒ5æÒb(xèÒ‚/êÒ>ëÒ+²—
- à™
- œ
-’(,
-‚(Ÿ
-( ¡
-;(ÿ¢
-—÷
-‰ù
-b(Ìû
-‚‚ý
-þ
-+«B F­B ¯B’(˜°B‚(ë²B( l´B;(n¶B Cü Cb(£C‚[CjC+mz.z 5z‚ö
-z;z zbÅz‚hzwz+?½z “¿z ÙÁz’(Ãz‚(bÅz( Çz;(
-Éz¢{ç {b(j"{‚)${8%{+’²;;²+Dв ‰Ò² ÌÔ²’(ñÕ²‚(Dز( ßÙ²;(ÙÛ²ï0³ð2³b(%5³‚ß6³ì7³+ãê ?åê ˆçê’(¯èê‚(ëê( ‘ìê;(‚îêCëEëb(SGë‚IëJë+!õ" S÷" ‹ù"’(£ú"‚(ý"( „þ";(y#&U#W#b(ZY#‚[#\#+”[ Ñ
-[  -[’(8[‚(‹[(  -[;(þ[¥h[—j[b(>l[‚ðm[ÿn[+a’Åc’ Øe’‚¦h’;Æk’ ;u’bx’‚$z’3{’+ï“ P“ §“’(» “‚(#“( °$“;(Ý&“ |“ý~“b(Ž€“‚W‚“fƒ“+•yÊ;8|Ê+B.Ë ƒ0Ë Á2Ë’(Ø3Ë‚(+6Ë( Æ7Ë;(Ì9Ë™ŽË˜Ëb(͒Ë‚‚”Ëž•Ë+­@ îB 2E’(CF‚(£H( $J;(L³ ¤¢b(礂ž¦­§+!T; OV; ƒX;’(›Y;‚(ü[;( }];;(n_;´;÷µ;b(:¸;‚ð¹;ýº;+fs Ihs js’(›ks‚(îms( oos;(qqs+Æs!Èsb(ÈÉs‚€ËsÌs+Àª¿Âª ÆĪ‚‘Ǫ;°Êª ÕªbWت‚úÙª Ûª+Ùy« 6|« |~«’(¦«‚(‚«( ¦ƒ«;(»…«SÛ«˜Ý«b(ß«‚Úà«éá«+BØâ;åÚâ+‹ã č㠐ã’(,‘ã‚(“ã( •ã;(—ã -ìãîãb(Fðã‚òã -óã+ŒŸ É¡ ¤’(9¥‚(™§( ©;( «¢ÿ”b(ׂ„“+¥±S ׳S ¶S’('·S‚(†¹S( »S;(ù¼S°T¡Tb(äT‚›T¨T+%ŋ bNj ­É‹’(Éʋ‚(͋( Î‹;(’Ћ:%Œ,'Œb(Ó(Œ‚…*Œ”+Œ+Ã^ à v"ÂC%Ã;a(à Ø1Ãb5ÂÁ6ÃÐ7Ã+Š×à ëÙà BÜÃ’(VÝÂ(¯ßÃ( KáÃ;(wãÃ/9Ä„;Äb(=Ä‚Ú>Äé?Ä+$6û;Ç8û+Ñêû íû Pïû’(gðû‚(ºòû( Uôû;([öû)Kü%Müb(ZOü‚Qü+Rü+7ý3 xÿ3 ¼4’(Í4‚(-4( ®4;(¡4S]4D_4b(‡a4‚>c4Md4+Vl „l ¸l’(Ðl‚(1l( ²l;(£l@ol2qlb(usl‚+ul8vl+®"¤ ï$¤ 6'¤’(A(¤‚(”*¤( ,¤;(.¤µ‚¤«„¤b(R†¤‚
-ˆ¤‰¤+{ÛÙ}Û àÛ‚¡‚Û;ąÛ 9Ûb’Û‚"”Û1•Û+í4Ü A7Ü ‡9Ü’(±:Ü‚(=Ü( ±>Ü;(´@Üa–ܦ˜Üb()šÜ‚è›Ü÷œÜ+Q“;ô•+þG CJ †L’(«M‚(þO( ™Q;(“S©¨ªªb(߬‚™®¦¯+¼ZL ù\L B_L’(i`L‚(ÉbL( KdL;(@fLݺLϼLb(¿L‚ÄÀLÓÁL+Kn„ }p„ µr„’(Ís„‚(,v„( ®w„;(£y„P΄AЄb(„Ò„‚;ԄHՄ+S€¼ ‚¼ ۄ¼’(÷…¼‚(Jˆ¼( ̉¼;(½‹¼dà¼Vâ¼b(ý㼂¯å¼¾æ¼+7ÚóôÜó ßó‚Þáó;üäó eîób«ñó‚Nóó]ôó+´’ô •ô l—ô’(€˜ô‚(ٚô( uœô;(¡žôdôô¹öôb(Jøô‚úôûô+Êò+;mõ++¦, G¨, …ª,’(œ«,‚(ï­,( Š¯,;(±,^-Z-b(
--‚D -` --+l¸d ­ºd ñ¼d’(¾d‚(bÀd( ãÁd;(ÖÃdreceb(¦e‚]ele+à˜ Μ BМ’(Zќ‚(»Óœ( <՜;(-לÄ+¶-b(ù/‚¯1¼2+2ßÔ sáÔ ºãÔ’(ÅäÔ‚(çÔ( ™èÔ;(›êÔU?ÕKAÕb(òBÕ‚ªDÕ¹EÕ+¼7 y:  €< ‚A? ;dB  ÈK bO ‚±P ÀQ +ñ  êó  0ö ’(Z÷ ‚(¹ù ( Zû ;(oý S -LU -b(ÏV -‚ŽX -Y -+öOD;™RD+£E èE . E’(S
-E‚(¦ E( CE;(9E2eE6gEb(kiE‚%kEAlE+K} Š} Þ}’(}‚(e}( æ };(Û"}qw}ey}b(¨{}‚U}}d~}+z)µ ¬+µ ä-µ’(ü.µ‚([1µ( Ý2µ;(Î4µ…‰µv‹µb(¹µ‚pµ}µ+ó<í 0?í {Aí’(—Bí‚(êDí( lFí;(]Hííöžíb( í‚O¢í^£í+g•$%˜$ =š$‚ $;+ $ •©$bÛ¬$‚~®$¯$+TO% µQ%  T%’( U%‚(yW%( Y%;(A[%î°%C³%b(Æ´%‚‹¶%š·%+ã­\;†°\+b] Ñd] g]’(&h]‚(yj]( l];(n]þÂ]úÄ]b(/Ç]‚äÈ]Ê]+ u• Mw• —y•’(¨z•‚(}•( ‰~•;(z€•(Օוb(\ٕ‚ە"ܕ++‡Í Y‰Í ‹Í’(¥ŒÍ‚(Í( ‡Í;(x’Í çÍéÍb(UëÍ‚ íÍîÍ+Žš Ϝ Ÿ’(! ‚(t¢( õ£;(÷¥ ú–üb(=þ‚õÿ+wô<4÷< ;ù<‚üû<;ÿ< =bÕ =‚x -=‡=+Ó¬= 0¯= v±=’( ²=‚(ÿ´=(  ¶=;(µ¸=G>Œ>b(>‚Î>Ý>+§ u;Ju+ã¿u (Âu kÄu’(Åu‚(ãÇu( ~Éu;(xËu v‘"vb(Æ$v‚…&v’'v+¡Ò­ ÞÔ­ '×­’(NØ­‚(®Ú­( 0Ü­;(!Þ­·2®©4®b(ì6®‚™8®¨9®+%æå Wèå êå’(§ëå‚(îå( ˆïå;(yñå FæHæb(TJæ‚ LæMæ+#ø `ú «ü’(Çý‚(( œ;(‘9X+Zb(Ò[‚„]“^+ RUÉTU ÜVU‚³YU;Ñ\U :fUb€iU‚#kU2lU+ù V ZV ±V’(ÅV‚(V( ºV;(çVµmV
-pVb(›qV‚`sVotV+ªj;Mm+æŽ ' Ž e"Ž’(|#Ž‚(Ï%Ž( j'Ž;(p)Ž>~Ž:€Žb(o‚Ž‚$„Ž@…Ž+·1Æ ø3Æ <6Æ’(M7Æ‚(­9Æ( .;Æ;(!=ƽ‘Æ®“Æb(ñ•Æ‚¨—Æ·˜Æ+ÀCþ îEþ "Hþ’(:Iþ‚(›Kþ( Mþ;( -Oþ¤£þ–¥þb(Ù§þ‚©þœªþ+W6 SY6 š[6’(¥\6‚(ø^6( y`6;({b6$·6¹6b(Áº6‚y¼6ˆ½6+‹¯mH²m T´m‚·m;:ºm £ÃmbéÆm‚ŒÈm›Ém+bin ¶kn ümn’(&on‚(…qn( &sn;()unËÊnÍnb(“În‚RÐnaÑn+»Ç¥;^Ê¥+h|¦ ­~¦ ð€¦’(‚¦‚(h„¦( †¦;(ý‡¦ýܦþÞ¦b(3ᦂíâ¦úã¦+Þ M‘Þ –“Þ’(½”Þ‚(—Þ( Ÿ˜Þ;(”šÞ1ïÞ#ñÞb(fóÞ‚õÞ'öÞ+4¡ f£ ž¥’(¶¦‚(©( —ª;(Œ¬J;b(~‚5G+¸´N õ¶N @¹N’(\ºN‚(¯¼N( 1¾N;(&ÀNÓOÅOb(lO‚O1O+6 -†÷† 
-†‚׆;õ† l!†b²$†‚U&†d'†+dž Ɇ ψ’(ã̆‚(<φ( ØІ;(ӆ¸(‡ -+‡b(ž,‡‚c.‡r/‡+­%¾;P(¾+ZÚ¾ ›Ü¾ ÙÞ¾’(ðß¾‚(Câ¾( Þã¾;(äå¾²:¿®<¿b(ã>¿‚˜@¿´A¿+Àìö ïö Eñö’(Vòö‚(¶ôö( 7öö;(*øöÖL÷ÇN÷b(
-Q÷‚ÁR÷ÐS÷+D/ r/ ¦/ ’(¾/ ‚(/ (   / ;(‘ / )`/ b/ b(^d/ ‚f/ !g/ +,g mg ´g ’(¿g ‚(g ( “g ;(•g >rg 4tg b(Ûug ‚“wg ¢xg +lž Ònž Ùpž ‚šsž ;¹vž '€ž bxƒž ‚…ž *†ž +á%Ÿ >(Ÿ ƒ*Ÿ ’(­+Ÿ ‚( .Ÿ ( ®/Ÿ ;(Ù1Ÿ v‡Ÿ »‰Ÿ b(>‹Ÿ ‚ýŒŸ  ŽŸ +f„Ö ; ‡Ö +9× X;× =× ’(§>× ‚(A× ( ¢B× ;(§D× §™× Ë›× b(ž× ‚ºŸ× Ö × +kJ! ˜L! ùN!’( P!‚(ÇR!( YT!;(NV!Ī!ݬ!b( ¯!‚Ò°!á±!+]^G! `G! ÔbG!’(øcG!‚(WfG!( ØgG!;(ËiG!7¾G!(ÀG!b(kÂG!‚"ÄG!/ÅG!+:p! wr! Ât!’(Þu!‚(1x!( ³y!;(¨{!Ð!Ò!b(·Ó!‚iÕ!xÖ!+òɶ!¯Ì¶! Âζ!‚šÑ¶!;¶Ô¶! %Þ¶!bká¶!‚ã¶!*ä¶!+߃·! @†·! —ˆ·!’(«‰·!‚(Œ·!( ¤·!;(я·!cå·!¸ç·!b(;é·!‚ë·!ì·!+Xâî!;ûäî!+—ï! F™ï! „›ï!’(›œï!‚(îžï!( ‰ ï!;(¢ï!A÷ï!@ùï!b(uûï!‚*ýï!Fþï!+U©'" –«'" Ú­'"’(ë®'"‚(K±'"( ̲'";(¿´'") (" ("b(] -("‚("#("+ž¼_" ̾_" Á_"’(Â_"‚(xÄ_"( ùÅ_";(êÇ_"P`"B`"b(… `"‚;"`"H#`"+SΗ" ”З" Ûҗ"’(æӗ"‚(9֗"( º×—";(¼Ù—"D.˜":0˜"b(á1˜"‚™3˜"¨4˜"+(Ï"Ü*Ï" è,Ï"‚©/Ï";Ê2Ï" 3<Ï"by?Ï"‚AÏ"+BÏ"+òáÏ" OäÏ" •æÏ"’(¿çÏ"‚(êÏ"( ¿ëÏ";(åíÏ"KCÐ"EÐ"b(GÐ"‚ÒHÐ"áIÐ"+:@#;ÝB#+çô# ,÷# où#’(”ú#‚(çü#( ‚þ#;(|#OU#SW#b(ˆY#‚B[#T\#+c@#   @# é @#’( -@#‚(p@#( ò@#;(ã@#yg@#ki@#b(®k@#‚[m@#jn@#+|x# ®x# æx#’(þx#‚(]!x#( ä"x#;(Õ$x#yx#~{x#b(Á}x#‚xx#…€x#+û,°# 8/°# ƒ1°#’(Ÿ2°#‚(ò4°#( t6°#;(i8°#!°#°#b(º°#‚l’°#{“°#+„…ç#Aˆç# TŠç#‚!ç#;=ç# ²™ç#bøœç#‚›žç#ªŸç#+f?è# ÇAè# Dè#’(2Eè#‚(‹Gè#( 'Iè#;(TKè#^¡è#³£è#b(D¥è#‚ §è#¨è#+Sž$;ö $+S $ AU $ W $’(–X $‚(éZ $( „\ $;(Š^ $X³ $Tµ $b(‰· $‚>¹ $Zº $+feX$ §gX$ ëiX$’(üjX$‚(\mX$( ÝnX$;(ÐpX$|ÅX$mÇX$b(°ÉX$‚gËX$zÌX$+w$ ­y$ á{$’(ù|$‚(Z$( ۀ$;(̂$dא$Vِ$b(™Û$‚Oݐ$\ސ$+ҊÈ$ È$ ZÈ$’(eÈ$‚(¸’È$( 9”È$;(;–È$ÓêÈ$ÉìÈ$b(pîÈ$‚(ðÈ$7ñÈ$+«äÿ$hçÿ$ oéÿ$‚:ìÿ$;Yïÿ$ Âøÿ$büÿ$‚«ýÿ$ºþÿ$+% eŸ% «¡%’(Õ¢%‚(4¥%( Õ¦%;(Þ¨%uþ%º%b(=%‚ü% %+Õü7%;xÿ7%+°8% V²8% ™´8%’(¾µ8%‚(¸8%( ¬¹8%;(¦»8%¼9%½9%b(ò9%‚¬9%¹9%+ÏÂp%  Åp% UÇp%’(|Èp%‚(ÜÊp%( ^Ìp%;(OÎp%ë"q%Ý$q%b( 'q%‚Ò(q%á)q%+YÖ¨% ‹Ø¨% ÃÚ¨%’(ÛÛ¨%‚(:Þ¨%( ¼ß¨%;(±á¨%^6©%O8©%b(’:©%‚I<©%V=©%+aèà% žêà% éìà%’(îà%‚(Xðà%( Úñà%;(Ëóà%rHá%dJá%b( Lá%‚½Má%ÌNá%+EB&E& G&‚âI&;þL& hV&b®Y&‚Q[&`\&+'ü& ˆþ& ß&’(ö&‚(O&( ë&;(&ß]&5`&b(Æa&‚‹c&šd&+ØZP&;{]P&+Q& UQ& “Q&’(ªQ&‚(ýQ&( ˜Q&;(žQ&lnQ&hpQ&b(rQ&‚RtQ&nuQ&+å!‰& &$‰& j&‰&’({'‰&‚(Û)‰&( \+‰&;(O-‰&끉&܃‰&b(†‰&‚և‰&刉&+î3Á& 6Á& P8Á&’(h9Á&‚(É;Á&( J=Á&;(;?Á&ғÁ&ĕÁ&b(˜Á&‚½™Á&ʚÁ&+@Gù& Iù& ÈKù&’(ÓLù&‚(&Où&( §Pù&;(©Rù&c§ù&Y©ù&b(«ù&‚¸¬ù&Ç­ù&+ʟ0'‹¢0' —¤0'‚X§0';wª0' ͳ0'b·0'‚°¸0'¿¹0'+¡Y1' þ[1' D^1'’(n_1'‚(Ía1'( nc1';(”e1'3»1'p½1'b(ó¾1'‚²À1'ÁÁ1'+¸h';½ºh'+Çli' oi' Uqi'’(zri'‚(Íti'( hvi';(bxi'[Íi'_Ïi'b(”Ñi'‚NÓi'[Ôi'+o¡' ¬¡' õƒ¡'’(…¡'‚(|‡¡'( þˆ¡';('•ß¡'‰á¡'b(Ìã¡'‚yå¡'ˆæ¡'+ž‘Ù' ГÙ' –Ù'’( —Ù'‚(™Ù'( ›Ù';(òœÙ'©ñÙ'šóÙ'b(ÝõÙ'‚”÷Ù'¡øÙ'+¥( T§( Ÿ©(’(»ª(‚(­(( ®(;(°((((b(Á(‚s
-(‚ (+‹ýH(HI( `I(‚-I(;II( ¹I(bÿI(‚¢I(±I(+r·I( Ó¹I( *¼I(’(>½I(‚(—¿I(( 3ÁI(;(`ÃI($J(J(b(J(‚×J(æJ(+(;À(+Êʁ(  ́( Iρ(’(`Ё(‚(³Ò(( Nԁ(;(Tց("+‚(-‚(b(S/‚(‚1‚($2‚(+0ݹ( qß¹( µá¹(’(Æâ¹(‚(&å¹(( §æ¹(;(šè¹(F=º(7?º(b(zAº(‚1Cº(@Dº(+´ðñ( âòñ( õñ(’(.öñ(‚(øñ(( úñ(;(üñ(™Pò(‹Rò(b(ÎTò(‚„Vò(‘Wò(+œ*) Ý*) $*)’(/*)‚(‚
-*)(  *);(*)b*)“d*)b(:f*)‚òg*)i*)+u\a)2_a) >aa)‚ da);(ga) ’pa)bØsa)‚{ua)Šva)+Qb) ¥b) ëb)’(b)‚(tb)(  b);("b)¼wb)ÿyb)b(‚{b)‚A}b)P~b)+ªt™);Mw™)+æ'š) +*š) n,š)’(“-š)‚(æ/š)( 1š);({3š)‘ˆš)’Šš)b(njš)‚Žš)Žš)+¤:Ò) á<Ò) *?Ò)’(Q@Ò)‚(±BÒ)( 3DÒ);($FÒ)ÀšÒ)²œÒ)b(õžÒ)‚§ Ò)¶¡Ò)+.N
-* `P
-* ˜R
-*’(°S
-*‚(V
-*( ‘W
-*;(†Y
-*3®
-*$°
-*b(g²
-*‚´
-*+µ
-*+¡aB* ÞcB* )fB*’(EgB*‚(˜iB*( kB*;( mB*·ÁB*©ÃB*b(PÅB*‚ÇB*ÈB*+ºy*Û¼y* ó¾y*‚ÇÁy*;ãÄy* NÎy*b”Ñy*‚7Óy*FÔy*+ -tz* nvz* Åxz*’(Ùyz*‚(2|z*( Î}z*;(úz*ÄÕz*Øz*b(ªÙz*‚oÛz*~Üz*+½Ò±*;`Õ±*+ú…²* ;ˆ²* yŠ²*’(‹²*‚(㍲*( ~²*;(„‘²*Qæ²*Pè²*b(…ê²*‚:ì²*Ví²*+Йê* œê* Užê*’(fŸê*‚(Æ¡ê*( G£ê*;(:¥ê*Öùê*Çûê*b(
-þê*‚Áÿê*Ðë*+Ù«"+ ®"+ ;°"+’(S±"+‚(´³"+( 5µ"+;(&·"+à #+µ -#+b(ø#+‚®#+»#++1¿Z+ rÁZ+ ¹ÃZ+’(ÄÄZ+‚(ÇZ+( ˜ÈZ+;(šÊZ+S[+O![+b(ö"[+‚®$[+½%[++À’+}’+ ‰’+‚J’+;i"’+ ×+’+b/’+‚À0’+Ï1’++‘Ñ’+ îӒ+ 4֒+’(^ג+‚(½Ù’+( ^ے+;(sݒ+3“+[5“+b(Þ6“+‚8“+¬9“++0Ê+;¨2Ê++²äÊ+ ÷æÊ+ :éÊ+’(_êÊ+‚(²ìÊ+( MîÊ+;(GðÊ+AEË+EGË+b(zIË+‚4KË+ALË++Z÷, —ù, àû,’(ý,‚(gÿ,( é,;(Ú,pW,bY,b(¥[,‚R],a^,+Þ
-;,  -;, H;,’(`;,‚(¿;,( @;,;(1;,éj;,Úl;,b(o;,‚Ôp;,áq;,+ìs, )s, t!s,’("s,‚(ã$s,( e&s,;(V(s,ý|s,ï~s,b(–€s,‚J‚s,Yƒs,+Ðvª,yª, ¥{ª,‚|~ª,;šª, ‹ª,bJŽª,‚폪,üª,+R/«, ³1«, 
-4«,’(5«,‚(w7«,( 9«,;(?;«,ÿ«,U“«,b(攫,‚«–«,º—«,+hâ,; ’â,+¥Bã, æDã, $Gã,’(;Hã,‚(ŽJã,( )Lã,;(/Nã,ü¢ã,û¤ã,b(0§ã,‚å¨ã,ªã,+U- QW- •Y-’(¦Z-‚(]-( ‡^-;(z`-&µ-·-b(Z¹-‚»- ¼-+”hS- ÂjS- ölS-’(nS-‚(opS-( ðqS-;(ásS-yÈS-kÊS-b(®ÌS-‚dÎS-qÏS-+|z‹- ½|‹- ‹-’(€‹-‚(b‚‹-( ニ-;(克-}ڋ-s܋-b(ދ-‚Òߋ-áà‹-+UÔÂ-×Â- )ÙÂ-‚êÛÂ-; ßÂ- rèÂ-b¸ëÂ-‚[íÂ-jîÂ-+1ŽÃ- …Ã- ˒Ã-’(õ“Ã-‚(T–Ã-( õ—Ã-;(ø™Ã-¡ïÃ-åñÃ-b(hóÃ-‚'õÃ-6öÃ-+ìú-;2ïú-+<¡û- £û- Ä¥û-’(é¦û-‚(<©û-( תû-;(Ò¬û-çü-èü-b(ü-‚×ü-óü-+ú³3. 7¶3. ‹¸3.’(²¹3.‚(¼3.( ”½3.;(…¿3.!4.4.b(V4.‚4.4.+$Æk. VÈk. ŽÊk.’(¦Ëk.‚(Îk.( ‡Ïk.;(|Ñk.)&l.(l.b(]*l.‚,l.!-l.+—Ù£. ÔÛ£. Þ£.’(;ߣ.‚(Žá£.( ã£.;(å£.¨9¤.š;¤.b(A=¤.‚ó>¤.@¤.+ 2Û.É4Û. á6Û.‚¯9Û.;Ï<Û. 9FÛ.bIÛ.‚"KÛ.1LÛ.+øëÛ. YîÛ. °ðÛ.’(ÄñÛ.‚(ôÛ.( ¹õÛ.;(å÷Û.ŸMÜ.õOÜ.b(xQÜ.‚=SÜ.LTÜ.+˜J/;;M/+Eÿ/ †/ Ä/’(Û/‚(./( É/;(Ï
-/¹_/¼a/b(ñc/‚¦e/Âf/+ÑL/ L/ VL/’(gL/‚(ÍL/( NL/;(?L/ÜqL/ÍsL/b(vL/‚ÇwL/ÖxL/+ß#„/  -&„/ A(„/’(Y)„/‚(º+„/( ;-„/;(,/„/ԃ„/ƅ„/b( ˆ„/‚¿‰„/̊„/+B7¼/ ƒ9¼/ Ê;¼/’(Õ<¼/‚((?¼/( ©@¼/;(«B¼/T—¼/J™¼/b(ñš¼/‚©œ¼/¸¼/+»ó/x’ó/ „”ó/‚E—ó/;dšó/ Ø£ó/b§ó/‚Á¨ó/Щó/+Iô/ áKô/ 'Nô/’(QOô/‚(°Qô/( QSô/;(TUô/ýªô/@­ô/b(îô/‚‚°ô/‘±ô/+ë§+0;Žª+0+˜\,0 Ý^,0  a,0’(Eb,0‚(˜d,0( 3f,0;(-h,0-½,0.¿,0b(cÁ,0‚!Ã,0.Ä,0+@od0 }qd0 Æsd0’(ítd0‚(Mwd0( Ïxd0;(Äzd0aÏd0SÑd0b(–Ód0‚HÕd0WÖd0+ςœ0 …œ0 9‡œ0’(Qˆœ0‚(°Šœ0( 2Œœ0;('Žœ0åâœ0Öäœ0b(çœ0‚Ðèœ0Ýéœ0+è”Ô0 %—Ô0 p™Ô0’(ŒšÔ0‚(ߜÔ0( ažÔ0;(V Ô0þôÔ0ðöÔ0b(—øÔ0‚IúÔ0XûÔ0+Ñî 1Žñ 1 ¦ó 1‚}ö 1;›ù 1 … 1bË 1‚n 1} 1+S§ 1 ´© 1  ¬ 1’(­ 1‚(x¯ 1( ± 1;(@³ 1õ -1K -1b(Ü -1‚¡ -1° -1+^D1;
-D1+›ºD1 ܼD1 ¿D1’(1ÀD1‚(„ÂD1( ÄD1;(%ÆD1òE1ñE1b(&E1‚Û E1÷!E1+Í|1 GÏ|1 ‹Ñ|1’(œÒ|1‚(üÔ|1( }Ö|1;(pØ|1-}1 -/}1b(P1}1‚3}14}1+Šà´1 ¸â´1 ìä´1’(æ´1‚(eè´1( æé´1;(×ë´1o@µ1aBµ1b(¤Dµ1‚ZFµ1gGµ1+ròì1 ³ôì1 úöì1’(øì1‚(Xúì1( Ùûì1;(Ûýì1„Rí1zTí1b(!Ví1‚ÙWí1èXí1+[L$2O$2 &Q$2‚çS$2;
-W$2 m`$2b³c$2‚Ze$2kf$2+2%2 ‘%2  %2’(H %2‚(§%2( H%2;([%2úg%2>j%2b(Ák%2‚€m%2n%2+èd\2;‹g\2+%]2 j]2 ­]2’(Ò]2‚(% ]2( À!]2;(º#]2Éx]2Íz]2b(}]2‚¼~]2É]2+Ý*•2 -•2 c/•2’(Š0•2‚(ê2•2( l4•2;(]6•2óŠ•2匕2b((•2‚Ր•2䑕2+a>Í2 “@Í2 ËBÍ2’(ãCÍ2‚(BFÍ2( ÄGÍ2;(µIÍ2\žÍ2M Í2b(¢Í2‚G¤Í2T¥Í2+ÊQ3 T3 RV3’(nW3‚(ÁY3( C[3;(8]3å±3׳3b(~µ3‚0·3?¸3+Hª<3 ­<3 !¯<3‚õ±<3;µ<3 |¾<3bÂÁ<3‚eÃ<3tÄ<3+;d=3 œf=3 óh=3’(j=3‚(`l=3( üm=3;((p=3Æ=3]È=3b(îÉ=3‚³Ë=3ÂÌ=3+Ãt3;¤Åt3+>vu3 xu3 ½zu3’(Ô{u3‚('~u3( Âu3;(ȁu3•Öu3”Øu3b(ÉÚu3‚~Üu3šÝu3+Š­3 UŒ­3 ™Ž­3’(ª­3‚(
-’­3( ‹“­3;(~•­3ê­3 ì­3b(Nî­3‚ð­3ñ­3+œå3 Kžå3  å3’(—¡å3‚(ø£å3( y¥å3;(j§å3üå3óýå3b(6æ3‚ìæ3ùæ3+o¯4 °±4 ÷³4’(µ4‚(U·4( Ö¸4;(غ44w4b(4‚Ö4å4+èU4¥
-U4 ± U4‚rU4;‘U4 U4bKU4‚î U4ý!U4+ºÁU4 ÄU4 TÆU4’(~ÇU4‚(ÝÉU4( ~ËU4;(…ÍU4*#V4m%V4b(ð&V4‚¯(V4¾)V4+ 4;»"4+Åԍ4 
-׍4 Mٍ4’(rڍ4‚(Å܍4( `ލ4;(Zà4Z5Ž4[7Ž4b(9Ž4‚J;Ž4W<Ž4+mçÅ4 ªéÅ4 óëÅ4’(íÅ4‚(zïÅ4( üðÅ4;(ñòÅ4ŽGÆ4€IÆ4b(ÃKÆ4‚uMÆ4„NÆ4+üúý4 .ýý4 fÿý4’(~þ4‚(Ýþ4( _þ4;(Tþ4[þ4]þ4b(F_þ4‚ý`þ4
-bþ4+ -65 R65 65’(¹65‚( 65( Ž65;(ƒ65+m65o65b(Äp65‚vr65…s65+þfm5»im5 Ókm5‚ªnm5;Èqm5 /|m5bum5‚m5'‚m5+€n5 á!n5 8$n5’(L%n5‚(¥'n5( A)n5;(n+n5"n5xƒn5b( …n5‚Άn5݇n5+‹¥5;.‚¥5+È2¦5  5¦5 G7¦5’(^8¦5‚(±:¦5( L<¦5;(R>¦5“¦5•¦5b(S—¦5‚™¦5$š¦5+3EÞ5 tGÞ5 ¸IÞ5’(ÉJÞ5‚()MÞ5( ªNÞ5;(PÞ5I¥Þ5:§Þ5b(}©Þ5‚4«Þ5C¬Þ5+·X6 åZ6 ]6’(1^6‚(’`6( b6;(d6œ¸6Žº6b(Ѽ6‚‡¾6”¿6+ŸjN6 àlN6 'oN6’(2pN6‚(…rN6( tN6;(vN6±ÊN6§ÌN6b(NÎN6‚ÐN6ÑN6+ˆÄ…6IDž6 UɅ6‚̅6;7υ6 šØ…6bëۅ6‚ŽÝ…6Þ…6+_~†6 ¼€†6 ƒ†6’(+„†6‚(Š††6( ,ˆ†6;(WŠ†6ö߆69â†6b(¼ã†6‚{å†6Šæ†6+äܽ6;‡ß½6+‘‘¾6 ֓¾6 –¾6’(%—¾6‚(ƒ™¾6(  ›¾6;(%¾6*ò¾6Oô¾6b(„ö¾6‚>ø¾6Zù¾6+_¤ö6 Œ¦ö6 í¨ö6’(ªö6‚(»¬ö6( M®ö6;(B°ö6Ã÷6Ü÷6b( ÷6‚Ñ
-÷6à ÷6+ñ¶.7 #¹.7 h».7’(Œ¼.7‚(ë¾.7( lÀ.7;(_Â.7Ë/7¼/7b(ÿ/7‚¶/7Ã/7+ÎÈf7  Ëf7 VÍf7’(rÎf7‚(ÅÐf7( GÒf7;(<Ôf7Ã(g7µ*g7b(\,g7‚.g7/g7+–"ž7S%ž7 k'ž7‚8*ž7;T-ž7 Ï6ž7b:ž7‚Å;ž7Ô<ž7+~ܞ7 ßޞ7 6áž7’(Jâž7‚(£äž7( Cæž7;(pèž7 >Ÿ7^@Ÿ7b(áAŸ7‚¦CŸ7µDŸ7+;Ö7;¥=Ö7+?îÖ7 €ðÖ7 ¾òÖ7’(ÕóÖ7‚((öÖ7( Ã÷Ö7;(ÉùÖ7{N×7wP×7b(¬R×7‚aT×7}U×7+ô8 58 y8’(Š8‚(ê 8( k 8;(^ -8Èa8¹c8b(f8‚·g8Æh8+ÑG8 ÿG8 3G8’(KG8‚(¬G8( -G8;(G8„sG8vuG8b(¹wG8‚oyG8|zG8+ò&8 3)8 z+8’(…,8‚(Ø.8( Y08;([28ã†8و8b(€Š8‚8Œ8G8+º€¶8wƒ¶8 ƒ…¶8‚Nˆ¶8;m‹¶8 ה¶8b˜¶8‚À™¶8Ϛ¶8+—:·8 ô<·8 :?·8’(d@·8‚(ÃB·8( dD·8;(ŠF·8ü›·8?ž·8b(Ÿ·8‚¡·8¢·8+ê˜î8;›î8+—Mï8 ÜOï8 Rï8’(DSï8‚(—Uï8( 2Wï8;(,Yï8ù­ï8ý¯ï8b(2²ï8‚ì³ï8ù´ï8+ -`'9 Jb'9 “d'9’(ºe'9‚(h'9( œi'9;(k'9#À'9Â'9b(XÄ'9‚Æ'9Ç'9+&r_9 Xt_9 v_9’(¨w_9‚(z_9( ‰{_9;(z}_91Ò_9"Ô_9b(eÖ_9‚Ø_9)Ù_9+Ÿ…—9 ܇—9 'Š—9’(C‹—9‚(–—9( —9;( ‘—9°å—9¢ç—9b(Ié—9‚ûê—9
-ì—9+ÞÎ9ÐàÎ9 èâÎ9‚µåÎ9;ÑèÎ9 ¬òÎ9bòõÎ9‚•÷Î9¤øÎ9+ú—Ï9 [šÏ9 «œÏ9’(¿Ï9‚( Ï9( ´¡Ï9;(á£Ï9¡ùÏ9öûÏ9b(‡ýÏ9‚LÿÏ9[Ð9+£ö:;Hù:+R«: “­: ѯ:’(è°:‚(;³:( Ö´:;(ܶ:ª :¦ -:b(Û:‚:¬:+¸½?: ù¿?: =Â?:’(NÃ?:‚(®Å?:( /Ç?:;("É?:Î@:¿@:b("@:‚¹#@:È$@:+<Ñw: jÓw: žÕw:’(¶Öw:‚(Ùw:( ˜Úw:;(‰Üw:!1x:3x:b(V5x:‚ 7x:8x:+$ã¯: eå¯: ¬ç¯:’(·è¯:‚(
-ë¯:( ‹ì¯:;(î¯:%C°:E°:b(ÂF°:‚zH°:‰I°:+ý<ç:¾?ç: ÊAç:‚‹Dç:;ªGç: Qç:bZTç:‚ýUç: Wç:+Ôöç: (ùç: nûç:’(˜üç:‚(÷þç:( ˜è:;(Ÿè:7Xè:|Zè:b(ÿ[è:‚¾]è:Í^è:+'U;;ÊW;+c ; ¨
- ; ë ;’( ;‚(i ;(  ;;(þ ;i ;k ;b(Jm ;‚o ;p ;+'X; dX; ­X;’(Ô X;‚(4#X;( ¶$X;;(«&X;S{X;E}X;b(ˆX;‚:X;I‚X;+Á.; ó0; +3;’(C4;‚(¢6;( $8;;(:;Ǝ;·;b(ú’;‚±”;¾•;+É@È; CÈ; QEÈ;’(mFÈ;‚(ÀHÈ;( BJÈ;;(3LÈ;Ú È;Ì¢È;b(s¤È;‚%¦È;4§È;+­šÿ;jÿ; }Ÿÿ;‚J¢ÿ;;f¥ÿ; Û®ÿ;b!²ÿ;‚ijÿ;Ó´ÿ;+T< ðV< GY<’([Z<‚(´\<( P^<;(}`<@¶<•¸<b(&º<‚ë»<þ¼<+5³7<;ص7<+qf8< ²h8< ðj8<’(l8<‚(Zn8<( õo8<;(ûq8<ÉÆ8<ÅÈ8<b(úÊ8<‚¯Ì8<ËÍ8<+Bzp< ƒ|p< Ç~p<’(Øp<‚(8‚p<( ¹ƒp<;(¬…p<HÚp<9Üp<b(|Þp<‚3àp<Báp<+KŒ¨< yŽ¨< ­¨<’(ő¨<‚(&”¨<( §•¨<;(˜—¨</ì¨<!î¨<b(dð¨<‚ò¨<'ó¨<+Ÿà< Þ¡à< %¤à<’(0¥à<‚(ƒ§à<( ©à<;(«à<Àÿà<¶á<b(]á<‚á<$á<+'ø=äú= ëü=‚¶ÿ=;Õ= 9 =b=‚"=1=+þ±= [´= ¡¶=’(Ë·=‚(*º=( Ë»=;(ñ½=“=Ø=b([=‚=J=+‚P=;%P=+/ÅP= tÇP= ·ÉP=’(ÜÊP=‚(/ÍP=( ÊÎP=;(ÄÐP=¾%Q=Â'Q=b(÷)Q=‚±+Q=¾,Q=+×׈= ڈ= ]܈=’(„݈=‚(ä߈=( fáˆ=;(Wãˆ=í7‰=ß9‰=b("<‰=‚Ï=‰=Þ>‰=+ðéÀ= "ìÀ= ZîÀ=’(rïÀ=‚(ÑñÀ=( SóÀ=;(DõÀ=ûIÁ=ìKÁ=b(/NÁ=‚æOÁ=óPÁ=+iýø= ¦ÿø= ñù=’( -ù=‚(`ù=( ãù=;(Øù=]ù=q_ù=b(aù=‚Êbù=Ùcù=+âU0>£X0> »Z0>‚]0>;«`0> j0>b\m0>‚ÿn0>p0>+Õ1> 61> 1>’(¡1>‚(ú1>( –1>;(Ç1>€q1>Õs1>b(fu1>‚+w1>:x1>+unh>;qh>+"#i> c%i> ¡'i>’(¸(i>‚( +i>( ¦,i>;(¬.i>yƒi>x…i>b(­‡i>‚b‰i>~Ši>+5¡> Î7¡> :¡>’(#;¡>‚(ƒ=¡>( ?¡>;(÷@¡>£•¡>”—¡>b(י¡>‚Ž›¡>œ¡>+IÙ> ?KÙ> sMÙ>’(‹NÙ>‚(ìPÙ>( mRÙ>;(^TÙ>û¨Ù>íªÙ>b(0­Ù>‚æ®Ù>ó¯Ù>+þZ? ?]? †_?’(‘`?‚(äb?( ed?;(gf?»?ö¼?b(¾?‚VÀ?eÁ?+×´H?”·H? ›¹H?‚\¼H?;{¿H? ïÈH?b5ÌH?‚ØÍH?çÎH?+£nI? ÷pI? =sI?’(gtI?‚(ÆvI?( gxI?;(pzI?"ÐI?gÒI?b(êÓI?‚©ÕI?¸ÖI?+̀?;µÏ€?+¿? „? G†?’(l‡?‚(¿‰?( Z‹?;(T?jâ?kä?b( æ?‚Zè?gé?+}”¹? º–¹? ™¹?’(*š¹?‚(Šœ¹?(  ž¹?;( ¹?žô¹?ö¹?b(Óø¹?‚…ú¹?”û¹?+¡¦ñ? Ó¨ñ?  «ñ?’(#¬ñ?‚(‚®ñ?( °ñ?;(ù±ñ?¦ò?—ò?b(Ú
-ò?‚‘ ò?ž -ò?+º)@ Q¼)@ œ¾)@’(¸¿)@‚( Â)@( Ã)@;(~Å)@%*@*@b(¾*@‚p*@ *@+ˆa@Ea@ Xa@‚0a@;La@ ¶&a@bü)a@‚Ÿ+a@®,a@+uÌa@ ÖÎa@ -Ña@’(AÒa@‚(šÔa@( 6Öa@;(gØa@+.b@€0b@b(2b@‚Ö3b@å4b@+ +™@;Ã-™@+Íߙ@ â™@ Lä™@’(cå™@‚(¶ç™@( Qé™@;(Wë™@$@š@#Bš@b(XDš@‚ -Fš@)Gš@+8òÑ@ yôÑ@ ½öÑ@’(Î÷Ñ@‚(.úÑ@( ¯ûÑ@;(¢ýÑ@>RÒ@/TÒ@b(rVÒ@‚)XÒ@8YÒ@+A
-A o
-A £
-A’(»
-A‚(
-A( 
-A;(Ž
-A%d
-Af
-Ab(Zh
-A‚j
-Ak
-A+“BA ÔBA BA’(&BA‚(yBA( ú BA;(ü"BA¶wBA¬yBAb(S{BA‚ }BA~BA+pyAÚryA átyA‚¢wyA;ÅzyA )„yAbo‡yA‚‰yA!ŠyA+î)zA K,zA ‘.zA’(»/zA‚(2zA( »3zA;(á5zAƒ‹zAȍzAb(KzA‚
-‘zA’zA+sˆ±A;‹±A+ =²A e?²A ¨A²A’(ÍB²A‚( E²A( »F²A;(µH²A®²A²Ÿ²Ab(硲A‚¡£²A®¤²A+ÂOêA ÿQêA HTêA’(oUêA‚(ÏWêA( QYêA;(B[êAدêAʱêAb( -´êA‚ºµêAɶêA+Fc"B xe"B °g"B’(Èh"B‚('k"B( ©l"B;(šn"BQÃ"BBÅ"Bb(…Ç"B‚<É"BIÊ"B+TuZB ‘wZB ÜyZB’(øzZB‚(K}ZB( Í~ZB;(¾€ZBeÕZBW×ZBb(þØZB‚°ÚZB¿ÛZB+8ϑBõёB  -ԑB‚Ú֑B;öّB nã‘Bb´æ‘B‚Wè‘Bfé‘B+¯‡’B Š’B gŒ’B’({’B‚(ԏ’B( p‘’B;(“’BZé’B¯ë’Bb(@í’B‚ï’Bð’B+ÀçÉB;cêÉB+üšÊB =ÊB {ŸÊB’(’ ÊB‚(å¢ÊB( €¤ÊB;(†¦ÊBYûÊBXýÊBb(ÿÊB‚BËB^ËB+m­C ®¯C ò±C’(³C‚(cµC( ä¶C;(Û¸C‰ -CzCb(½C‚tCƒC+÷À:C %Ã:C YÅ:C’(qÆ:C‚(ÒÈ:C( SÊ:C;(DÌ:Cì ;CÞ";Cb(!%;C‚×&;Cä';C+ïÒrC 0ÕrC w×rC’(‚ØrC‚(ÕÚrC( VÜrC;(XÞrCð2sCæ4sCb(6sC‚E8sCT9sC+È,ªC…/ªC Œ1ªC‚M4ªC;p7ªC å@ªCb+DªC‚ÎEªCÝFªC+™æªC íèªC 3ëªC’(]ìªC‚(¼îªC( ]ðªC;(fòªCýG«CBJ«Cb(ÅK«C‚„M«C“N«C+ìDâC;GâC+™ùâC ÞûâC !þâC’(FÿâC‚(™ãC( 4ãC;(.ãCDZãCE\ãCb(z^ãC‚4`ãCAaãC+W D ”D ÝD’(D‚(dD( æD;(×DslDenDb(¨pD‚ZrDisD+vSD ¨ SD à"SD’(ø#SD‚(W&SD( Ù'SD;(Î)SD{~SDl€SDb(¯‚SD‚f„SDs…SD+é1‹D &4‹D q6‹D’(7‹D‚(à9‹D( b;‹D;(S=‹Dú‘‹D쓋Db(“•‹D‚E—‹DT˜‹D+]ŠÂDÂD -ÂD‚’ÂD;!•ÂD ‹žÂDbÑ¡ÂD‚t£ÂDƒ¤ÂD+JDÃD «FÃD IÃD’(JÃD‚(oLÃD(  NÃD;(<PÃD¦ÃDU¨ÃDb(æ©ÃD‚««ÃDº¬ÃD+õ¢úD;˜¥úD+¢WûD ãYûD !\ûD’(8]ûD‚(‹_ûD( &aûD;(,cûDù·ûDø¹ûDb(-¼ûD‚â½ûDþ¾ûD+ -j3E Nl3E ’n3E’(£o3E‚(r3E( „s3E;(wu3EÊ3EÌ3Eb(GÎ3E‚þÏ3E -Ñ3E+}kE ¯kE ãkE’(û‚kE‚(\…kE( ݆kE;(ΈkEeÝkEWßkEb(šákE‚PãkE]äkE+h£E ©‘£E ð“£E’(û”£E‚(N—£E( Ϙ£E;(њ£E‹ï£Eñ£Eb((ó£E‚àô£Eïõ£E+béÚEìÚE +îÚE‚ìðÚE; ôÚE oýÚEbµÛE‚XÛEgÛE+áÛE  ¤ÛE f¦ÛE’(§ÛE‚(ï©ÛE( «ÛE;(¶­ÛEXÜEÜEb( ÜE‚ßÜEî ÜE+¸F;[F+õ´F :·F }¹F’(¢ºF‚(õ¼F( ¾F;(ŠÀFƒF‡Fb(¼F‚vFƒF+—ÇKF ÔÉKF ÌKF’(DÍKF‚(¤ÏKF( &ÑKF;(ÓKF­'LFŸ)LFb(â+LF‚-LFž.LF+ۃF M݃F …߃F’(àƒF‚(üâƒF( ~äƒF;(oæƒF&;„F=„Fb(Z?„F‚A„FB„F+)í»F fï»F ±ñ»F’(Íò»F‚( õ»F( ¢ö»F;(“ø»F?M¼F1O¼Fb(ØP¼F‚ŠR¼F™S¼F+GóFÐIóF ãKóF‚±NóF;ÑQóF ;[óFb^óF‚$`óF3aóF+úôF [ôF ²ôF’(ÆôF‚(% ôF( Á
-ôF;(ò ôF°bôFeôFb(–fôF‚[hôFjiôF+¥_+G;Hb+G+â,G #,G a,G’(x,G‚(Ë,G( f,G;(l,GJs,GFu,Gb({w,G‚0y,GLz,G+Ã&dG )dG H+dG’(Y,dG‚(¹.dG( :0dG;(-2dGنdGʈdGb( -‹dG‚ČdGӍdG+Ü8œG 
-;œG >=œG’(V>œG‚(·@œG( 8BœG;()DœGÁ˜œG³šœGb(öœœG‚¬žœG¹ŸœG+/LÔG pNÔG ·PÔG’(ÂQÔG‚(TÔG( ˜UÔG;(˜WÔG0¬ÔG&®ÔGb(ͯÔG‚…±ÔG”²ÔG+—¤ HT§ H [© H‚¬ H;;¯ H ¯¸ Hbõ» H‚˜½ H§¾ H+c^ H ·` H ýb H’('d H‚(†f H( 'h H;(0j HÌ¿ H Hb(”à H‚SÅ HbÆ H+¼¼CH;_¿CH+iqDH ®sDH ñuDH’(wDH‚(iyDH( {DH;(þ|DHÒDHÔDHb(JÖDH‚ØDHÙDH+'„|H d†|H ­ˆ|H’(ԉ|H‚(4Œ|H( ¶|H;(«|HHä|H:æ|Hb(}è|H‚/ê|H>ë|H+K–´H }˜´H µš´H’(͛´H‚(,ž´H( ®Ÿ´H;(£¡´HPö´HAø´Hb(„ú´H‚;ü´HHý´H+¾©ìH û«ìH F®ìH’(b¯ìH‚(µ±ìH( 7³ìH;((µìHÏ íHÁ íHb(h -íH‚íH)íH+2$Iï$I $I‚Ú $I;ö $I `$Ib¦$I‚I$IX$I+¼$I €¾$I ×À$I’(ëÁ$I‚(DÄ$I( àÅ$I;(È$IÕ%I* %Ib(»!%I‚€#%I$%I+Ê\I;m\I+wÏ\I ¸Ñ\I öÓ\I’( -Õ\I‚(`×\I( ûØ\I;(Û\IÎ/]IÍ1]Ib(4]I‚·5]IÓ6]I+âá”I #ä”I gæ”I’(xç”I‚(Øé”I( Yë”I;(Lí”IèA•IÙC•Ib(F•I‚ÓG•IâH•I+VõÌI „÷ÌI ¸ùÌI’(ÐúÌI‚(1ýÌI( ²þÌI;(£ÍI:UÍI,WÍIb(oYÍI‚%[ÍI2\ÍI+=J ~ J Å J’(Ð J‚(#J( ¤J;(¦J`gJViJb(ýjJ‚µlJÄmJ+7a<Jôc<J f<J‚Áh<J;àk<J Du<JbŠx<J‚-z<J<{<J+ =J f=J ¬=J’(Ö =J‚(5#=J( Ö$=J;(ü&=Jž|=Jã~=Jb(f€=J‚%‚=J4ƒ=J+ytJ;0|tJ+Ê,uJ /uJ R1uJ’(w2uJ‚(Ê4uJ( e6uJ;(_8uJXuJ\uJb(‘‘uJ‚K“uJ]”uJ+×@­J C­J ]E­J’(„F­J‚(äH­J( fJ­J;(WL­Jò ­J梭Jb()¥­J‚Ö¦­J姭J+ûRåJ -UåJ eWåJ’(}XåJ‚(ÜZåJ( ^\åJ;(O^åJ³åJ÷´åJb(@·åJ‚÷¸åJºåJ+eK LgK —iK’(³jK‚(mK( ˆnK;(}pK%ÅKÇKb(¾ÈK‚pÊKËK+ø¾TKµÁTK ÈÃTK‚•ÆTK;±ÉTK 3ÓTKbyÖTK‚ØTK+ÙTK+ÚxUK ;{UK ‹}UK’(Ÿ~UK‚(ø€UK( ”‚UK;(Á„UKzÚUKÏÜUKb(`ÞUK‚%àUK4áUK+o׌K;ڌK+ŒK ]ŽK ›K’(²‘K‚(”K(  •K;(¦—KtìKpîKb(¥ðK‚ZòKvóK+‚žÅK àÅK £ÅK’(¤ÅK‚(x¦ÅK( ù§ÅK;(ì©ÅK˜þÅK‰ÆKb(ÌÆK‚ƒÆK’ÆK+›°ýK ɲýK ý´ýK’(¶ýK‚(v¸ýK( ÷¹ýK;(è»ýK€þKrþKb(µþK‚kþKxþK+îÃ5L /Æ5L vÈ5L’(É5L‚(ÔË5L( UÍ5L;(WÏ5Lï#6Lå%6Lb(Œ'6L‚D)6LS*6L+VmLmL !mL‚å#mL;'mL ¢1mLbó4mL‚–6mL¥7mL+-ÖmL ØmL ÆÚmL’(ðÛmL‚(OÞmL( ðßmL;( âmL¬7nLñ9nLb(t;nL‚3=nLB>nL+œ4¥L;?7¥L+Ié¥L Žë¥L Æí¥L’(Ýî¥L‚(;ñ¥L( Øò¥L;(Ýô¥LÝI¦LL¦Lb(7N¦L‚ñO¦L -Q¦L+üÝL DþÝL ¥ÞL’(ÌÞL‚(sÞL( ÞL;(úÞLp\ÞL‰^ÞLb(Ì`ÞL‚ybÞLˆcÞL+žM ÐM M’(9M‚(˜M( M;( MxnMipMb(¬rM‚ctMpuM+æ!NM #$NM n&NM’(Š'NM‚(Ý)NM( _+NM;(T-NMʁNM¼ƒNMb(c…NM‚‡NM$ˆNM+ž{…M[~…M n€…M‚>ƒ…M;\†…M Ə…Mb “…M‚¼”…M˕…M+4†M v6†M Í8†M’(á9†M‚(:<†M( Ú=†M;(@†M‘•†M旆Mb(i™†M‚.›†M=œ†M+ù“½M;œ–½M+6G¾M wI¾M µK¾M’(ÌL¾M‚(O¾M( ºP¾M;(ÀR¾Mr§¾Mn©¾Mb(£«¾M‚X­¾Mt®¾M+ëZöM ,]öM p_öM’(`öM‚(áböM( bdöM;(UföM¿ºöM°¼öMb(¿öM‚¿ÀöMÎÁöM+Âl.N ðn.N $q.N’(<r.N‚(t.N( v.N;(x.NuÌ.NgÎ.Nb(ªÐ.N‚`Ò.NmÓ.N+ãfN $‚fN k„fN’(v…fN‚(ɇfN( J‰fN;(L‹fNÔßfNÊáfNb(qãfN‚)åfN8æfN+¬ÙNiܝN uޝN‚6áN;UäN ¾íNbñN‚§òN¶óN+ -’žN j”žN °–žN’(ڗžN‚(9šžN( ڛžN;(žžNpóžNµõžNb(8÷žN‚÷øžNúžN+ÐñÕN;sôÕN+ -¥ÖN R§ÖN •©ÖN’(ºªÖN‚( -­ÖN( ®®ÖN;(¨°ÖNu×Ny×Nb(® ×N‚h ×Nu ×N+ù¸O 6»O ½O’(¦¾O‚(ÁO( ˆÂO;(yÄOOOb(VO‚O O+(ËFO ZÍFO ’ÏFO’(ªÐFO‚( ÓFO( ‹ÔFO;(|ÖFO3+GO$-GOb(g/GO‚1GO+2GO+6Ý~O sß~O ¾á~O’(Úâ~O‚(-å~O( ¯æ~O;( è~OG=O9?Ob(à@O‚’BO¡CO+7¶O×9¶O ê;¶O‚»>¶O;ÙA¶O NK¶Ob”N¶O‚7P¶OFQ¶O+ñ¶O có¶O ³õ¶O’(Çö¶O‚( ù¶O( ¼ú¶O;(éü¶O¢R·O÷T·Ob(V·O‚RX·OaY·O+—OîO;:RîO+ÓïO ïO RïO’(iïO‚(¼
-ïO( W ïO;(]ïO+cïO'eïOb(\gïO‚iïO-jïO+¤'P å'P )'P’(:'P‚(š'P(  'P;("'Pºv'P«x'Pb(îz'P‚¥|'P´}'P+½(_P ë*_P -_P’(7._P‚(˜0_P( 2_P;(
-4_P¢ˆ_P”Š_Pb(׌_P‚Ž_Pš_P+<—P Q>—P ˜@—P’(£A—P‚(öC—P( wE—P;(yG—Pœ—Pž—Pb(®Ÿ—P‚f¡—Pu¢—P+x”ÎP5—ÎP <™ÎP‚œÎP;&ŸÎP ¨ÎPbÖ«ÎP‚y­ÎPˆ®ÎP+ONÏP £PÏP éRÏP’(TÏP‚(rVÏP( XÏP;(ZÏP³¯ÏPø±ÏPb({³ÏP‚:µÏPI¶ÏP+¢¬Q;E¯Q+OaQ ”cQ ×eQ’(üfQ‚(OiQ( êjQ;(älQúÁQûÃQb(0ÆQ‚êÇQ÷ÈQ+ -t?Q Jv?Q “x?Q’(ºy?Q‚(|?Q( œ}?Q;(?Q)Ô?QÖ?Qb(^Ø?Q‚Ú?QÛ?Q+—‡wQ ɉwQ ŒwQ’(wQ‚(xwQ( úwQ;(ï’wQœçwQéwQb(ÐëwQ‚‡íwQ”îwQ+Ÿ™¯Q ܛ¯Q 'ž¯Q’(CŸ¯Q‚(–¡¯Q( £¯Q;( ¥¯Q°ù¯Q¢û¯Qb(Iý¯Q‚ûþ¯Q
-°Q+ƒóæQ@öæQ XøæQ‚%ûæQ;AþæQ ù/çQ‚ IçQ-KçQ ,RçQb´UçQ‚ NYçQ  Å[çQ ã\çQ©mçQb ÿwçQ‚{çQ>|çQ+—­çQ ´çQ øçQ’(÷¹çQ‚(ˆ¼çQ( –¾çQ;( ÁçQ¿èQT#èQb(t%èQ‚='èQÀ(èQ+/ R;XR+ò¿R MÂR ”ÄR’(¤ÅR‚(FÈR( áÉR;(åËRØ Rë" Rb(R% R‚' R:( R+ÓWR HÕWR œ×WR’(¬ØWR‚( ÛWR( ÜWR;(‚ÞWR‘3XRƒ5XRb(Æ7XR‚y9XRˆ:XR+”åR ÆçR ýéR’(ëR‚(uíR( öîR;(ÜðR…ERwGRb(¹IR‚lKRyLR+Œ÷ÇR ÁùÇR üÇR’( ýÇR‚(yÿÇR( úÈR;(úÈR¯WÈR¥YÈRb(L[ÈR‚]ÈR^ÈR+†QÿRUÿR šXÿR‚k[ÿR;‡^ÿR âhÿRb7lÿR‚ìmÿRûnÿR+Ð
-S # -S eS’(’S‚(S( ±S;(èSºlSñnSb(tpS‚*rS9sS+k7S;´m7S+M8S   8S ã"8S’($8S‚(c&8S( þ'8S;(ç)8S÷~8Sû€8Sb(=ƒ8S‚û„8S†8S+1pS M3pS ©5pS’(¹6pS‚(9pS( š:pS;(<pS<‘pS.“pSb(q•pS‚$—pS3˜pS+?C¨S qE¨S ©G¨S’(ÁH¨S‚( K¨S( ¢L¨S;(ˆN¨S.£¨S"¥¨Sb(d§¨S‚©¨S(ª¨S+¢VàS ×XàS [àS’(6\àS‚(‰^àS(  `àS;( bàSº¶àS©¸àSb(PºàS‚¼àS½àS+¯TÔ±T ɳT‚¤¶T;ĹT ´ÃTböÆT‚«ÈTºÉT+ïhT QkT •mT’(©nT‚(qT( °rT;(ßtTƒÊTºÌTb(<ÎT‚òÏTÑT+oÇOT;ÊOT+|PT s~PT ©€PT’(ÀPT‚(„PT( µ…PT;(©‡PT‘ÜPTÞPTb(ÒàPT‚âPT¬ãPT+¥ŽˆT ␈T 6“ˆT’(F”ˆT‚(¦–ˆT( '˜ˆT;(šˆTÆîˆT¸ðˆTb(ûòˆT‚®ôˆT½õˆT+É ÀT û¢ÀT 2¥ÀT’(J¦ÀT‚(ª¨ÀT( +ªÀT;(¬ÀTÁTÁTb(ÑÁT‚„ÁT‘ÁT+ ´øT @¶øT ‡¸øT’(Ÿ¹øT‚(ò»øT( s½øT;(u¿øT(ùTùTb(ÁùT‚tùTƒùT+Š 0UG0U B0U‚0U;80U — 0Ubì#0U‚¡%0U°&0U+cÆ0U ÅÈ0U Ë0U’(&Ì0U‚(Î0U( Ð0U;(>Ò0Uò'1U)*1Ub(¬+1U‚b-1Uq.1U+Þ$hU;ƒ'hU+ÙhU ÓÛhU ÞhU’(:ßhU‚(áhU( (ãhU;(åhU:iU<iUb(\>iU‚@iU6AiU+/ì U lî U Èð U’(ðñ U‚(Pô U( Ñõ U;(Ä÷ UfL¡UXN¡Ub(›P¡U‚NR¡U]S¡U+ÔÿØU ÙU >ÙU’(VÙU‚(µÙU( 7 ÙU;( ÙUÃ_ÙU·aÙUb(ùcÙU‚¬eÙU¹fÙU+ÌV V HV’(`V‚(³V( 5V;(5VäqVÓsVb(zuV‚-wV<xV+¶kHVsnHV zpHV‚KsHV;ivHV ÙHVbƒHV‚ЄHV߅HV+”%IV ö'IV :*IV’(N+IV‚(­-IV( U/IV;(„1IVI‡IV€‰IVb(‹IV‚¹ŒIVȍIV+6„€V;ۆ€V+t7V º9V ó;V’(
-=V‚(]?V( ø@V;(îBVחVәVb(œV‚ӝVVóǒVϒV ±Ñ’V_ӒV‚ÝؒV –ð’V‚Dö’VGø’Vb6þ’V‚ øÿ’V  ß“V ê“VÞ“Vø“V >7“V‚ *“V  )„“V #ˆ“V z›“V «œ“V~ “Vb p¥“V‚Œ¨“V ½ª“Vm¬“V0¶“V
\ No newline at end of file
Index: rel_1_5_beta1/newtrace/utils/udpdump.c
===================================================================
--- rel_1_5_beta1/newtrace/utils/udpdump.c (revision 1557)
+++ rel_1_5_beta1/newtrace/utils/udpdump.c (nonexistent)
@@ -1,134 +0,0 @@
-/*
- * Project: S.Ha.R.K.
- *
- * Coordinators:
- * Giorgio Buttazzo <giorgio@sssup.it>
- * Paolo Gai <pj@gandalf.sssup.it>
- *
- * Authors :
- * Giacomo Guidi <giacomo@gandalf.sssup.it>
- *
- * ReTiS Lab (Scuola Superiore S.Anna - Pisa - Italy)
- *
- * http://www.sssup.it
- * http://retis.sssup.it
- * http://shark.sssup.it
- */
-
-#include <netinet/in.h>
-
-#include <sys/socket.h>
-#include <netinet/in.h>
-#include <arpa/inet.h>
-#include <netdb.h>
-#include <stdio.h>
-#include <unistd.h>/* close() */
-#include <stdlib.h>
-#include <signal.h>
-#include <string.h>
-
-#define SERVER_PORT 20000
-#define MAX_MSG 10000
-
-struct tracer_udp_header {
- char id[12];
- unsigned int pkt_number;
- unsigned int events;
- unsigned int size;
-};
-
-FILE *output_file;
-
-int miss;
-
-void close_and_exit()
-{
-
- printf("Closing...\n");
-
- if (miss == 1) printf("Possible error receiving packets !\n");
-
- fclose(output_file);
-
- exit(0);
-
-}
-
-int main(int argc, char *argv[])
-{
- int sd, rc, n, cliLen,count;
- struct sockaddr_in cliAddr, servAddr;
- char msg[MAX_MSG];
-
- struct tracer_udp_header *pkt_head = (struct tracer_udp_header *)(msg);
-
- if (argc < 2) {
- printf("%s: Enter the output file name [%s filename]\n",argv[0],argv[0]);
- exit(1);
- }
-
- // socket creation
- sd = socket(AF_INET, SOCK_DGRAM, 0);
- if(sd < 0) {
- printf("%s: cannot open socket \n",argv[0]);
- exit(1);
- }
-
- output_file = fopen(argv[1],"w+b");
- if (output_file == NULL) {
- printf("%s: Cannot open the file\n",argv[0]);
- exit(1);
- }
-
- // bind local server port
- servAddr.sin_family = AF_INET;
-
- servAddr.sin_addr.s_addr = htonl(INADDR_ANY);
- servAddr.sin_port = htons(SERVER_PORT);
-
- rc = bind (sd, (struct sockaddr *)&servAddr,sizeof(servAddr));
- if(rc < 0) {
- printf("%s: cannot bind port number %d \n",
- argv[0], SERVER_PORT);
- exit(1);
- }
-
- signal(SIGINT, close_and_exit);
-
- count = 1;
- miss = 0;
-
- while(1) {
-
- printf("Wait packet...\n");
-
- // receive message
- cliLen = sizeof(cliAddr);
- n = recvfrom(sd, msg, MAX_MSG, 0,(struct sockaddr *)&cliAddr, &cliLen);
-
- if (strncmp(pkt_head->id,"TRACER",6)) continue;
-
- printf("Received %d, length %d(%d), %d tracer events.\n",
- pkt_head->pkt_number, n, pkt_head->size, pkt_head->events);
-
- if (pkt_head->pkt_number != count) {
- printf("Miss Packet !!!\n");
- miss = 1;
- }
-
- if (n > 0) {
-
- count++;
-
- fwrite((void *)(msg+sizeof(struct tracer_udp_header)),n-sizeof(struct tracer_udp_header),1,output_file);
-
- }
-
- }
-
- fclose(output_file);
-
- return 0;
-
-}
-
Index: rel_1_5_beta1/newtrace/initfile/initfile.c
===================================================================
--- rel_1_5_beta1/newtrace/initfile/initfile.c (revision 1557)
+++ rel_1_5_beta1/newtrace/initfile/initfile.c (nonexistent)
@@ -1,227 +0,0 @@
-/*
- * Project: S.Ha.R.K.
- *
- * Coordinators: Giorgio Buttazzo <giorgio@sssup.it>
- * Gerardo Lamastra <gerardo@sssup.it>
- *
- * Authors : Giacomo Guidi <giacomo@gandalf.sssup.it>
- *
- * ReTiS Lab (Scuola Superiore S.Anna - Pisa - Italy)
- *
- * http://www.sssup.it
- * http://retis.sssup.it
- * http://hartik.sssup.it
- */
-
-/*
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- */
-
-
-#include "kernel/kern.h"
-
-#include "intdrive/intdrive/intdrive.h"
-#include "edf/edf/edf.h"
-#include "hardcbs/hardcbs/hardcbs.h"
-#include "rr/rr/rr.h"
-#include "dummy/dummy/dummy.h"
-
-#include "sem/sem/sem.h"
-#include "hartport/hartport/hartport.h"
-#include "cabs/cabs/cabs.h"
-
-#include <drivers/shark_linuxc26.h>
-#include <drivers/shark_pci26.h>
-
-#include <drivers/shark_input26.h>
-#include <drivers/shark_keyb26.h>
-#include <drivers/shark_mouse26.h>
-
-#include <drivers/shark_fb26.h>
-
-#include <tracer.h>
-
-#define FRAME_BUFFER_DEVICE 0
-
-/*+ sysyem tick in us +*/
-#define TICK 0
-
-/*+ RR tick in us +*/
-#define RRTICK 2000
-
-/*+ Interrupt Server +*/
-#define INTDRIVE_Q 1000
-#define INTDRIVE_T 10000
-#define INTDRIVE_FLAG 0
-
-void call_shutdown_task(void *arg);
-int device_drivers_init();
-int device_drivers_close();
-void set_shutdown_task();
-TASK shutdown_task_body(void *arg);
-
-PID shutdown_task_PID = -1;
-int a = -1;
-
-extern unsigned int clk_per_msec;
-
-TIME __kernel_register_levels__(void *arg)
-{
- struct multiboot_info *mb = (struct multiboot_info *)arg;
-
- INTDRIVE_register_level(INTDRIVE_Q,INTDRIVE_T,INTDRIVE_FLAG);
- EDF_register_level(EDF_ENABLE_ALL);
- HCBS_register_level(HCBS_ENABLE_ALL, 1);
- RR_register_level(RRTICK, RR_MAIN_YES, mb);
- dummy_register_level();
-
- SEM_register_module();
- CABS_register_module();
-
- return TICK;
-}
-
-TASK __init__(void *arg)
-{
- struct multiboot_info *mb = (struct multiboot_info *)arg;
-
- HARTPORT_init();
-
- /* Create the shutdown task. It will be activated at RUNLEVEL SHUTDOWN */
- set_shutdown_task();
-
- /* Init the drivers */
- device_drivers_init();
-
- /* Set the shutdown task activation */
- sys_atrunlevel(call_shutdown_task, NULL, RUNLEVEL_SHUTDOWN);
-
- /* Tracer init: 10MB single tracer chunk */
- a = FTrace_chunk_create(10000000, 1000000, FTRACE_CHUNK_FLAG_FREE | FTRACE_CHUNK_FLAG_CYC);
-
- FTrace_actual_chunk_select(a);
-
- FTrace_enable();
-
- TRACER_LOGEVENT(FTrace_EVT_trace_start,proc_table[exec_shadow].context,clk_per_msec);
-
- for (i=0;i<10;i++)
- if (proc_table[i].context != 0) TRACER_LOGEVENT(FTrace_EVT_id,
- (unsigned short int)proc_table[i].context,i);
-
- __call_main__(mb);
-
- return (void *)0;
-}
-
-void set_shutdown_task()
-{
-/* WARNING: the shutdown task is a background thread. It cannot execute if the system is overloaded */
- NRT_TASK_MODEL nrt;
-
- nrt_task_default_model(nrt);
- nrt_task_def_system(nrt);
-
- shutdown_task_PID = task_create("Shutdown Task",shutdown_task_body,&nrt,NULL);
- if (shutdown_task_PID == NIL) {
- sys_shutdown_message("Error: Cannot create shutdown task\n");
- exit(1);
- }
-}
-
-int device_drivers_init()
-{
- int res;
- KEYB_PARMS kparms = BASE_KEYB;
- MOUSE_PARMS mparms = BASE_MOUSE;
-
- LINUXC26_register_module();
-
- PCI26_init();
-
- INPUT26_init();
-
- /* keyb_def_map(kparms, KEYMAP_IT);*/
- keyb_def_ctrlC(kparms, NULL);
- KEYB26_init(&kparms);
-
- mouse_def_threshold(mparms, 5);
- mouse_def_xmin(mparms, 0);
- mouse_def_ymin(mparms, 0);
- mouse_def_xmax(mparms, 639);
- mouse_def_ymax(mparms, 479);
- MOUSE26_init(&mparms);
-
- FB26_init();
- res = FB26_open(FRAME_BUFFER_DEVICE);
- if (res) {
- cprintf("Error: Cannot open graphical mode\n");
- MOUSE26_close();
- KEYB26_close();
- INPUT26_close();
- exit(1);
- }
-
- FB26_use_grx(FRAME_BUFFER_DEVICE);
- FB26_setmode(FRAME_BUFFER_DEVICE,"640x480-16");
-
- return 0;
-}
-
-int device_drivers_close() {
-
- TRACER_LOGEVENT(FTrace_EVT_trace_stop,0,0);
-
- FTrace_disable();
-
- FTrace_OSD_init_udp(1, "192.168.1.10", "192.168.1.1");
-
- FTrace_send_chunk(a, 0, FTRACE_CHUNK_FLAG_FREE | FTRACE_CHUNK_FLAG_CYC);
-
- mouse_grxcursor(DISABLE, 0);
-
- FB26_close(FRAME_BUFFER_DEVICE);
-
- MOUSE26_close();
- KEYB26_close();
- INPUT26_close();
-
- return 0;
-}
-
-#define SHUTDOWN_TIMEOUT_SEC 120
-
-void call_shutdown_task(void *arg)
-{
- struct timespec t;
-
- sys_gettime(&t);
- t.tv_sec += SHUTDOWN_TIMEOUT_SEC;
-
- /* Emergency timeout to exit from RUNLEVEL_SHUTDOWN */
- kern_event_post(&t,(void *)((void *)sys_abort_shutdown),(void *)0);
-
- task_activate(shutdown_task_PID);
-}
-
-TASK shutdown_task_body(void *arg)
-{
- device_drivers_close();
-
- sys_shutdown_message("-- S.Ha.R.K. Closed --\n");
-
- return NULL;
-}