From ccbcc7303b093d149f2c53fc2fcaa7ab10e982b3 Mon Sep 17 00:00:00 2001 From: Peter Weingartner Date: Fri, 6 Sep 2024 16:03:42 -0400 Subject: [PATCH] Started client samples. Fixed some UNIT errors in makefiles --- client-64tass/Makefile | 8 + client-64tass/genbinding.py | 33 + client-64tass/hello.s | 46 + client-64tass/macros.s | 68 + client-64tass/tb_params.s | 124 ++ client-64tass/toolbox.s | 59 + client/src/Makefile | 68 + client/src/bindings.s | 115 ++ client/src/genbinding.py | 38 + client/src/include/constants.h | 79 ++ client/src/include/errors.h | 60 + client/src/include/sys_macros.h | 28 + client/src/include/sys_types.h | 163 +++ client/src/include/toolbox.h | 818 ++++++++++++ client/src/stubs.c | 224 ++++ roms/f256jr/README.md | 12 + roms/f256jr/toolbox-20.bin | Bin 0 -> 8192 bytes roms/f256jr/toolbox-21.bin | Bin 0 -> 8192 bytes roms/f256jr/toolbox-22.bin | Bin 0 -> 8192 bytes roms/f256jr/toolbox-23.bin | Bin 0 -> 8192 bytes roms/f256jr/toolbox-24.bin | Bin 0 -> 8192 bytes roms/f256jr/toolbox-25.bin | Bin 0 -> 8192 bytes roms/f256jr/toolbox-26.bin | Bin 0 -> 8192 bytes roms/f256jr/toolbox-27.bin | Bin 0 -> 8192 bytes roms/f256jr/toolbox-28.bin | Bin 0 -> 8192 bytes roms/f256jr/toolbox-29.bin | Bin 0 -> 8192 bytes roms/f256jr/toolbox-2A.bin | Bin 0 -> 8192 bytes roms/f256jr/toolbox-2B.bin | Bin 0 -> 8192 bytes roms/f256jr/toolbox-2C.bin | Bin 0 -> 8192 bytes roms/f256jr/toolbox-2D.bin | Bin 0 -> 8192 bytes roms/f256jr/toolbox-2E.bin | Bin 0 -> 8192 bytes roms/f256jr/toolbox-2F.bin | Bin 0 -> 8192 bytes roms/f256jr/toolbox-30.bin | Bin 0 -> 8192 bytes roms/f256jr/toolbox-31.bin | Bin 0 -> 8192 bytes roms/f256jr/toolbox-3F.bin | Bin 0 -> 8192 bytes roms/f256jr/toolbox.bin | 2182 +++++++++++++++++++++++++++++++ roms/f256jr/toolbox.csv | 19 + roms/f256k.zip | Bin 125859 -> 0 bytes samples/hello/Makefile | 68 + samples/hello/f256-plain.scm | 19 + samples/hello/header.s | 10 + samples/hello/hello.c | 10 + samples/hello/hello.lst | 72 + samples/hello/hello.s37 | 139 ++ src/Makefile | 16 +- src/boot.c | 3 +- src/dev/Makefile | 4 +- src/fatfs/Makefile | 12 +- src/snd/Makefile | 9 +- src/toolbox.csv | 34 +- src/version.h | 2 +- 51 files changed, 4512 insertions(+), 30 deletions(-) create mode 100644 client-64tass/Makefile create mode 100644 client-64tass/genbinding.py create mode 100644 client-64tass/hello.s create mode 100644 client-64tass/macros.s create mode 100644 client-64tass/tb_params.s create mode 100644 client-64tass/toolbox.s create mode 100644 client/src/Makefile create mode 100644 client/src/bindings.s create mode 100644 client/src/genbinding.py create mode 100644 client/src/include/constants.h create mode 100644 client/src/include/errors.h create mode 100644 client/src/include/sys_macros.h create mode 100644 client/src/include/sys_types.h create mode 100644 client/src/include/toolbox.h create mode 100644 client/src/stubs.c create mode 100644 roms/f256jr/README.md create mode 100644 roms/f256jr/toolbox-20.bin create mode 100644 roms/f256jr/toolbox-21.bin create mode 100644 roms/f256jr/toolbox-22.bin create mode 100644 roms/f256jr/toolbox-23.bin create mode 100644 roms/f256jr/toolbox-24.bin create mode 100644 roms/f256jr/toolbox-25.bin create mode 100644 roms/f256jr/toolbox-26.bin create mode 100644 roms/f256jr/toolbox-27.bin create mode 100644 roms/f256jr/toolbox-28.bin create mode 100644 roms/f256jr/toolbox-29.bin create mode 100644 roms/f256jr/toolbox-2A.bin create mode 100644 roms/f256jr/toolbox-2B.bin create mode 100644 roms/f256jr/toolbox-2C.bin create mode 100644 roms/f256jr/toolbox-2D.bin create mode 100644 roms/f256jr/toolbox-2E.bin create mode 100644 roms/f256jr/toolbox-2F.bin create mode 100644 roms/f256jr/toolbox-30.bin create mode 100644 roms/f256jr/toolbox-31.bin create mode 100644 roms/f256jr/toolbox-3F.bin create mode 100644 roms/f256jr/toolbox.bin create mode 100644 roms/f256jr/toolbox.csv delete mode 100644 roms/f256k.zip create mode 100644 samples/hello/Makefile create mode 100644 samples/hello/f256-plain.scm create mode 100644 samples/hello/header.s create mode 100644 samples/hello/hello.c create mode 100644 samples/hello/hello.lst create mode 100644 samples/hello/hello.s37 diff --git a/client-64tass/Makefile b/client-64tass/Makefile new file mode 100644 index 0000000..fe86588 --- /dev/null +++ b/client-64tass/Makefile @@ -0,0 +1,8 @@ + +AS = 64tass + +ASFLAGS = --nostart --flat --s-record + +# Build the object files from assembly +hello.s37: hello.s + $(AS) $(ASFLAGS) --list=hello.lst -o hello.s37 hello.s diff --git a/client-64tass/genbinding.py b/client-64tass/genbinding.py new file mode 100644 index 0000000..6c7ddfa --- /dev/null +++ b/client-64tass/genbinding.py @@ -0,0 +1,33 @@ + +### +### Generate client bindings for the Toolbox (64TASS version) +### + +# with open("toolbox_bindings.s", "w") as output: + +table_entry_size = 4 +table_address = 0xffe000 +syscalls = {} + +with open("..\src\C256\syscalls.txt", "r") as input: + for line in input: + # Remove comments + index = line.find("#") + if index == 0: + line = "" + elif index > 0: + line = line[index - 1:] + + line = line.strip() + + if line != "": + name = "sys_{}".format(line) + syscalls[name] = table_address + table_address += table_entry_size + +with open("bindings.s", "w") as output: + output.write(";;;\n;;; Bindings for the Foenix Toolbox public calls\n;;;\n\n") + + for name in syscalls.keys(): + address = syscalls[name] + output.write("{0} = ${1:06X}\n".format(name, address)) diff --git a/client-64tass/hello.s b/client-64tass/hello.s new file mode 100644 index 0000000..e68ab83 --- /dev/null +++ b/client-64tass/hello.s @@ -0,0 +1,46 @@ +;;; +;;; A simple client program for the Foenix Toolbox using 64TASS +;;; + + .cpu "65816" + + .include "macros.s" + .include "toolbox.s" + .include "tb_params.s" + +* = $10000 + +header: .byte $f8, $16 ; Signature + .byte 0 ; Version + .dword start ; Starting address + .dword 0 ; Icon address + .dword 0 ; Icon palette address + .null "hello" ; Name of the file + +start: clc + xce + + setdbr `start + setaxl + + alloc 6 ; Set aside parameter space for sys_chan_write + + lda #33 ; Size of the message + sta tb.chan_write.size + + lda #`message ; Pointer to the message + sta tb.chan_write.buffer+2 + lda #<>message + sta tb.chan_write.buffer + + lda #0 ; Channel #0 + + jsl sys_chan_write ; sys_chan_write(0, message, strlen(message)) + + free 6 ; Reclaim parameter space from sys_chan_write + +loop: nop + bra loop + +message: .null "Hello, Foenix Toolbox (64TASS)!",13,10 + diff --git a/client-64tass/macros.s b/client-64tass/macros.s new file mode 100644 index 0000000..9c3fab7 --- /dev/null +++ b/client-64tass/macros.s @@ -0,0 +1,68 @@ +; Set 8-bit accumulator +setaxs .macro + SEP #$30 ; set A&X short + .as + .xs + .endm + +; Set 16-bit accumulator +setaxl .macro + REP #$30 ; set A&X long + .al + .xl + .endm + +; Set 8-bit accumulator +setas .macro + SEP #$20 ; set A short + .as + .endm + +; Set 16-bit accumulator +setal .macro + REP #$20 ; set A long + .al + .endm + +; Set 8 bit index registers +setxs .macro + SEP #$10 ; set X short + .xs + .endm + +; Set 16-bit index registers +setxl .macro + REP #$10 ; set X long + .xl + .endm + +; Set the direct page. +; Note: This uses the accumulator and leaves A set to 16 bits. +setdp .macro + PEA #\1 ; set DP to page 0 + PLD + .dpage \1 + .endm + +setdbr .macro ; Set the B (Data bank) register + PEA #((\1) * 256) + (\1) + PLB + PLB + .databank \1 + .endm + +TRACE .macro message +; PHA +; PHX +; PHY +; PEA #`txt_message +; PEA #<>txt_message +; JSL ITRACE +; BRA continue + +; txt_message .null 13,\message + +; continue PLY +; PLX +; PLA + .endm diff --git a/client-64tass/tb_params.s b/client-64tass/tb_params.s new file mode 100644 index 0000000..3bc274c --- /dev/null +++ b/client-64tass/tb_params.s @@ -0,0 +1,124 @@ + +; +; Allocate a number of bytes onto the stack for parameters +; +alloc .macro count + .switch \count + .case 0 + .case 2 + pea #0 ; 5 + .case 4 + pea #0 ; 10 + pea #0 + .case 6 + pea #0 ; 15 + pea #0 + pea #0 + .default + sta #0,d + + tsc + sec + sbc #\count + tcs + + lda #0,d + .endswitch + .endm + +; +; Remove a number of bytes from the stack (previously alloc'ed) +; +free .macro count + .switch \count + .case 0 + .case 2 + ply ; 5 + .case 4 + ply ; 10 + ply + .case 6 + ply ; 15 + ply + ply + .default + sta #0,d ; 4 + + tsc ; 2 + clc ; 2 + adc #\count ; 3 + tcs ; 2 + + lda #0,d ; 4 (17 total) + .endswitch + .endm + +tb .namespace + + +int_register .namespace + .virtual #1,s +handler: .dword ? + .endv + .endn + +; +; Channel Parameters +; + +chan_read .namespace + .virtual #1,s +size: .word ? +buffer .dword ? + .endv + .endn + +chan_readline .namespace + .virtual #1,s +size .word ? +buffer .dword ? + .endv + .endn + +chan_write_b .namespace + .virtual #1,s +b: .byte ? + .endv + .endn + +chan_write .namespace + .virtual #1,s +buffer .dword ? +size .word ? + .endv + .endn + +chan_seek .namespace + .virtual #1,s +base .word ? +position .dword ? + .endv + .endn + +chan_ioctrl .namespace + .virtual #1,s +size .word ? +buffer .dword ? +command .word ? + .endv + .endn + +chan_open .namespace + .virtual #1,s +mode .word ? +path .dword ? + .endv + .endn + +chan_swap .namespace + .virtual #1,s +channel2 .word ? + .endv + .endn + + .endn \ No newline at end of file diff --git a/client-64tass/toolbox.s b/client-64tass/toolbox.s new file mode 100644 index 0000000..e3428f0 --- /dev/null +++ b/client-64tass/toolbox.s @@ -0,0 +1,59 @@ +;;; +;;; Bindings for the Foenix Toolbox public calls +;;; + +sys_proc_exit = $FFE000 +sys_chan_read_b = $FFE004 +sys_chan_read = $FFE008 +sys_chan_readline = $FFE00C +sys_chan_write_b = $FFE010 +sys_chan_write = $FFE014 +sys_chan_status = $FFE018 +sys_chan_flush = $FFE01C +sys_chan_seek = $FFE020 +sys_chan_ioctrl = $FFE024 +sys_chan_open = $FFE028 +sys_chan_close = $FFE02C +sys_chan_swap = $FFE030 +sys_chan_device = $FFE034 +sys_bdev_register = $FFE038 +sys_bdev_read = $FFE03C +sys_bdev_write = $FFE040 +sys_bdev_status = $FFE044 +sys_bdev_flush = $FFE048 +sys_bdev_ioctrl = $FFE04C +sys_fsys_open = $FFE050 +sys_fsys_close = $FFE054 +sys_fsys_opendir = $FFE058 +sys_fsys_closedir = $FFE05C +sys_fsys_readdir = $FFE060 +sys_fsys_findfirst = $FFE064 +sys_fsys_findnext = $FFE068 +sys_fsys_mkdir = $FFE06C +sys_fsys_delete = $FFE070 +sys_fsys_rename = $FFE074 +sys_fsys_set_cwd = $FFE078 +sys_fsys_get_cwd = $FFE07C +sys_fsys_load = $FFE080 +sys_fsys_register_loader = $FFE084 +sys_fsys_stat = $FFE088 +sys_mem_get_ramtop = $FFE08C +sys_mem_reserve = $FFE090 +sys_err_message = $FFE094 +sys_proc_run = $FFE098 +sys_txt_get_capabilities = $FFE09C +sys_txt_set_mode = $FFE0A0 +sys_txt_setsizes = $FFE0A4 +sys_txt_set_xy = $FFE0A8 +sys_txt_get_xy = $FFE0AC +sys_txt_get_region = $FFE0B0 +sys_txt_set_region = $FFE0B4 +sys_txt_set_color = $FFE0B8 +sys_txt_get_color = $FFE0BC +sys_txt_set_cursor_visible = $FFE0C0 +sys_txt_set_font = $FFE0C4 +sys_txt_get_sizes = $FFE0C8 +sys_txt_set_border = $FFE0CC +sys_txt_set_border_color = $FFE0D0 +sys_txt_put = $FFE0D4 +sys_txt_print = $FFE0D8 diff --git a/client/src/Makefile b/client/src/Makefile new file mode 100644 index 0000000..67301f7 --- /dev/null +++ b/client/src/Makefile @@ -0,0 +1,68 @@ +# VPATH=.:../../module/Calypsi-remote-debug/src +DEBUGGER=../module/Calypsi-remote-debug/src + +UNIT := F256K +MEMORY := RAM + +# Define OS-dependent variables + +ifeq ($(OS),Windows_NT) + RM = del /F/Q +else + RM = rm -f +endif + +# Define model-specific variables, including tools, source files, compiler flags, etc. + +ifeq ($(UNIT),F256K) + CPU=w65816 + C_SRCS_DEBUGGER=$(DEBUGGER)/agent.c $(DEBUGGER)/c256-uart.c $(DEBUGGER)/low_level_WDC65816.s + SRCS_FOR_UNIT= + CFLAGS_FOR_UNIT=-DMODEL=17 -DCPU=255 --code-model large --data-model large + + ifeq ($(MEMORY),ROM) + LDFLAGS_FOR_UNIT=C256/f256-flash.scm clib-lc-ld.a --rtattr printf=medium --cstartup=f256 + else + LDFLAGS_FOR_UNIT=C256/f256-ld_lc.scm clib-lc-ld.a --rtattr printf=medium --cstartup=f256 + endif +endif + +ifeq ($(CPU),w65816) + CC=cc65816 + AS=as65816 + LD=ln65816 + AR=nlib +endif + +INCLUDES=-I. -I./include +CFLAGS=$(INCLUDES) $(CFLAGS_FOR_UNIT) -l # -l -D_CALYPSI_MCP_DEBUGGER +ASFLAGS=$(INCLUDES) --data-model large --code-model large + +ifeq ($(MEMORY),ROM) + LDFLAGS=--rom-code $(LDFLAGS_FOR_UNIT) --list-file toolbox.map +else + LDFLAGS=$(LDFLAGS_FOR_UNIT) --list-file toolbox.map +endif + +SRCS = stubs.c bindings.s $(SRCS_FOR_UNIT) # $(C_SRCS_DEBUGGER) +OBJS = $(patsubst %.s,%.o,$(patsubst %.c,%.o,$(SRCS))) +OBJS4RM = $(subst /,\\,$(OBJS)) +LIBS = + +.PHONY: clean + +toolbox.a: $(OBJS) + $(AR) toolbox.a $(OBJS) + +# Build the object files from C +%.o: %.c + $(CC) $(CFLAGS) -o $@ $^ + +# Build the object files from assembly +%.o: %.s + $(AS) $(ASFLAGS) -o $@ $^ + +# Clean up after a build +clean: + $(RM) $(OBJS4RM) *.o *.a *.lst + diff --git a/client/src/bindings.s b/client/src/bindings.s new file mode 100644 index 0000000..9014065 --- /dev/null +++ b/client/src/bindings.s @@ -0,0 +1,115 @@ +;;; +;;; Bindings for the Foenix Toolbox public calls +;;; + + .public sys_proc_exit + .public sys_chan_read_b + .public sys_chan_read + .public sys_chan_readline + .public sys_chan_write_b + .public sys_chan_write + .public sys_chan_status + .public sys_chan_flush + .public sys_chan_seek + .public sys_chan_ioctrl + .public sys_chan_open + .public sys_chan_close + .public sys_chan_swap + .public sys_chan_device + .public sys_bdev_register + .public sys_bdev_read + .public sys_bdev_write + .public sys_bdev_status + .public sys_bdev_flush + .public sys_bdev_ioctrl + .public sys_fsys_open + .public sys_fsys_close + .public sys_fsys_opendir + .public sys_fsys_closedir + .public sys_fsys_readdir + .public sys_fsys_findfirst + .public sys_fsys_findnext + .public sys_fsys_mkdir + .public sys_fsys_delete + .public sys_fsys_rename + .public sys_fsys_set_cwd + .public sys_fsys_get_cwd + .public sys_fsys_load + .public sys_fsys_register_loader + .public sys_fsys_stat + .public sys_mem_get_ramtop + .public sys_mem_reserve + .public sys_err_message + .public sys_proc_run + .public sys_txt_get_capabilities + .public sys_txt_set_mode + .public sys_txt_setsizes + .public sys_txt_set_xy + .public sys_txt_get_xy + .public sys_txt_get_region + .public sys_txt_set_region + .public sys_txt_set_color + .public sys_txt_get_color + .public sys_txt_set_cursor_visible + .public sys_txt_set_font + .public sys_txt_get_sizes + .public sys_txt_set_border + .public sys_txt_set_border_color + .public sys_txt_put + .public sys_txt_print + +sys_proc_exit: .equlab 0xFFE000 +sys_chan_read_b: .equlab 0xFFE004 +sys_chan_read: .equlab 0xFFE008 +sys_chan_readline: .equlab 0xFFE00C +sys_chan_write_b: .equlab 0xFFE010 +sys_chan_write: .equlab 0xFFE014 +sys_chan_status: .equlab 0xFFE018 +sys_chan_flush: .equlab 0xFFE01C +sys_chan_seek: .equlab 0xFFE020 +sys_chan_ioctrl: .equlab 0xFFE024 +sys_chan_open: .equlab 0xFFE028 +sys_chan_close: .equlab 0xFFE02C +sys_chan_swap: .equlab 0xFFE030 +sys_chan_device: .equlab 0xFFE034 +sys_bdev_register: .equlab 0xFFE038 +sys_bdev_read: .equlab 0xFFE03C +sys_bdev_write: .equlab 0xFFE040 +sys_bdev_status: .equlab 0xFFE044 +sys_bdev_flush: .equlab 0xFFE048 +sys_bdev_ioctrl: .equlab 0xFFE04C +sys_fsys_open: .equlab 0xFFE050 +sys_fsys_close: .equlab 0xFFE054 +sys_fsys_opendir: .equlab 0xFFE058 +sys_fsys_closedir: .equlab 0xFFE05C +sys_fsys_readdir: .equlab 0xFFE060 +sys_fsys_findfirst: .equlab 0xFFE064 +sys_fsys_findnext: .equlab 0xFFE068 +sys_fsys_mkdir: .equlab 0xFFE06C +sys_fsys_delete: .equlab 0xFFE070 +sys_fsys_rename: .equlab 0xFFE074 +sys_fsys_set_cwd: .equlab 0xFFE078 +sys_fsys_get_cwd: .equlab 0xFFE07C +sys_fsys_load: .equlab 0xFFE080 +sys_fsys_register_loader: .equlab 0xFFE084 +sys_fsys_stat: .equlab 0xFFE088 +sys_mem_get_ramtop: .equlab 0xFFE08C +sys_mem_reserve: .equlab 0xFFE090 +sys_err_message: .equlab 0xFFE094 +sys_proc_run: .equlab 0xFFE098 +sys_txt_get_capabilities: .equlab 0xFFE09C +sys_txt_set_mode: .equlab 0xFFE0A0 +sys_txt_setsizes: .equlab 0xFFE0A4 +sys_txt_set_xy: .equlab 0xFFE0A8 +sys_txt_get_xy: .equlab 0xFFE0AC +sys_txt_get_region: .equlab 0xFFE0B0 +sys_txt_set_region: .equlab 0xFFE0B4 +sys_txt_set_color: .equlab 0xFFE0B8 +sys_txt_get_color: .equlab 0xFFE0BC +sys_txt_set_cursor_visible: .equlab 0xFFE0C0 +sys_txt_set_font: .equlab 0xFFE0C4 +sys_txt_get_sizes: .equlab 0xFFE0C8 +sys_txt_set_border: .equlab 0xFFE0CC +sys_txt_set_border_color: .equlab 0xFFE0D0 +sys_txt_put: .equlab 0xFFE0D4 +sys_txt_print: .equlab 0xFFE0D8 diff --git a/client/src/genbinding.py b/client/src/genbinding.py new file mode 100644 index 0000000..7f94514 --- /dev/null +++ b/client/src/genbinding.py @@ -0,0 +1,38 @@ + +### +### Generate client bindings for the Toolbox +### + +# with open("toolbox_bindings.s", "w") as output: + +table_entry_size = 4 +table_address = 0xffe000 +syscalls = {} + +with open("..\src\C256\syscalls.txt", "r") as input: + for line in input: + # Remove comments + index = line.find("#") + if index == 0: + line = "" + elif index > 0: + line = line[index - 1:] + + line = line.strip() + + if line != "": + name = "sys_{}".format(line) + syscalls[name] = table_address + table_address += table_entry_size + +with open("bindings.s", "w") as output: + output.write(";;;\n;;; Bindings for the Foenix Toolbox public calls\n;;;\n\n") + + for name in syscalls.keys(): + output.write("\t.public {}\n".format(name)) + + output.write("\n") + + for name in syscalls.keys(): + address = syscalls[name] + output.write("{0}:\t.equlab\t0x{1:06X}\n".format(name, address)) \ No newline at end of file diff --git a/client/src/include/constants.h b/client/src/include/constants.h new file mode 100644 index 0000000..dd79519 --- /dev/null +++ b/client/src/include/constants.h @@ -0,0 +1,79 @@ +/** + * @file constants.h + * @brief Define the major public-facing constants for the Foenix Toolbox + * @version 0.1 + * @date 2024-09-02 + * + * @copyright Copyright (c) 2024 + * + */ + +#ifndef __CONSTANTS_H +#define __CONSTANTS_H + +/* + * Miscellaneous definitions + */ + +#define FSYS_SECTOR_SZ 512 /* Size of a sector */ +#define MAX_PATH_LEN 256 /* Maximum length of a file path */ + +/* + * Definitions of special characters + */ + +#define CHAR_ESC '\x1B' /* Escape character */ +#define CHAR_TAB '\t' /* Vertical tab */ +#define CHAR_CR '\x0D' /* Carriage return */ +#define CHAR_NL '\x0A' /* Linefeed */ +#define CHAR_BS '\b' /* Backspace */ + +/* + * File access mode and open method flags + */ +#define FSYS_READ 0x01 +#define FSYS_WRITE 0x02 +#define FSYS_OPEN_EXISTING 0x00 +#define FSYS_CREATE_NEW 0x04 +#define FSYS_CREATE_ALWAYS 0x08 +#define FSYS_OPEN_ALWAYS 0x10 +#define FSYS_OPEN_APPEND 0x30 + +/* + * File attribute bits for directory entry + */ +#define FSYS_AM_RDO 0x01 /* Read only */ +#define FSYS_AM_HID 0x02 /* Hidden */ +#define FSYS_AM_SYS 0x04 /* System */ +#define FSYS_AM_DIR 0x10 /* Directory */ +#define FSYS_AM_ARC 0x20 /* Archive */ + +/* + * Block devices + */ + +#define BDEV_SD0 0 /* External SDC */ +#define BDEV_SD1 1 /* Internal SDC */ + +/* + * Channel devices + */ + +#define CDEV_CONSOLE 0 +#define CDEV_EVID 1 +#define CDEV_COM1 2 +#define CDEV_COM2 3 +#define CDEV_LPT 4 +#define CDEV_MIDI 5 +#define CDEV_FILE 6 + +/* + * Block Device IOCRTRL commands + */ + +#define IOCTRL_CTRL_SYNC 0 /* Complete pending write process (needed at FF_FS_READONLY == 0) */ +#define IOCTRL_GET_SECTOR_COUNT 1 /* Get media size (needed at FF_USE_MKFS == 1) */ +#define IOCTRL_GET_SECTOR_SIZE 2 /* Get sector size (needed at FF_MAX_SS != FF_MIN_SS) */ +#define IOCTRL_GET_BLOCK_SIZE 3 /* Get erase block size (needed at FF_USE_MKFS == 1) */ + +#endif diff --git a/client/src/include/errors.h b/client/src/include/errors.h new file mode 100644 index 0000000..58b7e47 --- /dev/null +++ b/client/src/include/errors.h @@ -0,0 +1,60 @@ +/** + * @file errors.h + * @brief Error codes returned by Foenix Toolbox calls + * @version 0.1 + * @date 2024-09-02 + * + * @copyright Copyright (c) 2024 + * + */ + +#ifndef __ERRORS_H +#define __ERRORS_H + +// #define MAX_ERROR_NUMBER 16 // Largest (absolute value) of the error number + +#define E_OK 0 // Success, no error +#define ERR_GENERAL -1 // A general error condition +#define DEV_ERR_BADDEV -2 // Device number is bad (too big or no device assigned) +#define DEV_TIMEOUT -3 // The block device function timed out +#define DEV_CANNOT_INIT -4 // The block device could not initilize +#define DEV_CANNOT_READ -5 // The device cannot complete the READ +#define DEV_CANNOT_WRITE -6 // The device cannot complete the WRITE +#define DEV_BOUNDS_ERR -7 // The buffer provided is not big enough +#define DEV_NOMEDIA -8 // There is no media present for that device +#define DEV_WRITEPROT -9 // The media is write protected +#define ERR_BADCHANNEL -10 // The channel number was bad +#define ERR_OUT_OF_HANDLES -11 // There are no available handles for channels files etc. +#define ERR_BAD_HANDLE -12 // The handle passed was not valid +#define ERR_BAD_EXTENSION -13 // The path to load did not have an extension that matched registered loaders +#define ERR_OUT_OF_MEMORY -14 // Unable to allocate more memory +#define ERR_BAD_BINARY -15 // Bad binary file format... i.e. binary format does not match expectations +#define ERR_NOT_EXECUTABLE -16 // Binary file format does not have a starting address +#define ERR_NOT_FOUND -17 // Resource not found + +#define FSYS_ERR_DISK_ERR -18 /* (1) A hard error occurred in the low level disk I/O layer */ +#define FSYS_ERR_INT_ERR -19 /* (2) Assertion failed */ +#define FSYS_ERR_NOT_READY -20 /* (3) The physical drive cannot work */ +#define FSYS_ERR_NO_FILE -21 /* (4) Could not find the file */ +#define FSYS_ERR_NO_PATH -22 /* (5) Could not find the path */ +#define FSYS_ERR_INVALID_NAME -23 /* (6) The path name format is invalid */ +#define FSYS_ERR_DENIED -24 /* (7) Access denied due to prohibited access or directory full */ +#define FSYS_ERR_EXIST -25 /* (8) Access denied due to prohibited access */ +#define FSYS_ERR_INVALID_OBJECT -26 /* (9) The file/directory object is invalid */ +#define FSYS_ERR_WRITE_PROTECTED -27 /* (10) The physical drive is write protected */ +#define FSYS_ERR_INVALID_DRIVE -28 /* (11) The logical drive number is invalid */ +#define FSYS_ERR_NOT_ENABLED -29 /* (12) The volume has no work area */ +#define FSYS_ERR_NO_FILESYSTEM -30 /* (13) There is no valid FAT volume */ +#define FSYS_ERR_MKFS_ABORTED -31 /* (14) The f_mkfs() aborted due to any problem */ +#define FSYS_ERR_TIMEOUT -32 /* (15) Could not get a grant to access the volume within defined period */ +#define FSYS_ERR_LOCKED -33 /* (16) The operation is rejected according to the file sharing policy */ +#define FSYS_ERR_NOT_ENOUGH_CORE -34 /* (17) LFN working buffer could not be allocated */ +#define FSYS_ERR_TOO_MANY_OPEN_FILES -35 /* (18) Number of open files > FF_FS_LOCK */ +#define FSYS_ERR_INVALID_PARAMETER -36 /* (19) Given parameter is invalid */ + +#define ERR_NOT_SUPPORTED -37 /* Device does not support the file or operation */ +#define ERR_BAD_ARGUMENT -38 /* An invalid argument was provided */ +#define ERR_MEDIA_CHANGE -39 /* Removable media has changed */ +#define ERR_NOT_READY -40 /* Media device is not ready */ + +#endif diff --git a/client/src/include/sys_macros.h b/client/src/include/sys_macros.h new file mode 100644 index 0000000..aa728ee --- /dev/null +++ b/client/src/include/sys_macros.h @@ -0,0 +1,28 @@ +/** + * @file sys_macros.h + * @brief Macros needed for the Foenix Toolbox + * @version 0.1 + * @date 2024-09-02 + * + * @copyright Copyright (c) 2024 + * + */ + +#ifndef _sys_macros_h_ +#define _sys_macros_h_ + +/* + * Define the machine-specific system call function prefix + */ + +#ifdef __CALYPSI_CORE_65816__ +// +// System calls on the 65816 pass parameters primarily on stack using the Calypsi +// simple call convention and save/restore the direct page and data bank registers. +// +#define SYSTEMCALL __attribute__((simple_call)) __attribute__((saveds)) +#else +#define SYSTEMCALL +#endif + +#endif \ No newline at end of file diff --git a/client/src/include/sys_types.h b/client/src/include/sys_types.h new file mode 100644 index 0000000..e73111c --- /dev/null +++ b/client/src/include/sys_types.h @@ -0,0 +1,163 @@ +/** + * @file sys_types.h + * @brief Public-facing ypes used by the Foenix Toolbox + * @version 0.1 + * @date 2024-09-02 + * + * @copyright Copyright (c) 2024 + * + */ + +#ifndef _sys_types_h_ +#define _sys_types_h_ + +#include +#include +#include "constants.h" + +/** + * @struct s_extent + * + * An extent or size of a rectangular area + */ +typedef struct s_extent { + short width; /**< The width of the region */ + short height; /**< The height of the region */ +} t_extent, *p_extent; + +/** + * @struct s_point + * + * A point on a plane + */ +typedef struct s_point { + short x; /**< The column of the point */ + short y; /**< The row of the point */ +} t_point, *p_point; + +/** + * @struct s_rect + * + * A rectangle on the screen + */ +typedef struct s_rect { + t_point origin; /**< The upper-left corner of the rectangle */ + t_extent size; /**< The size of the rectangle */ +} t_rect, *p_rect; + +// +// A color (BGR) +// +typedef struct s_color3 { + uint8_t blue; + uint8_t green; + uint8_t red; +} t_color3; + +// +// A color entry for a color lookup table (BGRA) +// +typedef struct s_color4 { + uint8_t blue; + uint8_t green; + uint8_t red; + uint8_t alpha; +} t_color4; + +/* + * Type declaration for an interrupt handler + */ + +typedef void (*p_int_handler)(); + +/* + * Structure to describe the hardware + */ + +typedef struct s_sys_info { + uint16_t mcp_version; /* Current version of the MCP kernel */ + uint16_t mcp_rev; /* Current revision, or sub-version of the MCP kernel */ + uint16_t mcp_build; /* Current vuild # of the MCP kernel */ + uint16_t model; /* Code to say what model of machine this is */ + uint16_t sub_model; /* 0x00 = PB, 0x01 = LB, 0x02 = CUBE */ + const char * model_name; /* Human readable name of the model of the computer */ + uint16_t cpu; /* Code to say which CPU is running */ + const char * cpu_name; /* Human readable name for the CPU */ + uint32_t cpu_clock_khz; /* Speed of the CPU clock in KHz */ + unsigned long fpga_date; /* YYYYMMDD */ + uint16_t fpga_model; /* FPGA model number */ + uint16_t fpga_version; /* FPGA version */ + uint16_t fpga_subver; /* FPGA sub-version */ + uint32_t system_ram_size; /* The number of bytes of system RAM on the board */ + bool has_floppy; /* TRUE if the board has a floppy drive installed */ + bool has_hard_drive; /* TRUE if the board has a PATA device installed */ + bool has_expansion_card; /* TRUE if an expansion card is installed on the device */ + bool has_ethernet; /* TRUE if an ethernet port is present */ + uint16_t screens; /* How many screens are on this computer */ +} t_sys_info, *p_sys_info; + +/* + * Structure defining a block device's functions + */ + +typedef struct s_dev_block { + short number; // The number of the device (assigned by registration) + char * name; // The name of the device + void * data; // Device-specific data block + short (*init)(struct s_dev_block *); // Initialize the device + short (*read)(struct s_dev_block *, long lba, uint8_t * buffer, short size); // Read a block from the device + short (*write)(struct s_dev_block *, long lba, const uint8_t * buffer, short size); // Write a block to the device + short (*status)(struct s_dev_block *); // Get the status of the device + short (*flush)(struct s_dev_block *); // Ensure that any pending writes to the device have been completed + short (*ioctrl)(struct s_dev_block *, short command, unsigned char * buffer, short size); // Issue a control command to the device +} t_dev_block, *p_dev_block; + +/* + * Type for directory information about a file + */ + +typedef struct s_file_info { + long size; + unsigned short date; + unsigned short time; + unsigned char attributes; + char name[MAX_PATH_LEN]; +} t_file_info, * p_file_info; + +/* + * Pointer type for file loaders + * + * short loader(short chan, destination, start); + */ + +typedef short (*p_file_loader)(short chan, long destination, long * start); + +/* + * Type to describe the current time + */ + +typedef struct s_time { + short year; + short month; + short day; + short hour; + short minute; + short second; + short is_pm; + short is_24hours; +} t_time, *p_time; + +/* + * A description of a screen's capabilities + */ + +typedef struct s_txt_capabilities { + short number; /**< The unique ID of the screen */ + short supported_modes; /**< The display modes supported on this screen */ + short font_size_count; /**< The number of supported font sizes */ + p_extent font_sizes; /**< Pointer to a list of t_extent listing all supported font sizes */ + short resolution_count; /**< The number of supported display resolutions */ + p_extent resolutions; /**< Pointer to a list of t_extent listing all supported display resolutions (in pixels) */ +} t_txt_capabilities, *p_txt_capabilities; + +#endif \ No newline at end of file diff --git a/client/src/include/toolbox.h b/client/src/include/toolbox.h new file mode 100644 index 0000000..039a484 --- /dev/null +++ b/client/src/include/toolbox.h @@ -0,0 +1,818 @@ +/** + * @file toolbox.h + * @brief Public-facing calls for the Foenix Toolbox + * @version 0.1 + * @date 2024-09-02 + * + * @copyright Copyright (c) 2024 + * + */ + +#ifndef __toolbox_h__ +#define __toolbox_h__ + +#include +#include +#include "constants.h" +#include "sys_macros.h" +#include "sys_types.h" + +/* + * Quit the current user process + * + * NOTE: at the moment, this relaunches the CLI. In the future, this + * may cause execution to return to the program that started + * the user process. + * + * Inputs: + * result = the code to return to the kernel + */ +extern SYSTEMCALL void sys_exit(short result); + +/* + * Enable all interrupts + * + * NOTE: this is actually provided in the low level assembly + */ +extern SYSTEMCALL void sys_int_enable_all(); + +/* + * Disable all interrupts + * + * NOTE: this is actually provided in the low level assembly + */ +extern SYSTEMCALL void sys_int_disable_all(); + +/* + * Disable an interrupt by masking it + * + * Inputs: + * n = the number of the interrupt: n[7..4] = group number, n[3..0] = individual number. + */ +extern SYSTEMCALL void sys_int_disable(unsigned short n); + +/* + * Enable an interrupt + * + * Inputs: + * n = the number of the interrupt + */ +extern SYSTEMCALL void sys_int_enable(unsigned short n); + +/* + * Register a handler for a given interrupt. + * + * Inputs: + * n = the number of the interrupt + * handler = pointer to the interrupt handler to register + * + * Returns: + * the pointer to the previous interrupt handler + */ +extern SYSTEMCALL p_int_handler sys_int_register(unsigned short n, p_int_handler handler); + +/* + * Return true (non-zero) if an interrupt is pending for the given interrupt + * + * Inputs: + * n = the number of the interrupt: n[7..4] = group number, n[3..0] = individual number. + * + * Returns: + * non-zero if interrupt n is pending, 0 if not + */ +extern SYSTEMCALL short sys_int_pending(unsigned short n); + +/* + * Fill out a s_sys_info structure with the information about the current system + * + * Inputs: + * info = pointer to a s_sys_info structure to fill out + */ +extern SYSTEMCALL void sys_get_info(p_sys_info info); + +/* + * Acknowledge an interrupt (clear out its pending flag) + * + * Inputs: + * n = the number of the interrupt: n[7..4] = group number, n[3..0] = individual number. + */ +extern SYSTEMCALL void sys_int_clear(unsigned short n); + +/*** + *** Channel system calls + ***/ + +/* + * Read a single byte from the channel + * + * Inputs: + * channel = the number of the channel + * + * Returns: + * the value read (if negative, error) + */ +extern SYSTEMCALL short sys_chan_read_b(short channel); + +/* + * Read bytes from the channel + * + * Inputs: + * channel = the number of the channel + * buffer = the buffer into which to copy the channel data + * size = the size of the buffer. + * + * Returns: + * number of bytes read, any negative number is an error code + */ +extern SYSTEMCALL short sys_chan_read(short channel, unsigned char * buffer, short size); + +/* + * Read a line of text from the channel + * + * Inputs: + * channel = the number of the channel + * buffer = the buffer into which to copy the channel data + * size = the size of the buffer + * + * Returns: + * number of bytes read, any negative number is an error code + */ +extern SYSTEMCALL short sys_chan_readline(short channel, unsigned char * buffer, short size); + +/* + * Write a single byte to the device + * + * Inputs: + * channel = the number of the channel + * b = the byte to write + * + * Returns: + * 0 on success, a negative value on error + */ +extern SYSTEMCALL short sys_chan_write_b(short channel, uint8_t b); + +/* + * Write a byte to the channel + * + * Inputs: + * channel = the number of the channel + * b = the byte to write + * + * Returns: + * number of bytes written, any negative number is an error code + */ +extern SYSTEMCALL short sys_chan_write(short channel, const uint8_t * buffer, short size); + +/* + * Return the status of the channel device + * + * Inputs: + * channel = the number of the channel + * + * Returns: + * the status of the device + */ +extern SYSTEMCALL short sys_chan_status(short channel); + +/* + * Ensure that any pending writes to teh device have been completed + * + * Inputs: + * channel = the number of the channel + * + * Returns: + * 0 on success, any negative number is an error code + */ +extern SYSTEMCALL short sys_chan_flush(short channel); + +/* + * Attempt to set the position of the channel cursor (if supported) + * + * Inputs: + * channel = the number of the channel + * position = the position of the cursor + * base = whether the position is absolute or relative to the current position + * + * Returns: + * 0 = success, a negative number is an error. + */ +extern SYSTEMCALL short sys_chan_seek(short channel, long position, short base); + +/* + * Issue a control command to the device + * + * Inputs: + * channel = the number of the channel + * command = the number of the command to send + * buffer = pointer to bytes of additional data for the command + * size = the size of the buffer + * + * Returns: + * 0 on success, any negative number is an error code + */ +extern SYSTEMCALL short sys_chan_ioctrl(short channel, short command, uint8_t * buffer, short size); + +/* + * Open a channel + * + * Inputs: + * dev = the device number to have a channel opened + * path = a "path" describing how the device is to be open + * mode = is the device to be read, written, both? (0x01 = READ flag, 0x02 = WRITE flag, 0x03 = READ and WRITE) + * + * Returns: + * the number of the channel opened, negative number on error + */ +extern SYSTEMCALL short sys_chan_open(short dev, const char * path, short mode); + +/* + * Close a channel + * + * Inputs: + * chan = the number of the channel to close + * + * Returns: + * nothing useful + */ +extern SYSTEMCALL short sys_chan_close(short chan); + +/** + * Swap the channel ID assignments for two channels + * + * Before call: channel1 = "Channel A", channel2 = "Channel B" + * After call: channel1 = "Channel B", channel2 = "Channel A" + * + * @param channel1 the ID of one of the channels + * @param channel2 the ID of the other channel + * @return 0 on success, any other number is an error + */ +extern SYSTEMCALL short sys_chan_swap(short channel1, short channel2); + +/** + * Return the device associated with the channel + * + * @param channel the ID of the channel to query + * @return the ID of the device associated with the channel, negative number for error + */ +extern SYSTEMCALL short sys_chan_device(short channel); + +/* + * Compute the size information for the text screen based on the current settings in VICKY + * These settings are needed to correctly position text on the screen. + * + * Inputs: + * screen = the screen number 0 for channel A, 1 for channel B + */ +extern SYSTEMCALL void sys_text_setsizes(short chan); + +/*** + *** Block device system calls + ***/ + +// +// Register a block device driver +// +extern SYSTEMCALL short sys_bdev_register(p_dev_block device); + +// +// Read a block from the device +// +// Inputs: +// dev = the number of the device +// lba = the logical block address of the block to read +// buffer = the buffer into which to copy the block data +// size = the size of the buffer. +// +// Returns: +// number of bytes read, any negative number is an error code +// +extern SYSTEMCALL short sys_bdev_read(short dev, long lba, uint8_t * buffer, short size); + +// +// Write a block from the device +// +// Inputs: +// dev = the number of the device +// lba = the logical block address of the block to write +// buffer = the buffer containing the data to write +// size = the size of the buffer. +// +// Returns: +// number of bytes written, any negative number is an error code +// +extern SYSTEMCALL short sys_bdev_write(short dev, long lba, const uint8_t * buffer, short size); + +// +// Return the status of the block device +// +// Inputs: +// dev = the number of the device +// +// Returns: +// the status of the device +// +extern SYSTEMCALL short sys_bdev_status(short dev); + +// +// Ensure that any pending writes to teh device have been completed +// +// Inputs: +// dev = the number of the device +// +// Returns: +// 0 on success, any negative number is an error code +// +extern SYSTEMCALL short sys_bdev_flush(short dev); + +// +// Issue a control command to the device +// +// Inputs: +// dev = the number of the device +// command = the number of the command to send +// buffer = pointer to bytes of additional data for the command +// size = the size of the buffer +// +// Returns: +// 0 on success, any negative number is an error code +// +extern SYSTEMCALL short sys_bdev_ioctrl(short dev, short command, uint8_t * buffer, short size); + + +/* + * File System Calls + */ + +/** + * Attempt to open a file given the path to the file and the mode. + * + * Inputs: + * path = the ASCIIZ string containing the path to the file. + * mode = the mode (e.g. r/w/create) + * + * Returns: + * the channel ID for the open file (negative if error) + */ +extern SYSTEMCALL short sys_fsys_open(const char * path, short mode); + +/** + * Close access to a previously open file. + * + * Inputs: + * fd = the channel ID for the file + * + * Returns: + * 0 on success, negative number on failure + */ +extern SYSTEMCALL short sys_fsys_close(short fd); + +/** + * Attempt to open a directory for scanning + * + * Inputs: + * path = the path to the directory to open + * + * Returns: + * the handle to the directory if >= 0. An error if < 0 + */ +extern SYSTEMCALL short sys_fsys_opendir(const char * path); + +/** + * Close access to a previously open file. + * + * Inputs: + * fd = the channel ID for the file + * + * Returns: + * 0 on success, negative number on failure + */ +extern SYSTEMCALL short sys_fsys_close(short fd); + +/** + * Attempt to open a directory for scanning + * + * Inputs: + * path = the path to the directory to open + * + * Returns: + * the handle to the directory if >= 0. An error if < 0 + */ +extern SYSTEMCALL short sys_fsys_opendir(const char * path); + +/** + * Close a previously open directory + * + * Inputs: + * dir = the directory handle to close + * + * Returns: + * 0 on success, negative number on error + */ +extern SYSTEMCALL short sys_fsys_closedir(short dir); + +/** + * Attempt to read an entry from an open directory + * + * Inputs: + * dir = the handle of the open directory + * file = pointer to the t_file_info structure to fill out. + * + * Returns: + * 0 on success, negative number on failure + */ +extern SYSTEMCALL short sys_fsys_readdir(short dir, p_file_info file); + +/** + * Open a directory given the path and search for the first file matching the pattern. + * + * Inputs: + * path = the path to the directory to search + * pattern = the file name pattern to search for + * file = pointer to the t_file_info structure to fill out + * + * Returns: + * the directory handle to use for subsequent calls if >= 0, error if negative + */ +extern SYSTEMCALL short sys_fsys_findfirst(const char * path, const char * pattern, p_file_info file); + +/** + * Open a directory given the path and search for the first file matching the pattern. + * + * Inputs: + * dir = the handle to the directory (returned by fsys_findfirst) to search + * file = pointer to the t_file_info structure to fill out + * + * Returns: + * 0 on success, error if negative + */ +extern SYSTEMCALL short sys_fsys_findnext(short dir, p_file_info file); + +/* + * Get the label for the drive holding the path + * + * Inputs: + * path = path to the drive + * label = buffer that will hold the label... should be at least 35 bytes + */ +extern SYSTEMCALL short sys_fsys_get_label(const char * path, char * label); + +/* + * Set the label for the drive holding the path + * + * Inputs: + * drive = drive number + * label = buffer that holds the label + */ +extern SYSTEMCALL short sys_fsys_set_label(short drive, const char * label); + +/** + * Create a directory + * + * Inputs: + * path = the path of the directory to create. + * + * Returns: + * 0 on success, negative number on failure. + */ +extern SYSTEMCALL short sys_fsys_mkdir(const char * path); + +/** + * Delete a file or directory + * + * Inputs: + * path = the path of the file or directory to delete. + * + * Returns: + * 0 on success, negative number on failure. + */ +extern SYSTEMCALL short sys_fsys_delete(const char * path); + +/** + * Rename a file or directory + * + * Inputs: + * old_path = the current path to the file + * new_path = the new path for the file + * + * Returns: + * 0 on success, negative number on failure. + */ +extern SYSTEMCALL short sys_fsys_rename(const char * old_path, const char * new_path); + +/** + * Change the current working directory (and drive) + * + * Inputs: + * path = the path that should be the new current + * + * Returns: + * 0 on success, negative number on failure. + */ +extern SYSTEMCALL short sys_fsys_set_cwd(const char * path); + +/** + * Get the current working drive and directory + * + * Inputs: + * path = the buffer in which to store the directory + * size = the size of the buffer in bytes + * + * Returns: + * 0 on success, negative number on failure. + */ +extern SYSTEMCALL short sys_fsys_get_cwd(char * path, short size); + +/* + * Load a file into memory at the designated destination address. + * + * If destination = 0, the file must be in a recognized binary format + * that specifies its own loading address. + * + * Inputs: + * path = the path to the file to load + * destination = the destination address (0 for use file's address) + * start = pointer to the long variable to fill with the starting address + * (0 if not an executable, any other number if file is executable + * with a known starting address) + * + * Returns: + * 0 on success, negative number on error + */ +extern SYSTEMCALL short sys_fsys_load(const char * path, uint32_t destination, uint32_t * start); + +/* + * Register a file loading routine + * + * A file loader, takes a channel number to load from and returns a + * short that is the status of the load. + * + * Inputs: + * extension = the file extension to map to + * loader = pointer to the file load routine to add + * + * Returns: + * 0 on success, negative number on error + */ +extern SYSTEMCALL short sys_fsys_register_loader(const char * extension, p_file_loader loader); + +/** + * Check to see if the file is present. + * If it is not, return a file not found error. + * If it is, populate the file info record + * + * @param path the path to the file to check + * @param file pointer to a file info record to fill in, if the file is found. + * @return 0 on success, negative number on error + */ +extern SYSTEMCALL short sys_fsys_stat(const char * path, p_file_info file); + +/** + * Memory + */ + +/** + * Return the top of system RAM... the user program must not use any + * system memory from this address and above. + * + * @return the address of the first byte of reserved system RAM (one above the last byte the user program can use) + */ +extern SYSTEMCALL uint32_t sys_mem_get_ramtop(); + +/** + * Reserve a block of memory at the top of system RAM. + * + * @param bytes the number of bytes to reserve + * @return address of the first byte of the reserved block + */ +extern SYSTEMCALL uint32_t sys_mem_reserve(uint32_t bytes); + +/* + * Miscellaneous + */ + +/* + * Get the number of jiffies since the system last booted. + * + * NOTE: a jiffie is 1/60 of a second. This timer will not be + * 100% precise, so it should be used for timeout purposes + * where precision is not critical. + * + * Returns: + * the number of jiffies since the last reset + */ +extern SYSTEMCALL uint32_t sys_time_jiffies(); + +/* + * Set the time on the RTC + * + * Inputs: + * time = pointer to a t_time record containing the correct time + */ +extern SYSTEMCALL void sys_rtc_set_time(p_time time); + +/* + * Get the time on the RTC + * + * Inputs: + * time = pointer to a t_time record in which to put the current time + */ +extern SYSTEMCALL void sys_rtc_get_time(p_time time); + +/* + * Return the next scan code from the keyboard... 0 if nothing pending + */ +extern SYSTEMCALL uint16_t sys_kbd_scancode(); + +/* + * Return an error message given an error number + */ +extern SYSTEMCALL const char * sys_err_message(short err_number); + +/* + * Set the keyboard translation tables + * + * The translation tables provided to the keyboard consist of eight + * consecutive tables of 128 characters each. Each table maps from + * the MAKE scan code of a key to its appropriate 8-bit character code. + * + * The tables included must include, in order: + * - UNMODIFIED: Used when no modifier keys are pressed or active + * - SHIFT: Used when the SHIFT modifier is pressed + * - CTRL: Used when the CTRL modifier is pressed + * - CTRL-SHIFT: Used when both CTRL and SHIFT are pressed + * - CAPSLOCK: Used when CAPSLOCK is down but SHIFT is not pressed + * - CAPSLOCK-SHIFT: Used when CAPSLOCK is down and SHIFT is pressed + * - ALT: Used when only ALT is presse + * - ALT-SHIFT: Used when ALT is pressed and either CAPSLOCK is down + * or SHIFT is pressed (but not both) + * + * Inputs: + * tables = pointer to the keyboard translation tables + */ +extern SYSTEMCALL short sys_kbd_layout(const char * tables); + +/** + * Load and execute an executable file + * + * @param path the path to the executable file + * @param argc the number of arguments passed + * @param argv the array of string arguments + * @return the return result of the program + */ +extern SYSTEMCALL short sys_proc_run(const char * path, int argc, char * argv[]); + +// +// Text screen calls +// + +/** + * Gets the description of a screen's capabilities + * + * @param screen the number of the text device + * + * @return a pointer to the read-only description (0 on error) + */ +extern SYSTEMCALL const p_txt_capabilities sys_txt_get_capabilities(short screen); + +/** + * Set the display mode for the screen + * + * @param screen the number of the text device + * @param mode a bitfield of desired display mode options + * + * @return 0 on success, any other number means the mode is invalid for the screen + */ +extern SYSTEMCALL short sys_txt_set_mode(short screen, short mode); + +/** + * Set the position of the cursor to (x, y) relative to the current region + * If the (x, y) coordinate is outside the region, it will be clipped to the region. + * If y is greater than the height of the region, the region will scroll until that relative + * position would be within view. + * + * @param screen the number of the text device + * @param x the column for the cursor + * @param y the row for the cursor + */ +extern SYSTEMCALL void sys_txt_set_xy(short screen, short x, short y); + +/** + * Get the position of the cursor (x, y) relative to the current region + * + * @param screen the number of the text device + * @param position pointer to a t_point record to fill out + */ +extern SYSTEMCALL void sys_txt_get_xy(short screen, p_point position); + +/** + * Get the current region. + * + * @param screen the number of the text device + * @param region pointer to a t_rect describing the rectangular region (using character cells for size and size) + * + * @return 0 on success, any other number means the region was invalid + */ +extern SYSTEMCALL short sys_txt_get_region(short screen, p_rect region); + +/** + * Set a region to restrict further character display, scrolling, etc. + * Note that a region of zero size will reset the region to the full size of the screen. + * + * @param screen the number of the text device + * @param region pointer to a t_rect describing the rectangular region (using character cells for size and size) + * + * @return 0 on success, any other number means the region was invalid + */ +extern SYSTEMCALL short sys_txt_set_region(short screen, p_rect region); + +/** + * Set the default foreground and background colors for printing + * + * @param screen the number of the text device + * @param foreground the Text LUT index of the new current foreground color (0 - 15) + * @param background the Text LUT index of the new current background color (0 - 15) + */ +extern SYSTEMCALL void sys_txt_set_color(short screen, unsigned char foreground, unsigned char background); + +/* + * Get the foreground and background color for printing + * + * Inputs: + * screen = the screen number 0 for channel A, 1 for channel B + * foreground = pointer to the foreground color number + * background = pointer to the background color number + */ +extern SYSTEMCALL void sys_txt_get_color(short screen, unsigned char * foreground, unsigned char * background); + +/** + * Set if the cursor is visible or not + * + * @param screen the screen number 0 for channel A, 1 for channel B + * @param is_visible TRUE if the cursor should be visible, FALSE (0) otherwise + */ +extern SYSTEMCALL void sys_txt_set_cursor_visible(short screen, short is_visible); + +/** + * Load a font as the current font for the screen + * + * @param screen the number of the text device + * @param width width of a character in pixels + * @param height of a character in pixels + * @param data pointer to the raw font data to be loaded + */ +extern SYSTEMCALL short sys_txt_set_font(short screen, short width, short height, unsigned char * data); + +/** + * Get the display resolutions + * + * @param screen the screen number 0 for channel A, 1 for channel B + * @param text_size the size of the screen in visible characters (may be null) + * @param pixel_size the size of the screen in pixels (may be null) + */ +extern SYSTEMCALL void sys_txt_get_sizes(short screen, p_extent text_size, p_extent pixel_size); + +/** + * Set the size of the border of the screen (if supported) + * + * @param screen the number of the text device + * @param width the horizontal size of one side of the border (0 - 32 pixels) + * @param height the vertical size of one side of the border (0 - 32 pixels) + */ +extern SYSTEMCALL void sys_txt_set_border(short screen, short width, short height); + +/** + * Set the size of the border of the screen (if supported) + * + * @param screen the number of the text device + * @param red the red component of the color (0 - 255) + * @param green the green component of the color (0 - 255) + * @param blue the blue component of the color (0 - 255) + */ +extern SYSTEMCALL void sys_txt_set_border_color(short screen, unsigned char red, unsigned char green, unsigned char blue); + +/** + * Print a character to the current cursor position in the current color + * + * Most character codes will result in a glyph being displayed at the current + * cursor position, advancing the cursor one spot. There are some exceptions that + * will be treated as control codes: + * + * 0x08 - BS - Move the cursor back one position, erasing the character underneath + * 0x09 - HT - Move forward to the next TAB stop + * 0x0A - LF - Move the cursor down one line (line feed) + * 0x0D - CR - Move the cursor to column 0 (carriage return) + * + * @param screen the number of the text device + * @param c the character to print + */ +extern SYSTEMCALL void sys_txt_put(short screen, char c); + +/** + * Print an ASCII Z string to the screen + * + * @param screen the number of the text device + * @param c the ASCII Z string to print + */ +extern SYSTEMCALL void sys_txt_print(short screen, const char * message); + +#endif diff --git a/client/src/stubs.c b/client/src/stubs.c new file mode 100644 index 0000000..a289a97 --- /dev/null +++ b/client/src/stubs.c @@ -0,0 +1,224 @@ +/** + * @file stubs.c + * @brief Stubs for Calypsi I/O routines + * @version 0.1 + * @date 2024-09-02 + * + * @copyright Copyright (c) 2024 + * + */ + +#include "include/toolbox.h" + +#include +#include +#include +#include +#include + +#define MAX_FD 16 + +struct s_file_descriptor { + bool is_open; + int public_fd; + short toolbox_fd; +}; + +static bool is_inited = false; +static struct s_file_descriptor file_descriptor[MAX_FD]; + +static void init() { + if (!is_inited) { + is_inited = true; + + // Define stdin + file_descriptor[0].is_open = true; + file_descriptor[0].public_fd = 0; + file_descriptor[0].toolbox_fd = 0; + + // Define stdout + file_descriptor[1].is_open = true; + file_descriptor[1].public_fd = 0; + file_descriptor[1].toolbox_fd = 0; + + // Define stderr + file_descriptor[2].is_open = true; + file_descriptor[2].public_fd = 0; + file_descriptor[2].toolbox_fd = 0; + + for (int i = 3; i < MAX_FD; i++) { + file_descriptor[i].is_open = false; + file_descriptor[i].public_fd = 0; + file_descriptor[i].toolbox_fd = 0; + } + } +} + +/** + * @brief Find a free file descriptor + * + * @return int the index of the available (closed) file descriptor (-1 for error) + */ +static int find_fd() { + for (int i = 3; i < MAX_FD; i++) { + if (!file_descriptor[i].is_open) { + // Found one that is closed... return it's public ID + return file_descriptor[i].public_fd; + } + } + + // Return an error + return -1; +} + +/**************************************************************************** + * Name: _Stub_open + * + * Description: + * Open a file. + * The oflag argument are POSIX style mode flags, e.g O_RDONLY which + * are defined in fcntl.h. + * This function is variadic as it optionally can take a mode_t that + * are permissions, e.g 0666. If the file system does not handle + * permissions you can ignore that this function is variadic. + * The return file descriptor shall be a positive number, larger + * than 2 (as 0-2 are used for stdin, stdout and stderr). + * The actual number does not matter and they need not to be + * consequtive, multiple numeric series with gaps between can be used. + * + * Return the obtained file descriptor or EOF (-1) on failure and set + * errno according to the error. + * + ****************************************************************************/ + +int _Stub_open(const char *path, int oflag, ...) { + int fd = find_fd(); + if (fd >= 0) { + int mode = 0; + + if ((oflag & O_RDONLY) == O_RDONLY) { + mode = FSYS_READ | FSYS_OPEN_EXISTING; + } + + if ((oflag & O_WRONLY) == O_WRONLY) { + mode = FSYS_WRITE; + } + + if ((oflag & O_RDWR) == O_RDWR) { + mode = FSYS_READ | FSYS_WRITE; + } + + if ((oflag & O_CREAT) == O_CREAT) { + mode |= FSYS_CREATE_NEW | FSYS_CREATE_ALWAYS; + } + + short toolbox_fd = sys_fsys_open(path, mode); + if (toolbox_fd >= 0) { + file_descriptor[fd].is_open = true; + file_descriptor[fd].toolbox_fd = toolbox_fd; + + return fd; + } else { + return -1; + } + + } else { + errno = ENFILE; + return -1; + } +} + +/**************************************************************************** + * Name: _Stub_close + * + * Description: + * Close a file + * + * Return 0 if operation was OK, EOF otherwise and set errno according to + * the error. + * Note: This will only be invoked for streams opened by _Stub_open(), + * there is no need to check for the standard descriptor 0-2. + * + ****************************************************************************/ + +int _Stub_close(int fd) { + if (file_descriptor[fd].is_open) { + sys_fsys_close(file_descriptor[fd].toolbox_fd); + file_descriptor[fd].toolbox_fd = 0; + file_descriptor[fd].is_open = false; + } + + return 0; +} + +/**************************************************************************** + * Name: _Stub_read + * + * Description: + * Read from a file + * + * Returns the number of characters read. Return -1 on failure and set + * errno according to the error. + * + ****************************************************************************/ + +size_t _Stub_read(int fd, void *buf, size_t count) { + if (file_descriptor[fd].is_open) { + short n = sys_chan_read(file_descriptor[fd].toolbox_fd, (unsigned char *)buf, (short)count); + return n; + } else { + return -1; + } +} + +/**************************************************************************** + * Name: _Stub_write + * + * Description: + * Write to a file + * + * Returns the number of characters actually written. Return -1 on failure and + * set errno according to the error. + * + ****************************************************************************/ + +size_t _Stub_write(int fd, const void *buf, size_t count) { + if (file_descriptor[fd].is_open) { + short n = sys_chan_write(file_descriptor[fd].toolbox_fd, (unsigned char *)buf, (short)count); + return n; + } else { + return -1; + } +} + +/**************************************************************************** + * Name: _Stub_rename + * + * Description: + * Rename a file or directory + * + * Return 0 on success, -1 otherwise and set errno according to the + * error. + * + ****************************************************************************/ + +int _Stub_rename(const char *oldpath, const char *newpath) { + short result = sys_fsys_rename(oldpath, newpath); + return result; +} + +/**************************************************************************** + * Name: _Stub_remove + * + * Description: + * Remove a file or directory + * + * Return 0 on success, -1 otherwise and set errno according to the + * error. + * + ****************************************************************************/ + +int _Stub_remove(const char *path) { + short result = sys_fsys_delete(path); + return result; +} diff --git a/roms/f256jr/README.md b/roms/f256jr/README.md new file mode 100644 index 0000000..39bdc81 --- /dev/null +++ b/roms/f256jr/README.md @@ -0,0 +1,12 @@ +# ROM Files for the F256jr + +This directory contains BIN files for programming the F256jr flash memory with the Foenix Toolbox. + +## How to Install + +Currently, the toolbox must be installed by bulk programming the flash memory. +Using the FoenixMgr Python script, this can be done with the following command (substitute the device path or name for your F256K's USB debug port): + +``` +python FoenixMgr.zip --port {debug device name} --flash-bulk toolbox.csv +``` diff --git a/roms/f256jr/toolbox-20.bin b/roms/f256jr/toolbox-20.bin new file mode 100644 index 0000000000000000000000000000000000000000..8584a3bb2b891a8715edda0b54a9f61176e99d7a GIT binary patch literal 8192 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 A*8l(j literal 0 HcmV?d00001 diff --git a/roms/f256jr/toolbox-21.bin b/roms/f256jr/toolbox-21.bin new file mode 100644 index 0000000000000000000000000000000000000000..e5e66c7ea2b3e2f59861d9a05013025eaf0738d2 GIT binary patch literal 8192 zcmeHM2~d?s67HG*2}snSf+#3IJQzH9ARgd>Mo@`I1jGxYh#(K~z#|$|#3-QR^MHq9 z)QzY_jrXc(j9G<zSVJ z>G^-E7%mPHM~Fkjkz%6gPwK!2wQ^bi2N4YZ{NC&R$>)VP?F!bp03giOQ+=?uEdL~W3S zd&3`0U&B-Q8U6+ThDx{!Kf-mm0YAZQxCJ+%0*=8qa1D+_72Jnk;0Zhegnz&#SPvWE zGuZ6Cj9h{Lz+HF@ci=nN1_$5}xcKgXGAM;lVLKdzrED21WR&@_BsPi-VS`yRi)C?a z1dC_GnG17e?U{--Wx%?y1U8ZlV}saOHku`}{w$59vN24}QrP=!C>y{Avhi#jYs~5} z4V%Z7umYCFN`!wxp-?Vt5RMA_phDOrtP-{gp9@~fsyII+Er^mfAf0J#NKu8+Fxr)lR&}G{G=lTH)R_#V;gHRv z8BC>EhEgpVMhi$h9YGW5NLome=qS3JsA&ovO;hPg9@jWJN|i<@(22B&Or{^uHDoIN zkViL-PNy?y2AxSW=`5;N&8BncCX!8a=vFe1&ZoI_0o_S@QYpqrnn&}gmKM;ZbU(=y z1o&0>O+aCXpnzOKBPyX7G$y|Y&hSXMD^v;h zg!{q+&X0u0oP!nKLVtyeW1>Py7AZo>VMRUicLjlR#aTs9l2prIAzil~ymf=F5C&af zD3^OecL;}f;B9Cr!O#&}@xB?j0F}o8DiFa7>H~jaa0-Gz@P-CZ3*_aX6SM{&aD|58 zAmeQy7<@qqZr~`70osBeGy*56Esxs)19xZ)Z-KKsZVw^g56z(o)Y03w;7<>zD~~!u zC^Q96E(hpQ)1#g&#+Vdb8UO>KKlFnr=*{an65=4*4A%`JZ0P<}=`s*6KN4)FW4MLZ zay-HUf4*Uw9kU5F;-fh_7LxTgqaX#wad|w9G0sYrCAD$%D@7L_bGwC1Wk+|8ozjG>+n==29}SH$9=KgaC@IlxUO3;7KXII*}fi#hjt-uUW&hIr{dG;L-2N5G+s`K z#BckDVM%B!e0(k&9~_Or`(L!gs;vTET`k~u8j5ApDXxwqc>Qt~UO5|u7mxenxl+Kx zI{-JY1k}z2R3`#foXWx-Uqs<2oBUC;0x)wS;P?!{__2WDQGip1+KEsxNB&OOYj zM2tC)*y1Fj<6%VD%UdyTTHYohW}QZi+K=eJnU7cTw&V%Ita}J)w-I8m;nMAhDT@$$ zOh#13A$rADVUxbs(5=S>tP^?&H*PD%Ihs!~d14;+9-M&@{U%_C@DUi)J{o<~LG_7@?3L_#5o<8Beek{SiRg0D*1DtBd#zhVo^#0&JG5s??a)yY3J>Tus zyYGAbIxA$}%#;M&Bk_S-I=&76TWR5&;~ zIlomWOv&T-Xe>0M_3EmEn!Zf`=JCIJ|K{g!%D;5}#{A3Yug|}9{+9XY=?mml6u=h? z4tkOEH`SkX{>J+2tmH2B^=CMLt^v^3-wXKXTP_L-ot-!jgb3;WjLc zs1CQVsD>JFGYbiKGmx~tOp;dT{7>ANA9qgA&X0sjWIKO4OxJS@^ZYifj!LowSIfU8 ztTQm3k3HPp`rKLdC1mf_{mTl2g&sBF07ivmVH{MiVWZM0R7WM*2*`pZYHnc*HCa3h z{bTiNFlWo%n4{M3S39`XJKlVKt<^Ws@b#1JtYPEVk$)T1YFjv08-3Wqjo@?5*Jw1- z7Nt(tO#74PbEW)~I*s(xn)^3^+)Brm^QHB<6KS&Sqo(+A8e_zzUbP!hMWeQJ!PA^!$cHa-ia(G<@M{}|a!_oLJW1V35r;y%`!)mji hIWEnv0e7?j`Os{>eO$MxYQ4q$YKTs>gFDuM{}1h7t)u_| literal 0 HcmV?d00001 diff --git a/roms/f256jr/toolbox-22.bin b/roms/f256jr/toolbox-22.bin new file mode 100644 index 0000000000000000000000000000000000000000..01eeb48e6d890c138865a95d5fae542ec054c86f GIT binary patch literal 8192 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 literal 0 HcmV?d00001 diff --git a/roms/f256jr/toolbox-25.bin b/roms/f256jr/toolbox-25.bin new file mode 100644 index 0000000000000000000000000000000000000000..40202ca7bb731ded64f28f54be2bea788a7c2607 GIT binary patch literal 8192 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 literal 0 HcmV?d00001 diff --git a/roms/f256jr/toolbox-27.bin b/roms/f256jr/toolbox-27.bin new file mode 100644 index 0000000000000000000000000000000000000000..9666319bf06fc68e2c8c2b2908c76d853f7cbf13 GIT binary patch literal 8192 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 literal 0 HcmV?d00001 diff --git a/roms/f256jr/toolbox-28.bin b/roms/f256jr/toolbox-28.bin new file mode 100644 index 0000000000000000000000000000000000000000..5ea79992ed10875b8d5a73bd2b3875f6ea090a2c GIT binary patch literal 8192 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 literal 0 HcmV?d00001 diff --git a/roms/f256jr/toolbox-2A.bin b/roms/f256jr/toolbox-2A.bin new file mode 100644 index 0000000000000000000000000000000000000000..078b98e3513c4f4a8e6b5410eaa7512dbffa085a GIT binary patch literal 8192 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 QfTB)Q`D=8A6w~nk0chf>bN~PV literal 0 HcmV?d00001 diff --git a/roms/f256jr/toolbox-2B.bin b/roms/f256jr/toolbox-2B.bin new file mode 100644 index 0000000000000000000000000000000000000000..c77309fe8d47bec0dd007e4804ee1f4ad43dd39d GIT binary patch literal 8192 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 EKQ}!A5dZ)H literal 0 HcmV?d00001 diff --git a/roms/f256jr/toolbox-2D.bin b/roms/f256jr/toolbox-2D.bin new file mode 100644 index 0000000000000000000000000000000000000000..472d56fe3d6bc5430b3374ce9b4b578396f42772 GIT binary patch literal 8192 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 literal 0 HcmV?d00001 diff --git a/roms/f256jr/toolbox-31.bin b/roms/f256jr/toolbox-31.bin new file mode 100644 index 0000000000000000000000000000000000000000..b20c169be10d78fb877605d8d28e56b18eb77d95 GIT binary patch literal 8192 zcmeHL2UL{T68;9*LRp$1MNsUDD0U6WGm5TQtuE8)A=*2rFi7(b#*9 zz4sQQ#;#b>do|h2fA{YCyDTrfck<48c}F<2Gyk3MyEAw0-1{$BkOH0A1p#IYEJ#I& z(ESi7bUKPjZS_BWwvF3#kihjpsL-j*bLDxJIaAoyNjsTs4{0Z{ZIE^%{LH@43w&4j zm;>av5e9Rxv^&Gg94axL;9)K)$2;;^8E6GJo^^R>r0r&|3|DEpnybJ?+9b4+oBG!s z)usQh(dxMi+CBax+6Z2)!Wsr|p@+a%=t1xodZ5$;3TWGoSam_amH%}7Kf~MjgJfPq zWS+xh-Xs2GeU25;!cDAetkm(WD;2@^VN9S3_y7I;*K}sQ+#AO|P@dD}J`RHQM5iHK z>`Mwt3!RK|LMNeu(21xdbXP79wmpyI zJ&lz6+Tj`7)f^>HbqCh}o?Y0SN?hx$q2y4(euJp<^x~VydL}!=Sk_~}?Tw2x7q zYN3PBH4!It4a5sQ7Mg#d2XoJQvbggdr)M3&eW7ECMeBvEnK_W(RqiZ0et+p$7qcVU zNJP5u_?fk=74f$t+Db(KLJ{pGqF*71Y0yYSUpcFiog!KmTO^yFZb$bi0(yoWomK?& zOglQY2Q^nBo_Ym72l$7IH z&!BtosLiA7kjqZpO&yT0GO`5EX+^3#yqN&*&D+1Izwj`Kz9*n4d43(=Z?k8i#V1;-klj4 z%=0^EG<3p9V1|;jC$mDF#%bh))k(!NNL%SQ_3C30>x9`+qC7aBcOlHTpmD;CF9I{e zDN}i;Dw(-+OrJtxj&sWFPz2_9r_A<}sppu!g~a5(bF$8MMPPCtI$^ezOdZGcDKNxQYUk?DR9^OnR|jTZFu0}V(;b&1%K6y^|!h#@>J9VdQHxuR1FnU#E)Y^Dl(ZX1PpvLqjb8_i*O4b?m zHV)^$j%s_z;}m8m58id-4(7D@l0p;}Xv3Vqy)9!ZTfkyMew$j4Qw0i(5% z)RabQO;uIsW7a(0p){%~@F6bVE;e*M>PI;`Q#FZKDiH?07bj6X&sCm^lP8s7E1G)H zYZupYAn&1A6^~PA|jDp zvIeqC)xSI==T3A%M0p>*2$K0wfz+9yv z7DqM0{OFf>l@?@IZ-6D$8e?g6Q!KC1967aPkz2P3R@807?8%BG#MwaKg4)-(xgS|nn7 zvt;aO-W@wz^uW%RJ+P}~Pi$zDjNPq!VNaXh*xWt^d)uXAU;8v{@0f}Mas6;GzCU&) z^u^&$18^i^Aodyu;6UPFoOopzP9_e=;cmlmI%y=1bsvSZ$)jh2@SX}O%fy=4ma6T;q7g(;OO~A!I<8ig`BwXv4iOc;b;!1iZuBT_=>VV0(HXsYP z22R8EK~r&k@KoFwJPo%8Pshz6({X3W4BQ$z1Gic34xNQN!)CI~!abI|!{5ezmU|;+ z<33BikU7X7IR_6|@<+~P%`$2(9*&xahp*4Wqu1x-@#t(k9+S;YXHm8T78d2h!m@br zVk}v*1WT7L#j<6~uzdM)y!YOFSg~RSR<2x$_uqdXt5&VT>eZ{UX3ZL`UAq?R)~&<( z_3N==!v<{JxDlH+ZNlcwo3Ulf7Hr+R72CFL!}jglv17*$?A*B%yLRou?%lib!3Q5; z&z?QlyLT`4?c0a_`}gC(fde>r@E{HyI)uZA597#@BRG2WD2^RFhU3SN=z|EUCaqHGC+`fGqckbN5-Me>j@7_J!zkeV3`T2P8-~k>! ze27Pn9^vuh$N1!vPw?rdpW?I6KEvmqe~vG{_yS*k`6a&k>MMNx_1F03n{V*#x8LHs z@4mzL-+zxEe)s`D{`ez)`spY9{PWNF<(FUZ>#x7!$&)Ae?YH0X`|rPtx~JobqM!df UufX#PJg>m>3OujC-=G4209y|Pk^lez literal 0 HcmV?d00001 diff --git a/roms/f256jr/toolbox-3F.bin b/roms/f256jr/toolbox-3F.bin new file mode 100644 index 0000000000000000000000000000000000000000..79f29fe89d1b61433d08284b7f37e77f77c5993b GIT binary patch literal 8192 zcmeIuO(;ZB7zW^*G{y{5eu|}(W+7#Pq?A$`*;rWdnj$307=P)+?q)NJvXj5YYPzL} z$O6euqTB^i%*tkZ4*Wa_@+9i`dv9{AWbnCUL7X ze?T-J5@m5BTc5=qh?7y`=z^$>5?eZ}b42efQL{o=g%08iMD;7t7A8&~iS-f(Z%;&@ zse5(Chl$1soi5@k=-@KX!A^^V{!YTzN9=a%dD}!n_ZN&2^&`Z!j$hw9sE9+Iy(waO zhPV&udn1IS*Ae~C^dzyLAgYF#loA0E5CIVo0TB=Z5fA|p5CIVo0TB=Z5fA|p5CIVo z0TB=Z5fA|p5CIYRHv-3%ftz;QurusT+hx0LkDX)tQeST*W_)(UvW%Ymmw;uJ211Ti zu1t?I-OBVSGv|BlQf8(yGn8ql_x^^o=T!_aoq5F{$F?@AB /,123456ABCD + +> OK.*111213141517181920212324303132OVsd0 øôRAMROM%d:/fd38668K86088K960ARMELFM32PGXPGZPPCRCESPU 0ODDSD0INFNaN %s +None%02XGenXEVID/sd0FILEFR20MIPSNONEPGXRH32S370S390V800COM1COM2EVENMARK %s/ +%02X %04X /sd0/%s%s +%04X:%d:%sIAMCUPPC64SPARCSPACE %4ld Done. +%s%08XC256 UF256 PGenX32M68020M68030M68040(null)dev = PARISCVPP500SCREEN+,;=[]%s%s%s +%s: %s +jjjÆ %024lX:A2560 KA2560 MA2560 XC256 U+F256 JRF256 K2F256 KeM68040VUNKNOWNi486DX4*float*CONSOLE%s: #%d +no mediaA2560 U+C256 FMXF256 JReF256 K2cF256 K2eM680EC30M68EC020M68EC040ReservedWDC65816rtc_init*:<>|"?FAT32 Sector: +not foundCartridgeО[XéÖÍÖ±Ö•ÖyÖl llùkñkA2560 K40A2560 K60M68SEC000chan_openChannel: PSG Muted.bad handlei486DX2 50i486DX2 60fchan_readCPU %s +Model %s +file lockedA2560X - LBA2560X - PBGenX32 - LBGenX32 - PBchan_free: MIPS_RS3_LESPARC32PLUSfsys_mkfs: ëþMSDOS5.0fsys_opendirbad argumentExternal SDCInternal SDCprint(%d,..)fchan_read_b /sd0/test.txtfsys_closediraccess deniedgeneral errorinvalid drivemedia changednot supportedout of boundsout of memoryunknown errorA2560X - CUBEGenX32 - CUBEchan_read: %sš¡‹¡|¡m¡h¡_¡V¡“YØXÒXÌX“YÒX“Y@ /sd0/hello.txtHello, world! +Memory %d MB +file not foundinvalid objectout of handleschan_alloc(%d)chan_close(%d)chan_alloc: %dloader found: bad binary filenot enough coreflush error: %dFATFS Error: %dfsys_setlabel: /sd0/renamed.txtClock %lu MHz +Got channel #%d +device not ready/sd0/fnxboot.pgx/sd0/fnxboot.pgzBooting from %s +0123456789ABCDEFcdev_init_systemcdev_register %s +Contents of %s: +bad device numberinvalid path nameprohibited accessunknown file typeF%d-%s +proc_exec stack: proc_exec start: î‰Ü‰Ê‰¸‰¦‰”‰‚‰o‰\‰+.,;=[]/*:<>|\"?Kô4ô*ô ôô ôôøóîóCODEC initialized.Console installed.Interrupts enabledTimers initializedbad channel numberCommand not found.Mounting drive #%dPGZ 24-bit count: PGZ 32-bit count: fsys_mkdir error: directory not foundfile system timeoutoperation timed outtoo many open filesproc_run error: %d +chan_read(%d,%p,%d)chan_seek error: %dFile system error: fchan_write error: fsys_delete error: fsys_load_ext ext: fsys_open error: %dÀðbð /ð + ð ðLŠAŠ4Š'Š''ŠNO NAME FAT NO NAME FAT32 low level disk errorno file system foundchan_get_records 1: chan_get_records 2: chan_write error: %dchan_write(%d,%p,%x)PGZ 24-bit address: PGZ 32-bit address: fsys_set_cwd error: +Directory for /sd0/ +Foenix Retro Systems +SDC driver installed.Wrote %d characters. +chan_status error: %dCould not load file: Could not open file: uart_open: Bad parity´|jM0öÙ¼œ +Trying to create: %s +Indicators initializedInterrupts initializedToolbox v%d.%02d.%04d +file is not executableCouldn't load file: %dchan_write_b error: %dFPGA %04X %04X.%04X +volume has no work areaê ûé#ìé+áé-Òé0ÃéµïX-ïo ïpcîuJîx¤îSetting default loader.uart_open: no BPS token +|ø{ø{Ñ{Ñ{ Ñ{Could not open file: %d +File system initialized.Text system initialized.drive is write protected +Select a boot source: + +Default boot source: %s +Error while printing: %dCouldn't get channel: %dfsys_open out of handlesCould not find screen %duart_open: Bad stop bits +Creating /sd0/hello.txt +%04d-%02d-%02d %02d:%02d could not write to devicedevice is write protectedCouldn't execute file: %dfsys_open out of channelsBlock device system ready.Could not create file: %d +could not read from deviceBooting: /sd0/fnxboot.pgx +Booting: /sd0/fnxboot.pgz +Returning a bad extension.uart_open: no parity tokenCould not open directory %dYÒ$ÒáÑÑ4ÑHÔÔÐÓ_ÓéÒ#—>•3•(••Ÿ„ŸwŸjŸX]ŸYwŸwPŸChannel device system ready.FAILED: Console installationfile system assertion faileduart_open: no stop bit tokenfile system invalid parameterCould not mount device %d: %dfsys_mount called f_mount: %dInitializing the text system...FOENIX DEBUG OUTPUT------------creation of file system aborteddevice could not be initializedNo bootable device is present. +uart_open: Bad data word lengthuart_open: no data length token +fsys_delete("/sd0/renamed.txt")Scanning for bootable devices... +FAILED: SDC driver installation %dFAILED: file system initializationtxt_get_device: number mismatch %dm}S}9}$}}ú|ä|Î|¸|A valid boot record was not found. + AAA 22222 55555 6 00000 X XA A 2 5 6 0 0 X X A A 2 5 6 6 0 0 X X A A 22222 55555 66666 00000 X XAAAAA 22222 55555 66666 0 0 X ê9Ý9Ñ9Å9¹9­9 ¡9@•9€‰9c:W:K:?:3:': :@:€:ö:Ð:Ä:¸:¬: : ”:@ˆ:€|:³ PC: %08X Address: %08X ³ +Press SPACE for default. + _________ ___________ __ __ / ____/__ \ / ____/ ___/ / / / / / / __/ //___ \/ __ \ / / / / / /___ / __/____/ / /_/ / / /_/ / \____//____/_____/\____/ \____/ ³ PC: %08X ³      _________ ___________ __ __ / ____/__ \ / ____/ ___/ / / / / __ / / __/ //___ \/ __ \ / / / /_/ /_/ /___ / __/____/ / /_/ / / /_/ /_ __/\____//____/_____/\____/ \____/ /_/ Unable to mount drive %s, FatFS Error: %d ___ ___ ___________ ____ __ __ / | |__ \ / ____/ ___// __ \ / //_/ / /| | __/ //___ \/ __ \/ / / / / ,< / ___ |/ __/____/ / /_/ / /_/ / / /| | /_/ |_/____/_____/\____/\____/ /_/ |_| ²i9­i;¨i<£i=ži>™i?”i@i;i=‹i?‰i ___ ___ ___________ ____ __ __ / | |__ \ / ____/ ___// __ \ / / / / / /| | __/ //___ \/ __ \/ / / / / / / / / ___ |/ __/____/ / /_/ / /_/ / / /_/ / /_/ |_/____/_____/\____/\____/ \____/ ³ ³³ Address Error ³³ Bus Error ³³ Division by Zero Error ³³ Illegal Instruction Error ³³ Oh dear, something has gone wrong... ³³ Overflow Exception ³³ Privilege Exception ³³ Range Check Exception ³³ Spurious Interrupt ³³ Unknown Exception ³ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ + Foenix Toolbox v%d.%02d.%04d starting up... ___ ___ ___________ ____ __ __ / | |__ \ / ____/ ___// __ \ / / / / __ / /| | __/ //___ \/ __ \/ / / / / / / /_/ /_ / ___ |/ __/____/ / /_/ / /_/ / / /_/ /_ __//_/ |_/____/_____/\____/\____/ \____/ /_/ +¿èEÀçXãb‚ãc_ãdTãeQãfQãoFãsâuTãxâ _________ ___________ ________ ____ __ / ____/__ \ / ____/ ___/ / ____/ |/ / |/ / / / __/ //___ \/ __ \ / /_ / /|_/ /| / / /___ / __/____/ / /_/ / / __/ / / / // | \____//____/_____/\____/ /_/ /_/ /_//_/|_| +fsys_rename("/sd0/hello.txt", "/sd0/renamed.txt") ‹îŠÜŠÊŠ¸Š¦Š”Š‚ŠoŠ\Š IŠ +6Šÿ#Š[!] Incompatible CPU arch: expected %s, but found %s + ߬!š#ˆ*v-d<Q>>@+[]{ò|ß}Ì GGGGGG EEEEEEE NN NN XX XXX 3333333 2222222 GG EE NNN NN XX XXX 33 22 GG GGGG EEEEE NN NN NN XXX 33333 22222 GG GG EE NN NNN XXX XX 33 22 GGGGGG EEEEEEE NN NN XXX XX 3333333 2222222 O—,«”°¤”` ”À–”€%‹”K€”–u”áj”Â_”@ªfüA„—üBï˜üCý—üDv˜üGÔüJBfüKvfüP¦jüHP›ümƒý€€€€€€€€€ÀÀÀ€€€ÿÿÿÿÿÿÿÿÿÿÿÿ€šEAŽA€EEEIIIŽ’’O™OUUY™š›œžŸAIOU¥¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿü­üvü‘ü•üüjü™ü üüüKüKüKüKüÏüKüÖü ü¡ü¹üpü"üÁüKüKüKüKüKüKüKüKüKüKüKüKü'üüü½ü¥ü}c,– Z 0@QYR[T]V_`pº»ÈÉÊËÚÛøùêëúû€ °¸¹²¼ÌÃÐàåìóüN!2!p!„!ƒ!Ð$0,/`,g,u,€,d-&Aÿ ¨(((( ˆAAAAAABBBBBB ÇüéâäàåçêëèïîìÄÅÉæÆôöòûùÿÖÜ¢£¥§ ’áíóúñѪº¿#¬½¼¡«»‘%’%“%%$%a%b%V%U%c%Q%W%]%\%[%%%4%,%%%<%^%_%Z%T%i%f%`%P%l%g%h%d%e%Y%X%R%S%k%j%% %ˆ%„%Œ%%€%±ß“À£ÃµÄ¦˜©´"Ƶ)"a"±e"d" #!#÷H"°"·" ² % aàøÿx029J.y€MC‚‚„„†‡‡‰Š‹‹Ž‘‘“”ö–—˜˜=›œ Ÿ  ¢¢¤¤¦§§©ª«¬¬®¯¯±²³³µµ·¸¸º»¼¼¾÷ÀÁÂÃÄÅÄÇÈÇÊËÊÍÝŽÞóñôôø(": e,;;=f,?@AAF +S@†U‰ŠXZ\]^_“ab”defg—–jb,lmnœpqstŸvwxyz{|d,~¦‚©„…†‡®D±²EŽ‘·{ýþÿ¬†ˆ‰Š±Â££ÄÌŒŽØò +ùóôõö÷÷ùúú0 P`"Š6ÁÏÀÐDa&C?=;<XDB@>)8*,.- 9/!10#"2$ 3% +45&' ( :6+ORSPLMHEWNA\^[[]lmficbejkhgdˆ™öÿ`lóÿ@Nèÿ#åÿÝÿÐÿÄÿ +°ÿ±ôÿ’bðÿz@ìÿcéÿ`Øÿ[ÂÿW­ÿOˆÿØ“ÎÿÈhºÿ¼G«ÿ°'œÿª$Žÿ¢{ÿšjÿŒJÿÛ³ÿÍu•ÿÂW~ÿ·:gÿ±5^ÿ¨-Qÿ 'Eÿ’1ÿÚ¨ŸÿˆyÿÀk\ÿµQ?ÿ«I9ÿŸ?0ÿ“5(ÿ~#ÿÿ¿¯ÿÿ§‘ÿþsÿüwVÿïlNÿÞ^EÿÎP;ÿ±6*ÿúÔÿ÷ÃOÿö¶)ÿô©ÿå›ÿшÿ½wÿ›WÿêÞ€ÿáÐMÿÚÆ&ÿÔ¼ÿÁ¬ÿ§—ÿƒÿd`ÿÄË€ÿ¬¶Mÿš¦&ÿˆ–ÿ{‰ÿkyÿ\iÿ@MÿrÕrÿA½Bÿ+¯+ÿ$›%ÿ +ÿ~ +ÿoÿS ÿ¥áÅÿÕ®ÿeÌœÿJËÿB³|ÿ8Ÿhÿ/‹Uÿi3ÿœîæÿuçÜÿWáÔÿ9ÜÍÿ3ÊÀÿ+´¯ÿ$žÿw‚ÿõÿÿvñÿÿXîÿÿ;ëÿÿ5Øýÿ-Àûÿ%¨ùÿõÿ‚àÿÿOÕÿÿ(ÊÿÿÁÿÿ³ÿÿ ÿÿÿÿoÿÿ€ÌÿÿM·ÿÿ&§ÿÿ˜ÿÿŒûÿ|õÿlïÿQæÿ‘«ÿÿeŠÿÿCpÿÿ"WÿÿQôÿJæÿCØÿ 6¿ÿ¤ª¼ÿˆ¡ÿcnÿHUyÿALmÿ7@]ÿ.4Nÿ#'>ÿîîîÿàààÿ½½½ÿžžžÿuuuÿaaaÿBBBÿ!!!ÿž°ÿ®¤ÿœxÿ‹}`ÿznTÿdZEÿOG7ÿ82&ÿÿÿÿÿÿ1234567890-= qwertyuiop[] asdfghjkl;'`\zxcvbnm,./* Š‹ŒŽ‘’“€†„-‰5ˆ+ƒ‡…‚–—˜”•€„‚ƒ…†‰‡ˆ/ !@#$%^&*()_+ QWERTYUIOP{} +ASDFGHJKL:"~|ZXCVBNM<>? Š‹ŒŽ‘’“€†„-‰5ˆ+ƒ‡…‚–—˜”•€„‚ƒ…†‰‡ˆ/ 123457890=   + + ;"`\ ,. Š‹ŒŽ‘’“€†„-‰5ˆ+ƒ‡…‚–—˜”•€„‚ƒ…†‰‡ˆ/ !@#$%^&*()_+   + + ;"`\ ,. Š‹ŒŽ‘’“€†„-‰5ˆ+ƒ‡…‚–—˜”•€„‚ƒ…†‰‡ˆ/ 1234567890-= QWERTYUIOP[] ASDFGHJKL;'`\ZXCVBNM,./ Š‹ŒŽ‘’“789-456+1230.–—˜”•€„‚ƒ…†‰‡ˆ/ !@#$%^&*()_+ qwertyuiop{} +asdfghjkl:"zxcvbnm<>? ‘’“789-456+1230.–—˜”•€„‚ƒ…†‰‡ˆ/ 123œ56~`|\-= qwertyuiop[] asdfghjkl;'zxcvbnm,./* Š‹ŒŽ‘’“€†„-‰5ˆ+ƒ‡…‚–—˜”•€„‚ƒ…†‰‡ˆ/ ;Kc{;Kc{;Kc{;Kc{;Kc{ŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽdIdIdIdIdIdIdIdIddIdIdIdIdIdIdIdIdddddddddddddddddddddddddŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽdddŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽdddŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽdddŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽdddŽˆˆˆŽŽŽŽˆŽŽŽˆŽŽŽˆŽdddŽˆŽŽˆŽŽˆŽˆŽŽˆˆŽˆˆŽdddŽˆŽŽˆŽˆŽŽŽˆŽˆŽˆŽˆŽdddŽˆˆˆŽŽˆˆˆˆˆŽˆŽŽŽˆŽdddŽˆŽŽˆŽˆŽŽŽˆŽˆŽŽŽˆŽdddŽˆŽŽˆŽˆŽŽŽˆŽˆŽŽŽˆŽdddŽˆŽŽˆŽˆŽŽŽˆŽˆŽŽŽˆŽdddŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽdddŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽdddŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽdddŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽdddŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽdddŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽddddddddddddddddddddddddddddddddddddddddddddddddŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽdddŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽdddŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽdddŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽdddŽˆˆˆŽŽŽˆˆˆŽŽˆŽŽŽˆŽdddŽˆŽŽˆŽˆŽŽŽˆŽˆˆŽˆˆŽdddŽˆŽŽˆŽˆŽŽŽˆŽˆŽˆŽˆŽdddŽˆˆˆŽŽˆŽŽŽˆŽˆŽŽŽˆŽdddŽˆŽŽˆŽˆŽŽŽˆŽˆŽŽŽˆŽdddŽˆŽŽˆŽˆŽŽŽˆŽˆŽŽŽˆŽdddŽˆŽŽˆŽŽˆˆˆŽŽˆŽŽŽˆŽdddŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽdddŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽdddŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽdddŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽdddŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽdddŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽŽddddddddddddddddddddddddddddddddddddddddddddddˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆ˜˜˜ˆ˜ˆˆ˜ˆ˜˜˜ˆˆ˜ˆˆˆ˜ˆˆ˜ˆˆ˜ˆˆˆ˜˜ˆˆˆ˜˜ˆˆˆ˜ˆˆˆ˜ˆˆˆ˜ˆˆ˜ˆˆ˜ˆˆˆ˜˜˜ˆ˜ˆˆ˜ˆˆ˜ˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆddddddddddddddddddddddˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆ˜˜˜ˆ˜ˆˆ˜ˆ˜˜˜ˆˆˆ˜ˆˆ˜˜ˆ˜ˆˆ˜ˆˆˆˆ˜ˆˆ˜ˆ˜˜ˆˆ˜ˆˆˆˆ˜ˆˆ˜ˆˆ˜ˆˆ˜ˆˆˆ˜˜˜ˆ˜ˆˆ˜ˆˆ˜ˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆ~¥½™~~ÿÛÿÿÃç~lþþ|88|þ|888þþT|8|þþ8|<<ÿÿçÃÃçÿÿ$BB$ÿçÛ½½Ûçÿ?ÿÿþüøðàÀ€0($$( àÀ<$<$$äÜT(Æ(T 08<80  < 8||8HHHHHH>JJ: + + + $$8~~8||8ÿ8TT8 @ÿ@ ÿ@@|$BÿB$8|þþ|8(((((|(|((Püž(8DDD8(8DDD8 8DDD8(HHH4 HHH4(DDL48(8DDDD8(DDDD88TPT8$ x "|DD(||8Dð@ðD8$ p À8DDD8HHHHp€4X|(D(|8DD|DD88DDD((l< DDD8l’’l$JR"\@<@8@<8DDDDDD|||||  8 8 `| T T(P 8$$$8 <<<<< +  !kkk€þ::k©ÿÿk©k©k©k©k©k©k©k©k©k©k©k©k©ky?k¯G?k"ïXük"&’ük¯´Bk©¢k©¢k…æ¥k…â §k©¢k +ª¿Ck +ª¿µBk©"¡qük©ð"¡qük?’ ü)ÿk"ö¸ü©k)ÿ"ƒük)ÿ"Ÿük£ …£…k£…£…k¥ƒ¥ƒkc†8åk¥ …¥…k¥ƒ¥ +ƒk¥… ¥…k£%ƒ£'ƒk¥i…kI?ŠK?kª£HŠ"ºïühk·… +ˆˆ·…k·…§…Æk)ÿ…£!8åkª£HŠ"ºïühkª©HŠ"{ühki¢†…k · … +§ …k ·…§…ki-¢†…k¨â ¥ +H ¥:H˜k¯mª©mŠkêêêêêê:ªŠèÊÐók)ÿ𩀩k)ÿ𩀩k¤ „¤„¥i +k©……© +"¯ýk©……© +"¯ýk¥…¥ +…£¢¨kH ·"àoüh©k¯‡¯ —k© —© —k©ÿÿ…©ÿÿ…£¢¨kâ ɠ𩀩k ·"ñXü"ºaü)ÿk"5.ý"ô^ü"éðü"”Ÿý€þ·… +ˆˆ·…¥ˆˆwk:Щ0¢ð€©0¢ðk©€'©€'â ɀ ðók:ð©¢€©€¢ðkªèÊЩ€ ©îÿ†8åkÂ8¢êýš©þ[©dëH««€ëÉÿÿð )ÿª©"†Yük©kÉÿÿð )ÿª©"†Yük©kÉÿÿð )ÿª© "†Yük©kÉÿÿð )ÿª©"†Yük©kÉÿÿð )ÿª©"†Yük©kÉÿÿð )ÿª©"†Yük©kÉÿÿð )ÿª©—"†Yük©kÉÿÿð )ÿª©"†Yük©kÉÿÿð )ÿª©"†Yük©kÉÿÿð )ÿª©"†Yük©kÉÿÿð )ÿª©D"†Yük©kÉÿÿð )ÿª©€"†Yük©k · …ˆˆ· …8¥ ÷ k¢®†©4…©…©"—oükâ ¯Dð J° â ¯Bð "{ýk‹ ©þ[ôðð««â h )ÿX+«k‹ ©þ[ôðð««â h )ÿx+«k ·ª ·†… ·)ÿk‹ ©þ[©ëH««¯K?ª¯I?+«k ·… ·Å𩀩kZƒ£"œ\ü:ð© c€£zkZƒ£"H\ü:ð©àÿc€£zk¥…¥…§)ÿÐ8¥åkæ€ïZƒ£¢$"ƒdü…©Æ8¢ezkZ©ƒ"¬mü:ð©€£zk‹ ¨©þ[©ëH««˜G?"Ê[ü+«kª©†8åPI€Š"øXük©k ·…ˆˆ·……¥…©"cýk"³dü†ð†…"ö(ý"¶[ü€©öÿk ðâ ©"ð ⠯"ð )ÿÐókZ ·)ÿƒ£ë)ÿ…§)ÿzk© w… ·Å𩀩kâ ð ⠣ð ⠣ð k"$hü©ú…©…"[ü©ì*¢ü"4âük£H£H¥H¥H©……"åèýªhhhhŠkâ ¯ð ¯0i0¯2i2k ·ÈÈð +© 7Щk©"cýkª§)ÿ…äЦ¥k§)ÿЩªkæ€à)â + + + + …©#eâ  ©kZ¨â £ƒ ⠩ƒ ;¢†…˜"³žüzk"|ü›0ÚH©ã¨©ãª˜zzk¢€©kZZâ ƒ  ·"ñXüƒ£H£"’aüh©zzk:ðâ ©ðð €â ©þ/ðð kâ © +›ð ⠯ð ⠩œð ©" „ük©HH¢Ff £eƒ£eƒ&Êæhúk¯‡¯ —¯ —¯ —©k©ð/â JJJJ ⠇ ©/â ‡ ©k©t…©…"]ü:Щt…©…"Þˆü€©kZ©ƒ£ƒ©8ãPI€zk£"¿nü£ƒ€äÔÔ +† +…£ +H£ +H¥"tZüªhhŠG?"Ê[üz„ +z„k‹ ¨©þ[ôð𫫘 –„ „†…£"Ãü©+«k§)ÿð §â É Â ð§â É + ðæ€áâ ©‡Â k"}[ü†…¥ð©â  ·Â ‰ ðòâ £‡Â k"}[ü†…¥ð©â  ·Â Jô⠧ €©kZƒ¥…¥…££ð§)ÿð £:ƒæ£€ê8¥åzk"}[ü†ð†…â  ·Â ‰ 𩀩€©kâ © ð ⠩¡ð ¢†©"fŽüd©"fŽük¥ð¯‡¯ —¥ð¯‡¯ —kZâ ƒ ô¥H¥H£ )ÿH£ )ÿ"6žüªhhhhŠ"™cüzk…8©åªŠ8é(PI€Š + +ª¿ÁMH¿¿Mú€© ¢ük¯`>É ° ¯`> + +ª¥Ÿb>¥Ÿd>¯`>`>©k©k¢†©ú …©…©"—oü¢†©â …©…©"—oük©",Yü©" kü©Nou?©üw?©…©ü…©"³žük:Т€¢©%â + …Šâ ð ⠣ð kª†¥#àØÿðàÚÿðà÷ÿ𩀩€ ©€©€©kÔÔ +Ô ¥…¥… +§"ßü + + + +…  ·"ßü z„ z„ +z„k©×…©ü…©"³žü©"c}üâ ¯žð ) â žð k"}[ü†ð†…â  ·Â J©€©:Щ€©k¨©¢ÀðÀðÀð€©¢ð€©¢ð€©¢ðkÔ¤…d©HHŠJª£eƒ£eƒŠð&€æhú„z„k ·)ÿ¨˜8éPI€˜¢&"ƒdü…©&¢e€©¢kZƒ¥…¥…æâ £‡ £ë)ÿƒ¥…¥…æâ £‡ zk¢ ’!„ ü„É€¤ÀµÐÉ°8é€ +…¥e…§ªŠkZZª©ƒà€© €ŠJJJJ¨£¢„ä° ƒ˜Jƒ¨£€ëzzkZZ¥ƒ¥ƒ;¢†…"Q\ýª†¥© € Šâ  ©zzkZâ ƒ £ +ë)ÿH¥H¥H¥H¥H£ )ÿ"0¢üª;i +Š"™cüzkZâ ƒ £ +ë)ÿH¥H¥H¥H¥H£ )ÿ"²¢üª;i +Š"™cüzk‹ ¨©þ[©ëH««˜†…8¯I?åI?¯K?åK?¯K?ª¯I?+«kÔÔ +¨¥…¥… +¢©„8åPI€§ª† ·"w ýz„ +z„kÔÔ +¨¥…¥… +¢©„8åPI€§ª† ·"¿õüz„ +z„kÔÔ +¨¥…¥… +¢©„8åPI€§ª† ·"Š­üz„ +z„kHÚZ£ H£ ¨â$£ … £ +…ƒ +§()ÿª”h•£ƒ £ƒ zúhƒhhkÔÔ +¥…¥… +§…©ô…©ü…©"€ü©ÿÿ‡©ÿÿ —z„ +z„k§â Éø Ð ·â ɠР·)ÿЩ€©:Щ€©kÚHŠ +&ëH)ÿ¨¥ +ëH)ÿ…*EJ&¥Éh)ÿjë…Àh)ÿjëƒhúkZƒ£"}[ü†…¥ð"â £ —Â â  ·Â …â £ â Å zk¥Ð©â>…©…" —ü€©"cýª†¥†8©åE?©ÿÿk©k©t…©…"[ü©p…©…"[ü©xâ ©o ©m©kZâ ƒ ⠣´B £)ÿ…©ÿ8å +"‚^ü£â J )ÿ "‚^üzk©"‚^ü©*"‚^ü©#"‚^ü©,"‚^ü©"‚^ü©"‚^ü©E"‚^ü©ÿ"\hükZâ §ƒ æ§8ãâ ƒ£ Ðâ §ƒ æâ £ ÐÕ£I€)ÿ8é€zkÔÔ +Ô Ô¥… ¥…¥…¥… +æ§æâ ‡ )ÿÐ禥 z„z„ z„ +z„k©4…©ü…"!lü"]ü"üü)ÿð H©"ºïüh"‚Zü:ðâ©1…©ü…"!lük¢v†¢ü†"É¥ü€€ €©€!©€©€©€©€ ©€© €©kÚHŠ)€É€ÐŠ)Ð¥ª)€É€ÐŠ)ðŠƒ¥ƒzh @ª˜zzkhúkÔÔ +"”vü†…¥ð" N· Pð£H P·… + N·…h"tZüz„ +z„kÔÔ +¯wC…¯uC…§ ð¯wC…¯uC… ·ª§† +…"tZüz„ +z„k©4…©ü…"!lü"Ð`ü:ðH©L…©ü…"!lüh"‚Zü:ðà©1…©ü…"!lükÔÔ +¨¥…¥… +¢©„8åPI€§ªd¥†Å° † ·"¤¹üz„ +z„kZâ ƒ £)ÿ + + +…© +¢e†…£)ÿ + + +…©¢ðe†…©"usüzkZZƒ©cð©€,£¢ +"ÓüŠƒ£¢ +"ƒdü…£8媣â + + + + …ŠzzkÔÔ +ZZ¥…¥… +;¢†…¥…¥ +…"º»üªèÊÐ ©‡© —Šzzz„ +z„kÔÔ +Zƒ£"}[ü† +…¥ +ð!¢£†£"btü©H£"µgühâ ©Á — zz„ +z„k:¢…ä0 +ª¿#üH`©W¢ü€&©J¢ü€©¢ü€©¢ü€©}¢ü€©æ¢ükÔÔ +¥…¥… +;i¢†…¥H¥H¥…¥ +…¯è>…¯æ>…"ÂüªhhŠz„ +z„kÔÔ +¥…¥… +§)ÿЩ +H©"’aüh© H©"’aühz„ +z„k§H©"’aühæ€ËÔÔ +Z¥…¥… +d©"fŽü©þ'â ‡ ;¢†…¥…¥ +…©""…üzz„ +z„kHŠ +Éÿ )ÿÐ+£Ð'¥ +Éÿ )ÿХХ +Њ +ð ŠÅУţƒh((kÔZâ ƒ ¥…¥…¥i…§…â ¥ £"ÙÏü€ £H ·"ºïüh©zz„kÔÔ +Ô Ô¥…¥… + ·…§… § )ÿ"‡\ü:ðæ €ï¥ ‡¥ —z„z„ z„ +z„kÔÔ +¥i…¥…¥… + ·)ÿð©€"üü)ÿЩ€ â  — ©z„ +z„kÔÔ +Ô Ô¥…¥… +¥… ¥…¢H†¥…¥ +…©"—oü¥ ‡¥ —z„z„ z„ +z„kÔÔ +‹ ¨©þ[ôð𫫘ZZƒ£… +£…§)ÿðâ §ƒ æ£H£"ºïüh€ãzz+«z„ +z„kZ©ƒ£ƒ£8éPI€0zk¢†£ + + +…© +¢e†…©"—oü£"äjü£ƒ€ÄÔZ"£[ü†…¥ð1¢Š8é PI€"¥…¥…†¥e…â ©‡ Šƒ£ª€Òzz„k‹ ¨©þ[ôð𫫘ZZƒ£"hYüƒ£"oYü¨£ÉÿðÀÿð£ªâ ¿`ð )ÿ„%€©zz+«kÔÔ +§)ÿð§æ¦†¦† +H©"’aüh¥…¥ +…€Ú© H©"’aüh© +H©"’aühz„ +z„kÔÔ +ZZZƒ¥…¥… +¥ƒ£ƒ£:ƒ©Ã°¥…¥ +…æâ £‡ £€Ú¦¥zzzz„ +z„kÔÔ +‹ ¨©þ[ôð𫫘"”vü†…¥ð" :· <ð£ H <·… + :·…h"tZü+«z„ +z„kª©¡u‡©ü —©Y —©üÈÈ—©ÈÈ—¥ÈÈ—¥ÈÈ—Š:ÈÈ—ˆˆ·…ˆˆ·…â ©‡ kÔÔ +‹ ¨©þ[ôð𫫘† +…¥…¥ +…"Ûü£ …£ …¥…¥ +…"ßTý:ð"¶[ü€©+«z„ +z„k¨;8éJ˜â ƒ ¥…¥…;¢†…"ðmü;¢†…£"MÕü;¢†…"Œü¨;iJ˜k"îXü©ü…©Ûþ…©ü…©¾þ…"4£ü"òuü©…©Qk…©…©Æ=…¢©"Yäü©"Y[ü\ }ü‹ ¨©þ[ôð𫫘Zƒ£ªâ ¿þ& ð)£¢4"ƒdü…©^%¢e†…"akü£ªâ ©Ÿþ& ©z+«kZâ ƒ ¯ùC…¯÷C…â ©ª UU— ¯ùC…¯÷C…â ©U ª*— ¯ùC…¯÷C…â £ UU— zkÔÔ +‹ ¨©þ[ôð𫫘"”vü†…¥ð   +·  ð  ·… +  +·…"tZü€©¢+«z„ +z„kÔÔ +‹ ¨©þ[ôð𫫘"”vü†…¥ð# · ð ·… + ·…"tZü©€©ÿÿ+«z„ +z„kÔÔ +‹ ¨©þ[ôð𫫘"”vü†…¥ð& · ð£ …£ H ·… + ·…h"tZü+«z„ +z„kÔÔ +‹ ¨©þ[ôð𫫘"”vü†…¥ð& >· @𣠅£ H @·… + >·…h"tZü+«z„ +z„kÔÔ +‹ ¨©þ[ôð𫫘"”vü†…¥ð& B· D𣠅£ … D·… + B·…"tZü+«z„ +z„kÔÔ +Ô ÔZƒ¥…¥… +££¨:ªd ¥ „ Å °¥… ¥ +…æ§æâ ‡  Šƒ€Ø¦¥zz„z„ z„ +z„kZƒ£8éPI€0©öÿ€8£¢$"ƒdüª£ßÆ8ð©öÿ€!©Æ8…©…£¢$"ƒdü…¥e… ·zkÔÔ +‹ ¨©þ[ôð𫫘"”vü†…¥ð$ · ð£ H ·… + ·…h"tZü€©ÿÿ+«z„ +z„kZZƒ¥ƒ£"}[ü†…¥ð4 â ©€— ⠣‡Â £ë)ÿ)ÿâ  —  â ©7— zzkÔÔ +Ô Ô¦† ¦†"Tdü†…¥ð$©% â + + + + + …¥…©%⠇ z„z„ z„ +z„kª©îÿ/þþŠ):ð©þþ¯þð©€#Š):ð©þþ¯þ𩀩ÿÿkÔÔ +Ô Ô¥… ¥…¥…¥… +§ )ÿ"š]üH§)ÿ"š]ü…h8åªèÊÐ § )ÿðæ æ€ÕŠz„z„ z„ +z„kÔÔ +Zƒ¥…¥…  ·ª ·…ä°)ˆˆ"k[ü…â £‡ ©w— "k[ü…â ©‡ zz„ +z„k©>??%?ú> ?©(?â>©ä>©?æ>©è>©ö>ê>©ì>©:‚A?©üC?k‹ ¨©þ[ôð𫫘Z†…"Fãüƒ£Ð©–…©…©"!Œý©€£…©u +…©ü…©"€ü£"¶[üz+«kZƒ£8éPI€9£¢V"ƒdü…©4¢e†…§ÃЦ¥€£H©È…©ü…©"³žüh©¢zkÔÔ +Ô Ô¦† ¦†"”vü†…¥ð& J· L𥅥 H L·… + J·…h"tZüz„z„ z„ +z„kZâ ©ƒ ¢ â £ƒ ⠧ƒ æ£â J …£â jj)€Â ecâ ƒ Š:¨â £ƒ »ÈˆÐÇ£zkZZâ ƒ £â JJJJ )ÿ)ª©#)ÿƒ© 8ãPI€0© †8åPI€0 Š¢ +"ƒdüc€©zzk©Oƒ‡©ü — ·ÈÈð© 7Ð ©K^ —©ü€ ©Y —©üÈÈ—©ÈÈ—¥ÈÈ—¥ÈÈ—kÔZZƒ£ƒ£ƒ£:ƒ©Ã°2§ª§…Šâ Å °©ÿÿ€§ª§…Šâ Å °©€æ检¾zzz„kÔÔ +‹ ¨©þ[ôð𫫘"”vü†…¥ð* ·  ð£H£H£H  ·… + ·…h"tZühh+«z„ +z„kÔÔ +‹ ¨©þ[ôð𫫘"”vü†…¥ð* 6· 8ð£H£…£ H 8·… + 6·…h"tZüh+«z„ +z„kZZ©ƒ£ƒ£8éPI€0zzk©ƒ£ƒ£8éPI€0£ƒ€Ó¢†£…£"±tü£ƒ£ƒ€ÒZâ ƒ ¯ùC…¯÷C…â £‡Â ¯ùC…¯÷C…⠧ ⠃ £â à𩀩:Щ€©zkZZâ ƒ "³dü†…¥ð7â £ƒ ;i¢ÚH;i¢†…©".­ýªhhèÊУ€ +Š"¶[ü€©öÿzzkÔÔ +‹ ¨©þ[ôð𫫘"”vü†…¥ð( · ð£ …£ H ·… + ·…h"tZü€©ÿÿ+«z„ +z„kÔÔ +‹ ¨©þ[ôð𫫘"”vü†…¥ð( &· (𣠅£ … (·… + &·…"tZü€©ÿÿ+«z„ +z„kÔÔ +‹ ¨©þ[ôð𫫘"”vü†…¥ð( *· ,𣠅£ … ,·… + *·…"tZü€©ÿÿ+«z„ +z„kZâ ƒ £â É °A£)ÿ + + +ª©ñ? +â ƒ ©#â + â ƒ £)ÿ + + +ªâ £Ÿ + £"äjüzkÔÔ +Zƒ£"”vü†…¥ð  · ð ·… + ·…"tZü€£H©z …©ü…©"³žühzz„ +z„kZZƒ¥ƒ© …©ü…£"É¥ü£ð£â oo €£Iÿâ /oo €£Ð£â Ooo zzkHŠ) €HŠ +ë)ÿ8é7é°Iÿÿð¨£Jƒ£jƒˆÐó(úhkÉ(©ÿÿ€¨£ +ƒ£*ƒˆó€á(©ªzzkÔÔ +‹ ¨©þ[ôð𫫘† +…¥…¥ +…"Ûüôô£…£…¥…¥ +…"9EýªhhèÊðŠ"¶[ü€©+«z„ +z„kÔÔ +‹ ¨©þ[ôð𫫘"”vü†…¥ð* 2· 4ð£ H£ H 4·… + 2·…h"tZüªhŠ€©ÿÿ+«z„ +z„kÔÔ +ZZƒ¯A?C?ð¯C?… +¯A?…"tZü¯`>:ƒ££"6Yüzzz„ +z„k + +ª¿d>… +¿b>…"tZü£:ƒ€Ó‹ ¨©þ[ôð𫫘ZZZƒ£"hYüƒ£"oYüƒ£Éÿð'£Éÿ𠣪⠿lð â ƒ £ªâ £Ÿlð zzz+«k‹ ¨©þ[ôð𫫘ZZZƒ£"hYüƒ£"oYüƒ£Éÿð'£Éÿ𠣪⠿`ð â ƒ £ªâ £Ÿ`ð zzz+«kZZƒ¥ƒ£JJJJJ)?H£JJJë)ÿ)H©#H£ JJJJJ)H£ Jë)ÿ)i¼H©Æ …©ü…"!lü;i +zzkÔÔ +‹ ©þ[©ëH««"T¶üÉÐ4©€"¡qü©"¡qü"&’üiè† +…"&’ü†…¥Å¥å +PI€0é+«z„ +z„kZ"³dü†…¥ðC©ƒ ·  ×Р· ×Ð ©ƒ£ƒ€£ƒ ·)ÿð©€£€©öÿzk ·:ð, ·:ð#§ · · ·€©©¯¯©kZZZâ ƒ ¯oƒ¯oƒ£ª¯"ƒdücªâ £Ÿ@ð ⠯Ÿ`ð ¯…¯"³üzzzkÔÔ +;8饅¥… +¥…¥…;¢†…"Ùwü£H£H¥…¥ +…;i¢†…"_üªhhŠ¨;i˜z„ +z„k¨;8éT˜ƒ¯y?8ãPI€0:¥H¥H¥H©…©ü…;i ¢†…"Þüƒhhh;i¢†…£"³žü;iTkÔZƒ £ª˜ƒd¥†Å°;â §ƒ æ§)ÿH£)ÿ…h8å¨Ðâ §ƒ æâ £ ðŠ:ƒ£€º˜ƒ£zz„k¨;8é +˜ƒ¥ƒ©ð#JJJJƒ£ªâ ¿Öüƒ ©#ƒ£ªâ ¿Öüƒ ⠩ƒ ;i¢†…£"ß…ü;i +kÔÔ +;8饅¥… +¥…¥…;¢†…©ÿ"*pü£H£H¥…¥ +…;i¢†…"_üªhhŠ¨;i˜z„ +z„kÔÔ +ZZƒ©þÿƒ£8éPI€6£¢""ƒdü…©¶<¢e†…§ÃР ·… +  +·…"tZü€£€£zzz„ +z„kÔÔ +;8饅¥… +¥…¥…;¢†…©ÿ"*pü;i¢ÚH¥…¥ +…;i†…"_üªhhŠ¨;i˜z„ +z„kÔÔ +©……"ìgü¯ð>… +¯î>…¥ +Я,?"1^ü¯?"1^ü¯ú>"1^üz„ +z„k ·"øXü ·…§……¥… +€¿¨;8é ˜ƒ Šƒ ¥ƒ¥ƒ¥ƒ¥ƒ£ª£i†…£ "ädü£…£…§â ɠУª£i†…£ "ädü;i k¨;8éT˜ƒ¯y?8ãPI€0>¥H¥H¥H¥H©X…©ü…;i ¢†…"Þüƒ hhhh;i¢†…£"³žü;iTkÔÔ +Ô ÔZZƒ¥…¥… +¥… ¥ +… · …ˆˆ· …£"¯Ÿüƒ£Éÿÿð ©  w—€ ¯E?ÉðÎzzz„z„ z„ +z„kZ©ƒ£ƒ£8éPI€0zk£¢""ƒdüª©Ÿ¶<©¶<…©…£¢""ƒdü…¥e…© —© —£ƒ€­‹ ¨©þ[ôð𫫘ZZZƒ£"hYüƒ£"oYüƒ£Éÿð.£Éÿð'£ªâ ¿lð …£Iÿ%â ƒ £ªâ £Ÿlð zzz+«kÔÔ +‹ ¨©þ[ôð𫫘Z† +…¥…¥ +…"Ûü¥…¥ +…"eaýƒ£Ð©€£…©z…©ü…©"€ü£"¶[üz+«z„ +z„kÔÔ +‹ ¨©þ[ôð𫫘Z† +…¥…¥ +…"Ûü¥…¥ +…";ýƒ£Ð©€£…©A …©ü…©"€ü£"¶[üz+«z„ +z„kÔÔ +Ô ÔZ¦† ¦†¦†¦† +ƒâ ©ÿ —  ¥ …¥…"[ü¥…¥ +…æâ  · ‡Â £:ƒ:ÐËzz„z„ z„ +z„kÔÔ +¥…¥… +§â Éø Ð? ·â É Ð2 ·)ÿÐ(ôôd©…©… ·ª ·"¸‘ühh©€©z„ +z„kÔÔ +Zƒ¥…¥… +£H©d…©ü…"á™üh¥…¥ +…"Ì]üH¥ +H¥H£"àÿªhhh†¥Ú©/ …©ü…©"³žühzz„ +z„kÔÔ +Ô ÔZƒ¥…¥… +¥… ¥ +…¥…¥ +…"Ì]ü…¥ e… ¥ Å¥å +°©ª€ § )ÿÃЦ¥ zz„z„ z„ +z„kÆ €ÑÔÔ +Ô Ô‹ ¨©þ[ôð𫫘"”vü†… ¥ ð. .·  0 ð"£…£…£…£… 0· … + .· …"tZü+«z„z„ z„ +z„kÔÔ +Ô Ô‹ ¨©þ[ôð𫫘"”vü†… ¥ ð. R·  T ð"£…£…£…£… T· … + R· …"tZü+«z„z„ z„ +z„kÔÔ +ZZ¥…¥… +©ƒ ·"ñXüƒ£"%dü:𠩃£ƒ€£ƒ ·"ñXüƒ£" bü:ð©€£zzz„ +z„kÔÔ +ZZZ¥…¥… +¥…¥ +…"ö(ýƒ£Ð/;i¢†…¥…¥ +…"º»üªèÊÐ ©‡© —Šƒ€£ƒ£zzzz„ +z„kÔÔ +;8éJ¥…¥… +;¢†…"ðmü§)ÿðâ §ƒ æ;¢†…£"MÕü€Ý;¢†…"Œü¨;iJ˜z„ +z„kZâ ƒ £â É °N¥ð#£)ÿ + + +…© +¢e†…â ©‡Â €!£)ÿ + + +…© +¢e†…â ©þ'‡Â £"äjüzkÔÔ +¥…¥… +¥…¥ +…"]ü:Ð< ·ª© w—¥…¥ +…Š +…¥e…§ª ·É€© —Š€©z„ +z„kZâ ƒ ©â àP¥ð'£)ÿ¢ "ƒdü…©â ¢e†…â ©‡Â €%£)ÿ¢ "ƒdü…©â ¢e†…â ©þ'‡Â zkÔZ¤ÉÐRÀÐM ˜ ¢ŠH˜ë)ÿ…h8åPI€0 "©Ñü©€'¥…¥…†¥e…â §Ÿ 𠊃£ª€¿©ÿÿzz„kZZZâ ƒ ¥ƒ©‘ …©ü…£)ÿ"É¥ü£…©@"º{ü€£…©"º{ü€ £…© "º{ü£)ÿ +ª¿„&üƒ£ð +£…£"h™üzzzk¨;8éT˜ƒ¯y?8ãPI€0F£ZH£ZH¥H¥H¥H¥H©ë…©ü…;i¢†…"Þüƒ ;i ;i¢†…£"³žü;iTkÔÔ +ZZƒ¥…¥… +¥…¥ +…"º^ü:Ð< ·ƒ© w—¦†¦ +†£ +…¥e…£‡ ·É€© —zzz„ +z„kÔÔ +Ô Ô‹ ¨©þ[ôð𫫘"”vü†… ¥ ð0 "·  $ ð$£…£…£…£H $· … + "· …h"tZü€©ÿÿ+«z„z„ z„ +z„kÔÔ +Ô ÔZZ¦† ¦†ƒâ §ƒ æ¥…¥… +â £ƒ ⠣ —  ¥ …¥…"[ü£:¦†¦ +†ƒ:оzzz„z„ z„ +z„kÔÔ +Z¥…¥… + ·…¥0B;¢ÚH¥…¥ +…¥i… ·…§… ·".­ýªhhèÊР·ÃР·€©ÿÿzz„ +z„kÔÔ +‹ ¨©þ[ôð𫫘ZZƒ©þÿƒ£8éPI€2£¢""ƒdü…©¶<¢e†…§ÃР·… + ·…"tZü€£zz+«z„ +z„kÔZ¥i…â ©À‡Â â © — ¢Š8éPI€0â © — ©zz„k¥…¥…æ憥e…â ©‡ Šƒ£ª€»ÔZâ ƒ £â É °N¥H¢ +†¢†£)ÿ + + +…¥e…h —¥H¢ +†¢†£)ÿ + + +…¥e…h —£"äjüzz„kÔÔ +ZZ¥…¥… +©ˆƒ£ƒ£ð%;i¢†…¥…¥ +…©""…ü£â Éÿ Ð£Ð©€©zzz„ +z„k©d"Zü£:ƒ£ƒ€°Zƒ£Ð&©"c}üâ ©›ð ⠯œð )ûâ œð €6¥H¥H©"&9ý†…hhâ £›ð ⠯ð ⠩œð ©" „ü©zkZª©èÊðàð€Vâ ©ƒ ⠣ƒ €â ©ƒ ⠣ƒ ¥ÉÐâ ¯ ð â  ð €â ¯ ð …£Iÿ%â  ð zkÔÔ +Z¥…¥… +¢†©"fŽü©â ‡ ;¢†…¥…¥ +…©""…ü¥…¥ +…"—ü:ð©€¥…¥ +…"£lü©zz„ +z„kÔZâ ƒ ©â àP¥H¢â †¢†£)ÿ¢ "ƒdü…¥e…h —¥H¢â †¢†£)ÿ¢ "ƒdü…¥e…h  +—zz„kÔÔ +‹ ¨©þ[ôð𫫘ZZƒ©þÿƒ£8éPI€6£¢""ƒdü…©¶<¢e†…§ÃР·… + ·…"tZü€£€£zz+«z„ +z„kÔÔ +†…¦¥8é°ʆ… ·ª ·8é°ʆ +…¥Å¥å +©¢€$ 2·… + 0·…  +·…d"``üeHŠe +ªhz„ +z„kÔÔ +ZZƒ©þÿƒ£8éPI€G£¢6"ƒdü…©;¢e†…§ÃÐ% · Ð©€ ·… + ·…"tZü€£€£zzz„ +z„kZâ ƒ £â É0 °P©9â à°E£â Éa °0©fâ à°%£â ÉA °©Fâ à°©€£)ÿiÉÿ€£)ÿi©ÿ€ £)ÿ8é0zkÔÔ +ZZƒ¥…¥… +"³dü†…¥ðC;i¢ÚH¥…¥ +…£".­ýªhhŠƒ£Ð£€ £…©- …©ü…©"€ü£"¶[ü€©öÿzzz„ +z„k¨;8é +˜ƒŠƒ¥ƒ¥ƒ ¥ƒ£…©‡…©ü…©"€ü£…©u…©ü…©"€ü©G?£H£H£…£ …£ …£ ª£"aühh;i +k‹ ©þ[©ëH««â ¯Yð )ÿ…dâ ¯Zð )ÿ¢ †Ȉð +&ˆÐú¦†…¥ª¥†…â ¯[ð )ÿ¢ª©†…¥ª¥+«kÔÔ +Ô ÔZƒ¥… ¥…"³dü† +…¥ +ð<¥…¥ +…¥ …¥…£"÷öü†…¥ð¥ …¥…"Ì]ü€ ·)ÿ"¶[ü€©öÿzz„z„ z„ +z„kâ ©Pð ⠩Xð ⠩Yð ⠩Zð ⠩[ð ⠩ÿ]ð ⠩ÿ^ð ⠩ÿ_ð ⠩ Xð ⠩\ð ⠩ Xð kÔÔ +ZZ¥…¥… +©q…©ü…©"³žü¥…¥ +…"³dü†…¥ð/;¢ÚH;i¢†…©"¤ýªhhèÊУ)ÿ€ +Š"¶[ü€©öÿzzz„ +z„kÔÔ +‹ ¨©þ[ôð𫫘Z¨©¢©˜"å]ü† +… ·)ÿƒ£¢&"ƒdü…©&¢e†…"½‡ü¥…¥ +…"gü£ªâ ©ŸV% ©z+«z„ +z„kÔÔ +Ô ÔZ¥… ¥…¥…¥… +£ 0— £ 2— £…£…¥ …¥…"Ëúüƒ£Ð¥…¥ +…¥ …¥…"·£üƒ£ƒ€£ƒ£zz„z„ z„ +z„kÔÔ +ZZZ¨¥…¥… +¢©„8åPI€ +§ƒ£ƒ€Šƒ£Ð ©ƒ£ƒ€£ƒ;i¢ÚH ·"'sühh£H£:H ·"Ùrühhzzzz„ +z„kÔÔ +Ô ÔZZZƒ¥… ¥…¥…¥… +©ƒ£ƒ£8ãPI€0©zzzz„z„ z„ +z„k · "ñXüƒ¥…¥ +…¥c…§H£"’aüh£ƒ£ƒ€²¨¦©„8åPI€0/©†8åPI€0 â ©ð ⠩ð ⠩ ð €.˜â  Šâ  ⠩ð ˜â ð Šâ ð "©ÑükÔÔ +‹ ¨©þ[ôð𫫘† +… ·H ·H©ø…©ü…"á™ühh§¨˜8éPI€+¥…¥ +…˜¢6"ƒdü…©;¢e†…©6"usü©€©þÿ+«z„ +z„kÔÔ +ZZƒ¥…¥ƒ£"Tdü†…¥ðN©ƒ£ð£ª©8,"²Óüƒ£ª€£ª©%â + + + + + €…Š)⠇ Š)ðâ JJJJ ⠇ zzz„ +z„kÔÔ +ZZ©ƒ¥ð\ ·… +ˆˆ·…£ƒ¥ +У€C© 7𥅥 +…"ìgüƒ£0£ƒ£€£ƒ ·…§…£ƒ¥…¥… +€µ£zzz„ +z„kÔÔ +ZZZ¨¥…¥… +¢©„8åPI€ +§ƒ£ƒ€Šƒ£Ð ©ƒ£ƒ€£ƒ;i¢ÚH ·"'sühh£8ャH£H ·"Ùrühhzzzz„ +z„kÔÔ +ZZZ¨¥…¥… +¢©„8åPI€ +§ƒ£ƒ€Šƒ£Ð ©ƒ£ƒ€£ƒ;i¢ÚH ·"'sühh£cƒ£H£H ·"Ùrühhzzzz„ +z„kÔÔ +ZZZ¨¥…¥… +¢©„8åPI€ +§ƒ£ƒ€Šƒ£Ð ©ƒ£ƒ€£ƒ;i¢ÚH ·"'sühh£8ャH£H ·"Ùrühhzzzz„ +z„kÔÔ +ZZZ¨¥…¥… +¢©„8åPI€ +§ƒ£ƒ€Šƒ£Ð ©ƒ£ƒ€£ƒ;i¢ÚH ·"'sühh£cƒ£H£H ·"Ùrühhzzzz„ +z„kª¥ðO¯o‰ðà.Щm€¯o‰ ð àaЩm©t…©…¯o)ÿë)ÿ…Š)ÿ"ÑŠü€$©t…©…¯o)ÿë)ÿ…Š)ÿ €"ÑŠükÔÔ +Ô Ô;8éR¥… ¥…¯y?8éPI€0B;i^¢ÚH¥ …¥…;i¢†…"(üƒhh;i¢†…¯w?… +¯u?…"tZü;iRz„z„ z„ +z„kÔÔ +ZZZZ¥…¥… +¥ƒ¥ƒ¥ƒ¥ +ƒ¥…¥ +…"Ì]ü…¥e…£…£…§)ÿ𥅥 +…æâ §ƒ æâ £‡Â €Ûâ ©‡ £ª£zzzzz„ +z„kÔÔ +Ô ÔZZƒŠƒ¥… ¥…¥…¥ …¥…"L¸ü…¥0<¥ …¥…"O_ü…¥0*¥…£…£… · "EYü†…¥%𩀩ÿÿ€©ÿÿzzz„z„ z„ +z„kZZƒ©ƒ¢©8ãPI€*§ƒ©8ãPI€  ·ƒ£ƒ€Šƒ£ƒ£¨€£ƒ›£Ð¢€£ªÈˆÐ ©ƒ£ƒ€˜ƒ£:HŠ:H ·"ÙrühhzzkÔÔ +Z¥…¥… +©ƒ£ƒ£8é +PI€0©€@£¢ "ƒdüªâ ¿– ð4¥…¥ +…£¢ "ƒdü…©–¢e†…"Íhü:Ð ©zz„ +z„k£ƒ£ƒ€›ÔÔ +‹ ¨©þ[ôð𫫘ZZZZ¨;i¢†…;¢†…˜"ÀÈü:Ð;£…£… · ð$£…£…£…£… ·… + ·…"tZü€©zzzz+«z„ +z„kÔÔ +Ô ÔZZZƒ¥…¥… +¥… ¥…©ƒ£ƒ£8ãPI€¥ …¥…¥c…â §ƒ ⠣ Ð£zzzz„z„ z„ +z„k¥…¥ +…£"&mü£ƒ£ƒ€ªÔÔ +Ô ÔZƒ¥…¥… +©ÿÿ¦¥†… £…©U…©ü…©"€ü©‡© —ô¥H¥ H£"àÿªhhh©†8åPI€ †¥ e… €ÓŠzz„z„ z„ +z„kÔZâ ƒ £)ÿ + +ª¿ü …¿ú …£)ÿ + +ª¥Ÿ€ðâ ¥Ÿ‚ð ©ú …©…£)ÿ + +…¥e…©€…©ð…£)ÿ + +…¥e…â  · — zz„kÔÔ +‹ ¨©þ[ôð𫫘ZZƒ©þÿƒ£8éPI€I£¢""ƒdü…©¶<¢e†…§ÃÐ%£H£…£…£H  ·… + ·…h"tZüªh€£ªŠ€£zz+«z„ +z„kÔÔ +Ô Ô¨;8éR˜ª¥… ¥…¯y?†8åPI€0B;i^¢ÚH¥ …¥…;i¢†…"(üƒhh;i¢†…¯w?… +¯u?…"tZü;iRz„z„ z„ +z„kZZZâ ƒ ¥ƒ©u…©ü…£)ÿ"É¥ü£…©"º{ü€2£…©"º{ü€%£…©"º{ü€£…©"º{ü€ £…© "º{ü£)ÿ +ª¿„$üƒ£ð +£…£"h™üzzzkÔÔ +ZZZƒ¥…¥… +â £ƒ ¥…¥ +…;¢†…Š"p,ýª©†8åPI€2£É +Ð'© 7)ÿ𥅥 +…©"cýƒ£©ÿÿ€£€©ÿÿzzzz„ +z„kÔÔ +Ô ÔZZƒ¥… ¥…¥…¥… +©•…©ü…©"³žü¥ …¥…"³dü†…¥ð*;i¢ÚH¥…¥ +…£"¤ýªhhèÊУ€ +Š"¶[ü€©öÿzzz„z„ z„ +z„k"måü© +…©ü…"!lüôüô_©y¢ü"upühh"måü©?…©ü…"!lü©_¢ü"Ä„ü"måü©¬ …©ü…"!lü©y…©ü…"dÅü"måü©‹…©ü…":¤ü©y…©ü…":¤ükZƒ¥…¥…¥i…£:ƒ©Ã]£ +ª¿AüH`©"öZü€M©"öZü€D©€?â ©¿'‡ ©€0â ©@‡ ©€!â ©'‡ ©€â ©€‡ ©€©zkÔÔ +Ô Z†…¥…¢©’!…©ü…¥É€¥é°¥€J¥É¥é°=¥ɵÐ6¢à€°%¥…¥… +Š +… ¥e …§8å𠊃£ª€ÖŠi€)ÿªŠzz„ z„ +z„kÔÔ +‹ ¨©þ[ôð𫫘ZZƒ©þÿƒ£8éPI€N£¢""ƒdü…©¶<¢e†…§ÃÐ*£H£…£…£ª£ÚH ·… + ·…hú"tZüªh€£ªŠ€£zz+«z„ +z„kÔÔ +‹ ¨©þ[ôð𫫘ZZƒ©þÿƒ£8éPI€N£¢""ƒdü…©¶<¢e†…§ÃÐ*£H£…£…£ª£ÚH ·… + ·…hú"tZüªh€£ªŠ€£zz+«z„ +z„kÔÔ +Ô Ô¥…¥… +¥… ¥…¥ …¥…¥Å¥å +°L · ÈÈ ð· …ˆˆ· …ˆˆ· …§ … · "usü€ÈÈ· … · …§ …©"—oü¥ i +… €¢z„z„ z„ +z„kÔÔ +Ô ÔZ¥… ¥…¥…¥… +¥…¥ +…¥ …¥…"’Òüƒ£Ð@¥ +ð: ·)ÿð0ô¥…¥ +…¥i… 2· … 0· …©"œ3ýªhèÊЀ¦£zz„z„ z„ +z„kÔÔ +ZZ¥…¥… +¥ +H¥H© …©ü…"!lüƒhhô¦ +¥"«ýªhŠƒ£0/©£"Fœüƒ£H©"®µüƒh£":±üªŠ):ðÜ£" µü€£H©™ …©ü…"!lühzzz„ +z„k¨;8阃©ƒ£ƒ£8éPI€0!â ©ƒ  ;i¢†…£"ß…ü;ik©%ªÚ©8ã…;i¢e†…úâ ¿Öü‡ FfFfFfFf£ƒ£ƒ€ŽZ ·…§…â §ƒ  ·…§…楇¥ —£)ÿ¢†…¥Éa¥é©zũ妥8é °ʆ…¥É€¥é¥8逪¿²ü)ÿ¢†…¦¥zk¨;8é +˜ƒ¢§¨Šƒ˜ƒ£cJƒ ¦¥iÚH£ + +…húe†…§ƒ£ÃР·€£Ãð +£Ã°£ Р·ƒ ;i +k:ªŠ€£ ƒ£ÃУ ƒƒ£ƒ£ƒ£€Œ¨;8é +˜ƒ¤˜JJJJë)ÿ)ƒ£ªâ ¿Öüƒ ˜ë)ÿ)ƒ£ªâ ¿Öüƒ ˜JJJJ)ƒ£ªâ ¿Öüƒ ˜)ƒ£ªâ ¿Öüƒ ⠩ƒ  ;i¢†…£"ß…ü;i +kÔÔ +Ô ÔZZƒ¥…¥… +¥… ¥…©ƒ£ƒ£8ãPI€0£€¥…¥ +…"®ªüª†¥Šzzz„z„ z„ +z„k©†8åPI€ŠH¦ †¦†¥c…h⠇ £ƒ£ƒ€›‹ ¨©þ[ôð𫫘¨;8éR˜¨Z©‰…©ü…;i¢†…"Þühôô– +©…©…;i¢†…©"þªhhŠƒ£ð£…©…©ü…©"€ü£"¶[ü€©¨;iR˜+«kZZZZâ ƒ ©ƒ£ƒ£8ïPI€0zzzzk£oª¯"ƒdüƒ©ƒ£¨˜8ïPI€0 £ƒ£ƒ€»¯c„eƒ£ªâ £Ÿ@𠣪⠯Ÿ`𠘃£¨€µÔÔ +Z† +…¥ƒ"³dü†…¥ðf£Ð¦ +¥"^·ý"¶[ü€W£ÉÐ% ·… ·…¦ +¥eHŠeªh"^·ý"¶[ü€+£ÉР ·eH ·e +ªh"^·ý"¶[ü€©Úÿ€©öÿzz„ +z„kÔÔ +Ô ÔZZZZƒ¥… ¥…¥…¥… +©©ƒ©ƒ£ƒ£ƒ£8ãPI€0£zzzzz„z„ z„ +z„k · "ñXüƒ£"ºaüH¦†¦ +†¥c …h⠇ £ª£ƒ£ƒŠƒ€§ÔÔ +ZZZª¥…¥… +¥ƒ©èÊð+àðà𠩃£ƒ€©ƒ£ƒ€©ƒ£ƒ€ ©ƒ£ƒ©ƒ£ƒ£Ã £zzzz„ +z„k¥…¥ +…¥c…§H£"Ôàÿh£ƒ£ƒ€Ê;8é"©€©ð â ©  ⠩  ©ƒ©Õƒ©üƒ©ƒ©ƒ ©”iƒ ©ýƒ ©6 ƒ©ýƒ©à#ƒ©ýƒ©(Yƒ©üƒ©P]ƒ©üƒ©Aƒ©ýƒ!;¢"ÀÐü¨;i"˜kÔÔ +Ô ÔZ¥…¥… +¥… ¥ +…¥ i…  · )ÿð â  · ƒ ⠩ —  ⠣ƒ €"üüâ ƒ ⠣ƒ ⠣ ð¼©@' )ÿ𥅥 +…£"&mü£)ÿzz„z„ z„ +z„kZZZ¨˜i0â ƒ ⠩:ƒ ⠩ƒ ;¢†…˜¢8"ƒdü…©'¢e†…©"|Êüƒ£H©A…©ü…©"³žüh£ð)£H;i¢ÚH©u…©ü…©"³žühhh£"¶[ü€©zzzkÔÔ +Ô Ô‹ ¨©þ[ôð𫫘ZZZZ¨;i¢†…;¢†…˜"ÀÈü:ÐG£…£… · ð0£…£…£…£…£H£ …£…  · … + · …h"tZü€©zzzz+«z„z„ z„ +z„kÔÔ +ZZZZ¥ƒ¥ƒ¥…¥… +¥…¥ +…¥i…"ž^üƒ©ƒ£…£…§â É Ð7¥i…¥…¥ +…"ž^ü¢ª©†…¥H¥ƒhƒ£ƒ£ƒ€£ƒ£ƒ£ª£zzzzz„ +z„kÔÔ +Ô ÔZ†… ¥…¥… +¥ƒ¢µ†¦¥ "¯¡üªà7£É°©€O¥…¥ +…æŠë)ÿ⠇ ¥…¥ +…æŠâ ‡Â ©€$èÊð£É¥…¥ +…æŠâ ‡Â ©€©zz„z„ z„ +z„k¨;8阃¥ƒ ©8ã PI€x;i ¢ÚH£"'sü;i¢ÚH£"lzüƒ £cƒ £cƒ £8ラƒ;i ¢ÚH£"¿züƒ d£…8©å…£"åvü;i¢ÚH£!"¿zü;i;ikÔÔ +‹ ¨©þ[©ëH««˜ZZZZ† +…¯÷Cƒ¯ùCƒ©ÿÿƒ©÷ƒ©"T¶üÉÐQ¥Ã¥ +ãG£Å£å +=© "¡qü¦ +¥†…â £‡Â "&’üiè† +…"&’ü†…¥Å¥å +PI€0ézzzz+«z„ +z„kÔÔ +Ô ÔZ¥… ¥…¥…¥… +©ƒ£ƒ£H¦ †¦†"Ì]ü…hÅ+¥ …¥…"Ì]ü…¥e…â ©‡ zz„z„ z„ +z„k¥ …¥…¥c…§)ÿ"³]üH¦†¦ +†¥c…h⠇ £ƒ£ƒ€…‹ ¨©þ[ôð𫫘¨;8éT˜ƒ£ÉÐôôôô©"Làÿƒ hhhh£]H£]H£H©d…©ü…;i ¢†…"Þühhh;i¢†…"Drýƒ£ð£…©O…©ü…©"€ü£"¶[ü€©¨;iT˜+«kÔÔ +;8é:¥ƒ¥ƒ¥…¥… +;i¢†…;i¢†…©"‡Èý:ÐO£…£…;i¢†…"r5ýƒ£Ð+£1©€ ¥ +𥅥 +…;i¢†…"<²ý£€£ƒ€ƒ£¨;i:˜z„ +z„kÔÔ +¨;8éT˜ƒ¥…¥… +¦†¥>©Øÿ†8åPI€/Š"·büÚH¥ +H¥H©ó…©ü…;i ¢†…"Þüƒ hhhh€&Ú¥ +H¥H©k…©ü…;i ¢†…"Þüƒhhh;i¢ÚH£"Øàÿhh;iTz„ +z„kÔÔ +‹ ¨©þ[ôð𫫘¨;8é +˜¨;i¢†…;¢†…˜"ÀÈüƒ £ Ð>£…£… &· (Щ€"£…£…£…£… (·… + &·…"tZüª€£ H©â +…©ü…©"³žüh£ ªŠ¨;i +˜+«z„ +z„kÔÔ +‹ ¨©þ[ôð𫫘¨;8é +˜¨;i¢†…;¢†…˜"ÀÈüƒ £ Ð>£…£… *· ,Щ€"£…£…£…£… ,·… + *·…"tZüª€£ H©/…©ü…©"³žüh£ ªŠ¨;i +˜+«z„ +z„kÔÔ +† +…¥…¥…æâ ¥‡ ¦ +¥ †ȈðFjˆÐú¦† +…¥…¥…æâ ¥‡ ¦ +¥ †ȈðFjˆÐú¦† +…¥…¥…æâ ¥‡ ¦ +¥ †ȈðFjˆÐú¦† +…¥…¥…æâ ¥‡ z„ +z„kÔÔ +Ô ÔZ† +…¥… ¥…¢ 4· ÅÐ  6· Å +Њ€g¥ …¥…" Îüƒ£ÐOô¥…¥ +…¥ …¥…¥i8… · "ªeüªhèÊð©ÿÿ…©ÿÿ… +¢€£ª¥ 4— ¥ + 6— Šƒ€£ƒ£zz„z„ z„ +z„kZZZª¤†¥ ©ƒ£ƒ€-Š8ïPI€0©ƒ˜ƒ£ƒ£ƒ€Šƒ˜ƒ£ƒ£¨„¥¢€0˜8ïPI€0˜8ï…©"clý¯:ƒ£ƒ€˜ƒ£ª£Š£oðŠoðzzzk‹ ¨©þ[©ëH««˜ZZZ†…©ƒ©ƒ;¢ÚHôô¦¥"Ø^ýªhhhhŠƒ£ÐF£ð&£H£H£…¯‡ü…¯…ü…£ª£"¸‘ühh©€1£H©…©ü…©"³žüh©ðÿ€£H©Ã …©ü…©"³žüh£zzz+«kÔÔ +‹ ¨©þ[ôð𫫘¨;8é +˜ƒ£H©â…©ü…"á™üh;i¢†…;i¢†…£"ÀÈü:ÐB£ …£… · ð"£…£…£ …£… ·… + ·…"tZü£…£…"gü©¨;i +˜+«z„ +z„kÔÔ +‹ ¨©þ[ôð𫫘¨;8é +˜¨;i¢†…;¢†…˜"ÀÈüƒ £ ÐB£…£… "· $Щ€&£…£…£H£ …£… $·… + "·…h"tZüª€£ H©Ú …©ü…©"³žüh£ ªŠ¨;i +˜+«z„ +z„k‹ ©þ[©ëH««¯õCÉþÿðLô¶©ÿÿõC©"syü:ð©#"syü:ð©4"syü:ð ©õC€V"vYü¯ùC…¯÷C…⠧ â É¿Â Ð4¯ùC…¯÷C…â  ·Â â ÉÕ ðâ ÉÖ ðâ ÉנЩõC"~Yü¯õC+«kÔÔ +Ô ÔZZZZƒ¥… ¥…¥…¥… +©©ƒ©ƒ£ƒ£ƒ£8ãPI€V · "ñXüƒ£"ºaüâ ƒ £â É + ð5£â É Â ð+¥…¥ +…¥c…â £‡Â £ƒ£ƒ£ƒ£ƒ€ž£zzzzz„z„ z„ +z„kÔÔ + ·)ÿ¢†…¦¥ †Ȉð +&ˆÐú¦†… ·)ÿ…d +¥ +ª¥†…¦¥ †Ȉð +&ˆÐú¦†… ·)ÿ…d +¥ +ª¥†…¦¥ †Ȉð +&ˆÐú¦†…§)ÿ…d¥ª¥z„ +z„kÔÔ +¥Ð © E?©ÿÿL︠·ÈÈð~ · ×Ð  · ×ðf ·…ˆˆ·…8¥ ÷¢¨ʆ +… · — · —ˆˆ· — · —¢†8ʊ娊å +ª˜"Õšü…¥©ÿÿ€©z„ +z„kÔÔ +Ô ÔZ¥…¥… +¥… ¥ +…¥ i… § …⠥ e©ƒ£ƒ · )ÿ…£8åPI€F¥ …¥…ææ¥c…§H ·"ºïüh¥ …¥…ææ¥c…â ©‡Â £ƒ£ƒ€¤â © —  ©zz„z„ z„ +z„k¨;8阃 ¥ƒ©8ãPI€0LNº;i¢ÚH£"'sühh;i¢ÚH£"lzüƒhh£8ãPI€ +£ƒ£ƒ€£ƒ£cƒ£cƒ£8ム©ƒ ;i¢ÚH£"¿züƒhhd£…£ "åvü;i¢ÚH£"¿zühh;ik€8 ·Hˆˆù ©HˆüH ¢£ +ƒ£*ƒ£*ƒ£*ƒ£*ƒ£ *ƒ £ *ƒ £ *ƒ 8 ¢£÷HÈÈÊöh ƒhƒhƒhƒ€zzz£*ƒ£*ƒ£*ƒ£*ƒ˜£J°¢ h—ÈÈÊø;i(khhhh h—ˆˆùzzzz(kÔÔ +Ô ÔZZ¥…¥… +©.">†ü†… â ©‡ ¥ ðvæ ©ƒ£ƒ£8éPI€0©€\â § ƒ æ â £ƒ ⠣ ð+£)ÿ"³]üH¦†¦ +†¥c…h⠇ £ƒ£ƒ€©¥c…â ©‡ ©€©zzz„z„ z„ +z„kÔÔ +Ô ÔZ¥… ¥…¥…¥… +© ƒ¥ ðW§   ðN · …§ …§)ÿð< · … · …§ … ·ÅÐ! · …§ … ·"žYüJ°©€£ª€£ªèÊð ©…©…€  · …§ …¥‡¥ —Šzz„z„ z„ +z„kÔÔ +Ô ÔZZZƒ¥…¥… +¥… ¥…©èƒ£ƒ£ð%;i¢†…¥…¥ +…©""…ü£â Éÿ ðS£â Éþ ð©€4¥ …¥…¥…¥ +…£""…ü;i¢†…¥…¥ +…©""…ü©zzzz„z„ z„ +z„k©d"Zü£:ƒ£ƒL“¼ÔÔ +Ô ÔZZ¥…¥… + ·…§… § æ )ÿƒ£"žZü:ð:â § ƒ æ â £ƒ £"¬Zü:Щÿÿ¢ÿÿ€S£ë)ÿ…£)ÿeƒ£€£:𢵆"eüƒ£Ð©ÿÿ¢ÿÿ€ £ƒ€ƒ£¢†…¥ ‡¥ —¦¥zzz„z„ z„ +z„kZ¢†¢€?†ƒ©8ãPI€@£8éPI€0©P¢ÃG":òü†…£8郣€©¢ A":òü†…£:ƒ£ƒ€³£ƒ£P©ûÿ8ãPI€0"¦¥ P„ ÃG„"<ý†…©cƒ£€¦¥ „  A„"<ý†…£ƒ£ƒ€¬¦¥zkÔÔ +Ô Ô‹ ¨©þ[ôð𫫘¨;8é +˜¨;i¢†…;¢†…˜"ÀÈüƒ £ ÐK£…£… .· 0Щ€/£…£…£…£ª£ÚH£ …£ …  0· … + .· …hú"tZüª€£ H© …©ü…©"³žüh£ ªŠ¨;i +˜+«z„z„ z„ +z„kÔÔ +Ô Ô‹ ¨©þ[ôð𫫘¨;8é +˜¨;i¢†…;¢†…˜"ÀÈüƒ £ ÐN£…£… 2· 4Т€3£H£…£…£…£…£H£ …£ …  4· … + 2· …h"tZüªh€£ H© …©ü…©"³žüh£ ªŠ¨;i +˜+«z„z„ z„ +z„kÔÔ +";Yüixè† +…¢†d©"•–ü¢ †¢†©"•–ü¢†¢†©"•–üdd©"±tü¢†¢†©"±tü¢†¢†©"±tü";Yü†…¥Å¥å +PI€0领d©"±tü¢†¢†©"±tü¢†¢†©"±tüz„ +z„kZ©ç…©ü…"á™ü©ƒ£ƒ£8éPI€0T©ƒ£ƒ£8éPI€0zk£¢$"ƒdüª©ÿÿŸÆ8¢Æ8†¢†£¢$"ƒdü…¥e…©ÿÿ —£ƒ€µ£¢6"ƒdüª©Ÿ;©;…©…£¢6"ƒdü…¥e…© —© —£ƒLÛÀ;8é6©©,ƒ©üƒ©ƒ©ƒ©ƒ ©š“ƒ ©ýƒ ©ƒ©ƒ©©ƒ©üƒ©û¶ƒ©üƒ©H[ƒ©üƒ©6•ƒ©üƒ!©ö_ƒ#©üƒ%©ƒ+©ƒ-©ƒ/©ƒ1©]‡ƒ'©üƒ)©ƒ3©ƒ5;¢"–ü:Щ1ƒ©üƒ©ƒ;¢"–ü¨;i6˜kÔÔ +Ô ÔZZZ† +…¥ƒ©ƒ©#ð¢©ÿý#ƒŠƒ€£ƒ£"ÜYü"çZüʆ…"óÓü¥ƒ"çZüʆ…"óÓü†…© 8ãPI€0©0c€£ð +©7cƒ€©Wcƒƒ£¦ †¦† +æ ¦ †¦†â ‡ ¥…¥… +"ÜYü¥Ц¥zzz\Xëý¨;8阃¥ƒ¥ƒ¥ƒ¥ƒ ¥…¥…¥c…ƒ¥ƒ£…£…¥ƒ¥ƒ£ÅУÅðD¥ƒ¥ƒæâ §ƒ æ¥ƒ ¥ƒ £…£…â £‡ ¥ƒ¥ƒâ £ ð£ …£ €¦£…£…£ÅУÅУ ª£¨;i˜k¥…¥…æâ ©‡Â €ÒÔÔ +Ô ÔZZâ ƒ ¥…¥… +¥… ¥…¥…¥ +…"—ü:ЩL…Äâ £ƒ ;¢†…¥…¥ +…©"›‹ü£â Éý ð[¥ …¥…¥…¥ +…©"›‹ü;¢†…¥…¥ +…©""…ü;¢†…¥…¥ +…©""…ü©#â ɠ𩀩zzz„z„ z„ +z„kª¤©ÿø/þþà€Ð)ÀàÐ$¯þþŠ˜"©Ñü¯þð©LcÅà€Ð+ÀÐ&©þþŠ˜"©Ñü¯þð©€cà@Ð+ÀðÐ&©þþŠ˜"©Ñü¯þð©€3à@Ð+ÀÈÐ&©þþŠ˜"©Ñü¯þ𩀩ÿÿkÔÔ +;8éT¥…¥… +¥ +H¥H©P …©ü…"!lüƒhhô +¦ +¥"«ýªhŠƒ©8ãPI€n£H©…©ü…"!lüƒ©ˆ…©ü…;i¢†…"Þü;i¢†…"Ì]üH;i ¢ÚH£ "'ÍüªÚ©Ì +…©ü…"!lüƒ ;i +£"á“ü€£H©c…©ü…"!lüh;iTz„ +z„kÔÔ +¨;8阃Šƒ ¥ƒ¥ƒ£…£…¢§¨Šƒ˜ƒ£cJƒ +ƒƒ£ +ƒcƒ¦¥icƒŠƒ£…£… ·… +§…ƒ ¥ +ƒ £à У à Р£…£…ÈÈ€£Ãð£à £ ã °£Ð·ƒ;iz„ +z„k:ª£ƒŠ€£ƒ£ÃУƒƒ£ƒ£ƒ£ƒ£LcÆÔZ©i…©…¯{C…¯yC…©‡© —¯wC…¯uC…©‡© —¢Š8é PI€0_â ©ÿhð ⠩ÿið ⠩ÿjð ⠩ÿlð ⠩ÿmð ⠩ÿnð ⠩ÿ`ð ⠩ÿað ⠩ÿbð zz„k¥…¥…Š + +…¥e…©‡© —Šƒ£ªLOÇÔÔ +Ô ÔZª¥…¥… + ·…§… èÊÐV¢ +§ â É0 ÐE©ƒæ § â ÉX ð +§ â Éx Ð$¢†©……¨È· )ÿ" Þü:ð ©æ ƒ€££€Šª€EàÐ%§ â É0 Ð6ˆ· â ÉX ð +· â Éx Ð!æ æ €Š8éPI€0©†8åPI€0¥ ‡¥ —Š€©ÿÿzz„z„ z„ +z„kÔÔ +Zƒ£8éPI€0LÉ£¢$"ƒdü…©Æ8¢e‡Š — ·… +§…§ÃÐr ·… +§… ·8éPI€/ ·… +§… ·¢6"ƒdü…©;¢e‡Š —©€E ·…§… ·…©÷ …©ü…©"€ü©þÿ€£…© +…©ü…©"€ü©þÿ€©öÿzz„ +z„kÔÔ +Ô ÔZ¥… ¥…¥…¥… +§"Feü¨˜ + +ƒª£ +ƒŠcƒ¦¥ i +c†…˜ + +ƒª£ +ƒŠcƒ¥ i +… ¥ c…  · …ˆˆ· …¥ð+§ð'§ª§… ä °¥…¥…ÈÈ·…ˆˆ·… …¥…€Ï¥—¥ +ÈÈ—¥ÈÈ—¥ÈÈ—¥ —¥ÈÈ—¥ð ¥ÈÈ—¥ +ÈÈ—zz„z„ z„ +z„k¨;8é˜â ƒ ¥ƒ +¥ƒ ¥ƒ¥ƒ£ƒ£ƒ;¢†…"Q\ýƒ£© LTË£ + +ª¿…¿…¥ð£ + +ª©Ÿ©Ÿâ ©‡Â £ + ð4£ …£ +…â £ — £ …£ +…â ©‡Â £ + +ª£ +Ÿ£ Ÿâ £ Ð©€;i +¢†…;i¢†…©"‡Èý¨;i˜kZ†…©ƒ£ƒ¦¥ „  A„"aíüS¦¥ P„ ÃG„"aíü"¦¥ P„ ÃG„"<ý†…©cƒ£€¦¥ „  A„"<ý†…£ƒ€™£ƒ¦¥ „ €?„"½íü°S¦¥ ¬Å„ '7„"½íü°"¥…¥…©P¢ÃG":òü†…£8郣€¥…¥…©¢ A":òü†…£:ƒ€™£zkÔÔ +Ô ÔZ¨¥ª¥iè† +…¥ +)ÿÿª¥)ðÿ† +…˜¢eHŠeªh†…¥)ÿÿª¥)ðÿ†… ¥ 8åƒg‡¦ +¥ —ŠÈÈ—·…ˆˆ·…©‡¨·…ˆˆ·…©€—¦ +¥i膅£8釩—¦¥ 8é°Ê —ŠÈÈ—·… +ˆˆ·…©‡©€HÈÈ·… +ˆˆ·…h —"›Éü©z\ÂäüÔÔ +Ô Ô‹ ¨©þ[ôð𫫘¨;8é +˜ƒ£… +£…£H¥ +H¥H£H©6 +…©ü…©"³žühhhh;i¢†…;i¢†…£"ÀÈüƒ£ÐJ£ …£… ·  Щ€.¥…¥ +…£…£…£H£ …£ …   · … + · …h"tZüª€£H©! +…©ü…©"³žüh£ªŠ¨;i +˜+«z„z„ z„ +z„kÔÔ +ZZ¥…¥… +©ƒ ·)ÿÐLèÎô 6·… 4·…¥…¥ +…¥i8… ·"ÜeüªhèÊðLãÎâ © — 8 4· (÷H 6· *÷ªh†…¥  ×¥ "÷°H ·â É Ð;ô 4·  wH 6· "wªh†…¥…¥ +…¥i8… ·"Üeüƒh£€©€£zzz„ +z„k;8é;¢"|ùü£8é¼¢¨Ê +ë)ÿª©†…£¢¨Ê + + + + +ª©†…¥ª¥†…£¢¨ʪ©†…¥ª¥†…£¢¨Ê  †Ȉð +&ˆÐú¦†…¥ª¥†…£ ¢¨Ê †Ȉð +&ˆÐú¦†…¥ª¥†…£ ¢¨ʆFj¦†…¥ª¥¨;i˜kÔÔ +Ô Zâ ƒ ¥…¥… +£â É Ðâ £ — ⠩ — LµÐ ·…©â Å L¨Ðâ  ·ƒ © wâ  — ¥…¥ +…ææ£)ÿ… ¥e …â £‡ £â É@ ©Zâ à°£â Éa "©zâ ॅ¥ +…"SGýâ © — € £H ·"ºïühzz„ z„ +z„k‹ ¨©þ[ôð𫫘†…§¨˜8éPI€0L£Ñ˜¢""ƒdü…©¶<¢e†…§‡ · — · — · — · —  +·  +—  ·  — · — · — · — · — · — · — · — · — · —  ·  —©€©þÿ+«kZâ ¯/ ÐLÒ¯¢¨ʆ…¯ ¢¨ʆ…"<Ôü¯¢¨ʆ…¯ ¢¨ʆ…"<Ôü â ¯ ðsâ ¯ ði¯)ÿ +¢¨ʆ…¯ ¢¨ʆ…"<Ôüƒ¯)ÿ +¢¨ʆ…¯ ¢¨ʆ…"<Ôüª¯8㯠†8倯¯ zkÔÔ +Ô ÔZZZ¥…¥… +¥… ¥…;¢†…¥…¥ +…"º»üƒ£ðLeÓ¥ Ð¥…¥ +…©¢"0Pýƒ£ƒ€t¥…¥ +…©"Ífýƒ£ÉÐ ©ƒ£ƒ€£ƒ£ÐA¥ …¥…¥…¥ +…"<²ý¥…¥ +…©"ÒYýƒ£ÉÐ ©ƒ£ƒ€£ƒ£ƒ€£ƒ£ƒ£ƒ€£ƒ£zzzz„z„ z„ +z„k¨Iÿÿ›¨ŠIÿÿª˜ÔÔÚ…d¥æ*8¨ã°˜&òú¦z„z„kÚHCƒh"{ÓüŠ€H"{ÓüúIÿÿk$©8å…©å…$©8å…©å…ÔÔ Ô +Ô¥…¥… +ddd dæ & +&&8¥å¨¥å…„& &⥠¦z„z„ +z„ z„k¥EH"ÍÓü†…z©ª8娊媘k¥¦kÔ¨;8é˜â ƒ  ¥ƒ¥ƒ¥ƒ©â à  °LCÕ¯ËüH¯Éüƒ hƒ ¢Š8ãPI€0j£ )ÿ + +ª£ Ÿú â £ Ÿü  £ð'©ú …©…£ )ÿ + +…¥e…â © — €%©ú …©…£ )ÿ + +…¥e…â © — €4£…£…†¥e…£ …£ …†¥e…â §‡ Šƒ£ªLšÔ;iz„kÔÔ +¨;8é +˜â ƒ ¥…¥… +£â É + Ð¥…¥ +…© "MÕü ·ƒ£L0Ö ·ƒ£ƒ£ƒ¥…¥ +…¥i…¥c…â £‡Â £8é<PI€0S;i¢ÚH¥…¥ +…¥i… ·…§…£ ".­ýƒhh£Ãð ©ÿÿƒ£ƒ€ ©ƒ£ƒ£ƒ£ƒ€£ƒ£ —£ —;i +z„ +z„kZZZZƒ©Xƒ©¸ƒ£â + + + + + câ ƒ ¥:ƒ©Ã°L×£ +ª¿üH`©H©H©lB…©ü…£ "ëühh€n©H©H©l>…©ü…£ "ëühh€R©H©H©l.…©ü…£ "ëühh€6©H©H©l:…©ü…£ "ëühh€©H©H©l6…©ü…£ "ëühh©H£ "{üh£…£)ÿ…£"1ü¢†£"}ˆüzzzzk;8éV©ƒ©Ýƒ©üƒ©Æ1ƒ©ýƒ ©aYƒ ©üƒ ©uƒ©üƒ©©Ñƒ©üƒ©”ă©üƒ©ª•ƒ©üƒ©×^ƒ©üƒ!©¤‰ƒ#©üƒ%©kcƒ7©üƒ9©`ƒ;©üƒ=©…`ƒ'©üƒ)©ƒ+©üƒ-©ª`ƒ/©üƒ1©‘_ƒ3©üƒ5©Â³ƒ?©üƒA©[ƒC©üƒE©kƒG©üƒI©clƒK©ýƒM©î§ƒO©üƒQ©abƒS©üƒU;¢†…"n›ý¨;iV˜k;8é +©ƒ©ƒ©ƒ©ƒ;¢ÚH©"¿zü©ðôd©…©…©"_Ôü©"ºü©H©H©H©…©…©"ÿý;i dd©"6üd©"@‰ü©">'ý©ƒ £ ƒ £ 8éPI€0"¢†©"w ýôô©"Ùrühh;i +k©H©H©…©…£ "ëühhdd£ "1üd£ "}ˆü£ ƒ €žZZƒ£H©Ó…©ü…"á™üh£0V£8éPI€I£¢$"ƒdüª£ŸÆ8¢Æ8†¢†£¢$"ƒdü…¥e…£ —£¢$"ƒdü…©Æ8¢e€w©ƒ£ƒ£8éPI€0©¢€Y£¢$"ƒdüª£ßÆ8ðJ£¢$"ƒdüª£ŸÆ8¢Æ8†¢†£¢$"ƒdü…¥e…£ —£¢$"ƒdü…©Æ8¢ezzk£ƒ£ƒ€„ÔÔ +Ô ÔZZZ¥… ¥… · … +§ … · … · …¥ƒ¥ƒ ,·  .7 𥠅¥… .· ª ,· "0Pýƒ£ƒ€ ©ƒ£ƒ£ƒ£Ðt¥…¥ +… · ª · " ³üªèÊðŠ€I · … · …â ©å‡Â â © —  · à· ㊀¥ …¥…©"ÒYýªŠèÊð˜ÉЩƒ€£ƒ£zzzz„z„ z„ +z„k;8é§â É/ ð©–…©…;i¢†…©"Ãü€¥…¥…;i¢†…©"Ãü©ƒ£ƒ£H;i¢†…"Ì]ü…hÅ?©…©ü…;i¢†…©"s€ü:Ðôôôô©"Làÿhhhh;ik;i¢c†…â §ƒ £â ÉA +©Zâ à£)ÿ"š]üH;i¢c†…h⠇ £ƒL[ÛÔÔ +Ô Ô¨;8é +˜†… ¥…¥… +¥…¥ +…" Îü:ð©LóÜ¥…¥ +…¦¥ " ü†… ¥  4—¥ 6—¢†¥…¥ +…¥i8…©"—oü¥…¥ +…¥i8…¥ƒ¥ƒ©ƒ©ƒ£ƒ £ ª  +·…ä°6£H¦¥ c 膅£…£… ·"Üeüƒh£Ð £c ƒ£ƒ €¼  +·à 𩀩¨;i +˜z„z„ z„ +z„kÔÔ +Ô ÔZZZƒ¥… ¥… · … +§ …¥ …¥…©¢"0Pýƒ£ðLÝÝ©ƒ£ƒ¥…¥ +… · ª · " ³üªèÊðŠƒ€j · … · …§â Éå ð  · … · …§)ÿ𠩃£ƒ€£ƒ£ÃЊƒ€"£ƒ¥ …¥…©"ÒYýª£ƒŠƒèÊÐLLÝ£ƒ€£ƒ£ÉÐ ©ƒ£ƒ€£ƒ£zzzz„z„ z„ +z„kZZZª¥ƒ©ƒ:ƒ© +8ãPI€0.Š8é0PI€0©/"ÁYüPI€0 +Š8é0¢€£ª£ƒLþÞ©$8ãPI€LñÞŠ8é0PI€0©9"ÄYüPI€0Š8é0ª©ƒŠƒ€^Š8éaPI€0©V"ÁYüPI€0Ši©ÿª©ƒŠƒ€2Š8éAPI€0©6"ÁYüPI€0ŠiÉÿª©ƒŠ€£ƒ£ƒ£££€£ƒ£ƒ£ª£¥ð£‡ŠzzzkÔÔ +Ô Ô‹ ¨©þ[ôð𫫘¨;8é +˜ƒ£… +£…£H¥ +H¥H£H©ñ…©ü…"á™ühhhh;i¢†…;i¢†…£"ÀÈüƒ£Ðq£ …£… ·H ·H©3…©ü…©"³žühh£ …£… · Ð©€.¥…¥ +…£…£…£H£ …£ …  · … + · …h"tZüª€£H©H …©ü…©"³žüh£ªŠ¨;i +˜+«z„z„ z„ +z„kÔÔ +¨;8é ˜ƒ ¥ƒ©…©ü… +©ƒ© ƒ£8ãPI€Lᣪ£"ƒdüƒ©ƒ©ƒ©ƒ£ƒ £ 8ãPI€0Lá£8ã :ƒ£ƒ©8ãPI€0m¥…¥ +…£ "ß…ü©ƒ£ƒ£8ã PI€02£ c + +ª¿QD…¿OD…£ "ß…ü© +H£ "àÿƒh£ ƒ£ƒ €ƒ© H£ "àÿƒh£ƒ£ƒ€ª© H£ "àÿƒh£:ƒ£ƒL…à;i z„ +z„kÔÔ +Ô Ô‹ ¨©þ[ôð𫫘ZZZƒ©K…©ü…"á™ü£…©È…©ü…©"€ü£8éPI€0L⣢6"ƒdü…©;¢eƒŠƒ£…£…§Ãð©þÿL"â£"Ùü†… ¥ Щõÿ€n · Ãð©öÿ€`£…£…  +·  ðE£…£…¥ …¥…£ÔÔH£ …£ …  ·… +  +·…h"Þfü"tZüƒ£Ð§ € £€§ €©þÿzzz+«z„z„ z„ +z„kÔ‹ ¨©þ[ôð𫫘Z†…¢Š8é€PI€0 +©z+«z„k¥…¥…†¥e…â §Ÿz ¥…¥…Ši€…¥e…â §Ÿú ¥…¥…Ši…¥e…â §Ÿz ¥…¥…Ši€…¥e…â §Ÿú ¥…¥…Ši…¥e…â §Ÿz ¥…¥…Ši€…¥e…â §Ÿú ¥…¥…Ši…¥e…â §Ÿz Šƒ£ªLKâ;8é@¥ƒ¥ƒ;i ¢†…;i¢†…©"‡Èý:ðLPä£ ƒ £ ƒ£…£…;i ¢†…"r5ýƒ£Ð_£7£ …£ …£ —£ —£ƒ€;£‰ð/£+…£)…£ …£ …"a¬üÚH£…£ …hú —Š —£€©ƒ£€£ÉÐ ©ƒ£ƒ€ƒ£Ð7©ƒ£ƒ£ð £ + +ª¿à пà ð £:ƒ£ƒ€Üâ £ £¨;i@˜kÔÔ +Ô Ô¨;8é +˜ƒ¥… ¥…¥…¥… +©‡ ¢†¥ …¥…"ÂZü…©"—oü©ƒ £ É )¥…¥ +…¥ …¥…£"AÌü;i +z„z„ z„ +z„k: + +ƒƒ£ +ƒcƒ£ + +ƒƒ£ +ƒcƒ¦¥ i +cÚH"ºZü…¥c…hú —ŠÈÈ—£ + +ƒƒ£ +ƒcƒ£ : + +ƒª£ +ƒŠcƒ¦¥ i +cÚH"ºZü…¥c…hú —ŠÈÈ—£ ƒ£LäZZ©Š +…©ü…"!lü©R¢ü"5ìüƒ©ÿÿ8ãPI€0Lsæ©0…©ü…©"³žüôô{A£"ËèüªhhèÊðLZæâ ¯„A ÐLZæâ ¯„A ÐLZ毃A‰Ðe¯A…¯A"~ü¯}AH¯{AH©‚…©ü…"!lüƒhh¯ƒA‰ðôô„A©@…©ü…"!lüƒhh€ôô„A©á…©ü…"!lüƒhhôô{A£"ËèüªhhL¹å£"Tqü©™…©ü…©"³žü€£H©…©ü…©"³žühzzkÔÔ +Ô ÔZZZZ¥ƒ¥ƒ£…£… ·…§…£…£… ·…§…¥ƒ¥ƒ£…£…§)ÿð*§…£… +£…§â Å Ð楃¥ƒ£…£…€Ï§)ÿÐ ©¢L˜ç¥ƒ¥ƒ£…£…§)ÿð*§…£…£… § â Å ð楃¥ƒ£…£…€Ï§)ÿУ… +£…¥‡¥ —¦¥€!â ©‡ æ£… +£…¥‡¥ —¦¥zzzzz„z„ z„ +z„kÔÔ +Ô Ô¨;8é$˜ƒ¥ƒ£8éPI€0L³è£8éPI€0L³è©…©…©…©…©©£¢$"ƒdü…©Æ8¢e† +…£¢$"ƒdü…©Æ8¢e†…  ·ƒ ·  —£ — ¥…¥ +…¥i…;i¢†…© "usü¥ …¥…¥i…¥…¥ +…¥i…© "usü;i¢†…¥ …¥…¥i…© "usü©€©öÿ¨;i$˜z„z„ z„ +z„kÔÔ +‹ ¨©þ[ôð𫫘¨;8阃;i#¢†… ·… +§…£ªâ ¿þ& ÐLÚé;i¢†…£¢4"ƒdü…©^%¢e†…"’Òüƒ£ð £"¶[üLÝ飇£ —£ —£  —â £  — ©ƒ£ƒ£8éPI€L;i¢c†…¥…¥ +…¥i …¥c…â §‡ ¥…¥ +…¥i …¥c…§)ÿЩ€£ƒ£ƒ€—©ôÿ¨;i˜+«z„ +z„kÔÔ +‹ ¨©þ[ôð𫫘¨;8阃;i#¢†… ·… +§…£ªâ ¿þ& ÐLýê;i¢†…£¢4"ƒdü…©^%¢e†…"·£üƒ£ð £"¶[üL룇£ —£ —£  —â £  — ©ƒ£ƒ£8éPI€L;i¢c†…¥…¥ +…¥i …¥c…â §‡ ¥…¥ +…¥i …¥c…§)ÿЩ€£ƒ£ƒ€—©ôÿ¨;i˜+«z„ +z„kÔÔ +Ô ZZZZâ ƒ ¥ƒ¥ƒ£â É L'ì£)ÿ + +ë)ÿ¢¨ÊoÅüHŠoÇüªh†…¢Š8éPI€Lóë© +…©…£)ÿ + + +…¥e…¥ —¥â  — £)ÿ + + +ª©‡? +â ƒ ©#â + + + + + â ƒ ©#â + + + â ƒ £)ÿ + + +ªâ £Ÿ + £"äjü€4£…£…†¥e…¥…¥… +† ¥e …â §‡ Šƒ£ªL\ëzzzzz„ z„ +z„kÔÔ +‹ ¨©þ[ôð𫫘¨;8鄘† +…©ÿÿƒ¥…¥ +…"Ûü©ƒ£ª£ƒŠ8éPI€â ¿þ& ðLWíâ ©Ÿþ& Šƒ£ƒ£©õÿLFí§)ÿÐBô€;i¢"Caüƒh;i¢†…£¢4"ƒdü…©^%¢e†…"Ëúüƒ£ƒ€*¥…¥ +…£¢4"ƒdü…©^%¢e†…"Ëúüƒ£ƒ£ð£H©?…©ü…©"³žüh£"¶[ü€£ªâ ©Ÿþ& £¨;i„˜+«z„ +z„kŠƒ£ªLkìHŠ +Éÿ )ÿÐ&£Ð"¥ +Éÿ )ÿХЊ +ð ¥)€ÐŠ0 8€ +¥ +ðö°hkŠ ¥ÃÚ¥ãú€í£ÅŠå€äHŠ +Éÿ )ÿÐ2£Ð.¥ +Éÿ )ÿÐ!¥ÐŠ +8ð ¥ +жŠ0 8€®¥ +ðš°¥hkÚHŠ8 ˜ãƒ˜ãƒª8€ÚH —dŠëÐRëÐ8˜é¨£ðWë)ÿƒ£ë)ÿƒ£ªˆ£ +ƒŠ*‰ðò)ÿ(jƒ˜ë)ÿJª(£j ¤Ð‰ðÐèzzkŠÉÓJª£jƒfÈ€î(ª€çÔÔ +Ô Ô‹ ¨©þ[©ëH««˜¨;8阃Šƒ£!… +£…¯÷Cƒ¯ùCƒ©ÿÿƒ +©÷ƒ â ©ƒ "T¶üÉðL¥ï¥Ã¥ +ã°L¥ï£#¢¨ÊeHŠe +ªh†…£ +Å£ å°L¥ï©ƒ£ƒ£8ã#PI€£¢¨ÊcHŠcªhƒŠƒ£¢¨ÊeHŠe +ªhƒ +Šƒ © "¡qü£ …£ +…£…£…â §‡ "&’üi膅 "&’ü†…¥Å ¥åPI€0飃£ƒLï;i+«z„z„ z„ +z„kÔÔ +Ô Ô‹ ¨©þ[ôð𫫘ZZZƒ£"”vü†… ¥ ÐL×ð F·  H ÐL×ð©} …©ü…£)ÿ"É¥üL×ð;i¢ÚH£"'sühh£Hô£"ÙrühhL×ð;i¢ÚH£"'sühh£H£JJJI)8é + + +H£"Ùrühh€t;i¢ÚH£"'sühh©8ãPI€=£H£:H£"Ùrühh© H H· … F· …¦†¦† +h"tZü£H£:H£"Ùrühh€£H H· … + F· …h"tZüzzz+«z„z„ z„ +z„kZZZZ©ƒ©ƒ©P8ラ<8ãƒ;¢ÚH©"¿zü©  +…©ü…"!lü¯BH¯ŽBH©¬…©ü…"!lü¯–BH¯”BH© …©ü…"!lü¯šB…¯˜B…©è…©…"óÓüÚH©p…©ü…"!lü¯¨BH¯¦Bh ZJJJJúH©—…©ü…"!lü;i¯¤BH¯¢BH¯ BH©ñ …©ü…"!lü¯ˆBH¯ŒBH¯„BH©• …©ü…"!lü©ƒ©ƒ©ƒ ©ƒ;i ¢ÚH©"¿züôô©"Ùrü;izzzzk„¨¥ƒ†úÔ†¥Ð©@ƒ‚"·iü"~güÚHÀÿðá¥ÉÿðÌ¢ÚÚÚ:Ðè˜ÐèÚÔd¢Ff£c ƒ£c ƒ£ eƒ £ +ƒ £ *ƒ &Êؘ8ceé~¨úhh…h…h…hh˜Àéÿ/ˆFffF8&ÈÐð¥Ð/€yðåÀ°$0&&ˆÐóðÑdd €Z ÿdd€QÀÿ°ò¥Hë)ÿ…hðF8&¥ëH)ÿ…h)ÿ…¥ëH)ÿ…h)ÿ…¥ +Ð¥J æÐ æ¥ëJÈ¥ë +Z먊J˜jª¥zkZZZZ†…¥É¥éLô¥ƒ£É ©Ö…©ü…€ +©’"…©ü…§ƒæ棃£ÐLvô£Ã°Lvô§ƒæ棃£ë)ÿƒ©ÿ#ƒ£ª£c…äLcô£ƒ£ƒ©Ã~£ƒ£ +ª¿½üH`£8é`ƒ€f£8éPƒ€\©cƒ€R£8郀H£8é0ƒ€>£8é ƒ€4£8郀*£8ã)…£8僣ƒ€£8ã +…¥e…§ƒ£€£Ð £ +…¥e…LŠó£¢†…¦¥zzzzkÔÔ +Ô Ô;8é +¥… ¥…¥…¥… +¥…¥ +…¥i…"ž^ü:ð©LŽõ©¿')ÿ:¢ "ƒdüƒ©ƒ©ƒ£ƒ £ƒ£ƒ£É 1©@')ÿð"£ð£ É€©LŽõ£ +…¥ e… ©‡ ©€j¥…¥ +…£ª¿~ü)ÿ…¥e…"ž^üƒ£ð;£ É€©€9£ ƒ£ ƒ£ƒ¦ †¦†£ +…¥e…£‡£ƒ£ƒ€'£Éÿÿð©¨;i +˜z„z„ z„ +z„k£ ƒ£ƒ£ƒ£ƒ £ƒ£ƒLìôÔÔ +¨;8阃¥…;i ¢ÚH£"'sühh;i¢ÚH£"lzüƒhh¦èÊÐLžöàðQàðLêö£ƒ£ cƒ£ƒ©ƒ ;i¢ÚH£"¿züƒ© H£"òiü;i¢ÚH£"¿zü;i +Lêö£ƒ£ cƒ£ ƒ©ƒ ;i¢ÚH£"¿züƒ© H£"òiü;i¢ÚH£"¿zü;i +€L£ cƒ£ cƒ£8ã ƒ©ƒ ;i¢ÚH£"¿züƒ© H£"òiü;i¢ÚH£"¿zü;i +;iz„ +z„kÔÔ +Ô Ô¨;8阃¥…¥… +¥ƒ¥ƒ¢¥…¥ +…£:ƒŠƒ¥… ¥…£ƒ¥ …¥…£8ãPI€0Lê÷;i¢ÚH;i¢†…£ …£…©"¤ýƒhh£É𣃥 …¥…€]£ )ÿ¢†…© EУƒ€Œ¥ ƒ ¥ƒ æ ¥ …¥…£ …£ … â ¥‡  £ª© +EЊƒ€Šƒ¥… ¥…L4÷â ©‡Â £Ð©ƒ©ƒ£ƒ£ƒ€¥ƒ¥ +ƒ£ƒ£ƒ£ª£¨;i˜z„z„ z„ +z„kÔÔ +¨;8阃¥…¥… +¥…¥ +…©¢"ü/ýƒ£Éð£É°£Ð£L!ù©ƒ£ƒ£É°L0ù£Ð ©ƒ£ƒ€ £:ƒ£ƒ£ƒ£ƒ£ + +…;i ¢e†…§ Ð ©ƒ£ƒ€/¥…¥ +…£ + +…;i ¢e†… ·ª§"ü/ýƒ£ƒ£ƒ£Ð£É£ƒ£ƒ£É‰£¨;i˜z„ +z„k¦ +¥iþÚH£ + + + +…húe†…"£·üÚH£ + +…;i ¢e†…hú‡Š —£ƒ£ƒL~øÔÔ +Ô ‹ ¨©þ[ôð𫫘¨;8é +˜† +…â ¯žð ⠃ ©â žð ⠯žð JJ +© —€© —â ¯Ÿð ⠃ ⠯šð ⠃ ⠯™ð ⠃ ⠯–ð ⠃ ⠯”ð ⠃  ⠯’ð ⠃ ⠯ð ⠃ ©# â žð £"‡wü¢d"ƒdü… £"‡wüe ‡£"‡wü —£"‡wü —©# "‡wü —£0 ©ƒ£ƒ€ ©ƒ£ƒ£  —£"‡wü —£"‡wü  +—;i ++«z„ z„ +z„kÔÔ +;8é +¥…¥… +¥ƒ¥ƒ¥ +Щ L ü;i¢†…;i¢†…©"‡Èýƒ£ðLõû£‡£  —£…£…¥…¥ +…"r5ýƒ£ðLÕû +·…⠥ 0G© 7)ÿð+ ·… ·…£ …£…"a¬ü —Š  +—£ƒ€ ©ƒ£ƒ£ƒ€£ƒ£Ð,£ …£… · —¥…¥ +…©¢"0Pýƒ£ƒ€£ƒ£ƒ€£ƒ£ÉÐ ©ƒ£ƒ€£ƒ£ƒ€£ƒ£𠩇© —£¨;i +˜z„ +z„kZ©ú…©…"]ü:Щú…©…"ÞˆüLjý"Ð`üªèÊÐLgýŠ)€:ðL_ýŠë)ÿ)ÿâ ƒ Š)â ƒ £‰<У)ÿª¿zH£" ýâ ƒ h£Ljý£‰ ð£)ÿª¿zH£" ýâ ƒ h£Ljý£‰ð@£‰ð£)ÿª¿úH£" ýâ ƒ h£Ljý£)ÿª¿zH£" ýâ ƒ h£€m£‰ð?£‰ð£)ÿª¿úH£" ýâ ƒ h£€C£)ÿª¿zH£" ýâ ƒ h£€'£)ÿª¿úH£" ýâ ƒ h£€ "Ð`üªLDü©zk"·iü"–þüФ¢k¨¥I€…˜€"·iü"–þüФлk"~güÚHÅŠå˜å°¥ƒ†h¦…Ú¥„¨¥ +E…ôÀÿÐ\§þü8˜åðÉ°~ªFf£jJ8 +ƒÊÐïFl©ãƒ£åƒ£åƒ‰€Ð$˜ð £Ðªzzzkˆðu£ +ƒ£*ƒ£*ƒëëê£J£iÿ£ƒÐ +£ƒëJÈ£ë +f„ëjªhhzkF€ë£eƒ£eƒ‰ð¿ÈJƒ£jƒ£j8j +ƒÀÿЧ©ƒƒð¹£г…€¯ÚHŠ +J¨húȈk¥ÉÿЗF“©ƒ©@ƒ€‡´B±þ(´BþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÔÔ +Ô Ô¨;8é ˜â ƒ  ¥… ¥…¥…¥… +â £  — ⠩  — ⠩  — ¥…¥ +…¥i…©"ädü£ )ÿ:¢ "ƒdüƒ©ƒ£ƒ£ª£ƒ£ƒ£Éÿÿð)ŠƒŠƒ¥ …¥…£ +…¥e…§ƒ£ƒ£ƒ€Šƒ£ƒ¥…¥ +…£ª¿~ü)ÿ…¥e…£"ädü£Ð ©ÿÿƒ£ƒ€£ƒ£ƒ £ª£ ƒ£ƒ£ É °L£Éÿÿð£ +…¥ e… § :ð +â £ ƒ €©@ â ƒ ⠣ƒ ⠣‡ ;i z„z„ z„ +z„kÔÔ +Ô ÔZZZZƒ¥…¥… +¥… ¥…©ƒ£ƒ£:…£8åPI€0Lœ¥…¥ +…"®ªüª†¥ŠLž©†8åPI€0L‘Š)ÿƒ¥ …¥…¥c…â ©‡Â £ƒ£Éðq£É +ðW£É ð=£ƒ£ƒ¥ …¥…¥c…â £‡Â ¥ …¥…¥c…â ©‡Â £ƒ€]¥ c… â ©‡  £€]¥ c… â ©‡  £€J©8ãPI€"£:ƒ¥ …¥…¥c…â ©‡Â £ƒ€£ƒ£ƒ£ƒ€£ƒ£ƒL~£zzzzz„z„ z„ +z„kÔÔ +ZZZZƒ¥ƒ¥ƒ¥…¥… +©…………â ƒ £ÐLÆ;i¢†…"hmü"¦Yü§â É- ð"¦Yü§â É+ ðâ £€"¦Yüâ §ƒ "¦Yü楃¥ƒâ £ ¥…¥ +…"¦Yü£" ?ý†…£â É- ÐN©…©€…¥Å¥å°©"E?©…©€€D¥ÅÐ¥ÅÐ +©…©€€.8¢Šå¨Šåª˜†…€©ÿÿÅ©ÿå°©"E?©ÿÿ…©ÿ…â £€â £ƒ ¥ +ð%â £ ð "Zü§â àР"Zü¥‡¥—¦¥zzzzz„ +z„kÉÿÐ +©@ƒ©ƒ ÿ£ë +Zë¨hhJ˜jªhzk˜ðÚ©ƒƒ€Û"·iü"~güÚHÔ¥Àÿð¹ÉÿðÃðÒ˜ð¹8˜åi¨£ëë0ˆ£ +ƒ£*ƒëëñ©€$Ð ðÈ&$ð÷ÔÔ8£ã…£ ã…°ˆ&¥c…¥c…©…d&8¥ãª¥ã…†&&æ&8¥ãƒ¥ãÐ¥jæÐæ©$ðÈFf˜1Àéÿ9ˆ©Ffj ÈÐó +,ðæÐ&æ¥ëJÈ€¥J°ê˜ðÑÀÿ  ÿ€ dd¥ë +ZëªhhhhJŠjª¥zzkÔÔ +Ô ÔZZƒ¥… ¥… · …L¬© 7 ÐL¬ · ÈÈ Ð©L¯ ·  × Р·  × ÐL¡ ·  × ðL§ ·  × ðL§"Û\üªÈÈ· …ˆˆ· ……¥… +Šƒ£…¥…¥ +… · "‘©üªàÿÿР⠩ —  ©ÿÿL¯¥…¥ +…†¥e…£†8媣𥅥… +Šƒd¥†Å  ·  —  ·  — èÊð5· …ˆˆ· …ÈÈ· … +ˆˆ· …楗 ¥ +ÈÈ— §æâ ‡ Š:ƒ£ª€Ç"Û\ü€©€©÷ÿzzz„z„ z„ +z„kÔÔ +Ô Ô;8饃¥ƒ ¥…¥… +¥…¥ +…¥i…"ž^ü:ð©Lé©?')ÿ:¢ "ƒdüƒ©ƒ©ƒ£ƒ £ƒ£ƒ£É 4©@')ÿð$£ð £ …£…£ +…¥e…§:ð©Lé©L饅¥ +…£ª¿~ü)ÿ…¥e…"ž^üƒ £ð]£ É€°Q£ ƒ£ ƒ£ ¢"Róü†… £ …£…£ +…¥e…§¢"Róü†…¥Å Ð¥ÅУ ƒ£ƒ£ƒ€,©€ +£ Éÿÿð©¨;i˜z„z„ z„ +z„k£ ƒ£ƒ£ƒ£ƒ £ƒ£ƒL";8é:©cƒ©üƒ ©ƒ©Yƒ ©üƒ ©ËŒƒ©üƒ©ŽYƒ©üƒ©Ú¦ƒ©üƒ©Wƒ©ýƒ©®ªƒ©üƒ!©Âœƒ#©üƒ%©&mƒ'©üƒ)©ö¸ƒ/©üƒ1©Yƒ3©üƒ5©þ]ƒ+©üƒ-©.¡ƒ7©üƒ9;i¢"–ü:ðLn ©õƒ©üƒ ©ƒ©Yƒ ©üƒ ©ËŒƒ©üƒ©ŽYƒ©üƒ©Ú¦ƒ©üƒ©Wƒ©ýƒ©®ªƒ©üƒ!©Âœƒ#©üƒ%©&mƒ'©üƒ)©ö¸ƒ/©üƒ1©Yƒ3©üƒ5©þ]ƒ+©üƒ-©.¡ƒ7©üƒ9;i¢"–üƒ£ð£€ôôô©"%áüƒhhh£¨;i:˜kÔÔ +¨;8阃¥…;i ¢ÚH£"'sühh;i¢ÚH£"lzüƒhh¦èÊÐLI +àðàðLÉ +© H£"òiühLÉ +£ƒ£ƒ£ƒ£ ƒ ;i¢ÚH£"¿züƒ© H£"òiü£ƒ £cƒ £ƒ ©ƒ;i ¢ÚH£"¿züƒ © H£"òiü;i¢ÚH£"¿zü;iLÉ +£ cƒ£ cƒ£8ã ƒ©ƒ ;i¢ÚH£"¿züƒ© H£"òiü£ƒ £cƒ £ƒ £8ã:ƒ;i ¢ÚH£"¿züƒ © H£"òiü;i¢ÚH£"¿zü;i;iz„ +z„kÔÔ +Ô ÔZZZZ¥ƒ¥ƒ©Æ=ƒ©ƒ£ÐL% £ª£8醅©ÿ 7—¥…¥…¥g…·…0f¥…¥… +¥g…  +·…ˆˆ·…  ·— ÈÈ·— ˆˆ·ÈÈð·…ˆˆ·…  ·— ÈÈ·— §g‡©€ 7—¦ +¥ƒŠ€¥ƒ¥ƒ¥…¥…8¥÷…·…0]  +" Zü ·—ÈÈ·—ˆˆ·ÈÈð" Zü ·—ÈÈ·—§g‡£…£…©€ 7H£ …£…h—¦¥ƒŠ€¥ƒ¥ƒ£…£…£…£…"›Éüzzzzz„z„ z„ +z„kÔÔ +Ô Ô¨;8é ˜† +…¥ƒ¥ƒ¥ƒ¥ƒ£…£… ·… ·… ·…§… £¢"ÀÓüƒ © 7)ÿð©ØÿL„ © 7)ÿÐ$¦ +¥  †Èˆð +&ˆÐú¦ƒŠƒ£ƒ£ƒ€¥ƒ¥ +ƒ©8ã PI€0 ©ƒ £ ƒ € ©ƒ £ ƒ â £ ƒ  £…£…¥ …¥…£ "‹%ý)ÿÐ_£… +£…£ ƒ¥…¥ +…¥ …¥…©"m¼ü:ð¥i…£:ƒ£ƒ£ÐУ â ɠЩ…©…¥ …¥…© "‹%ý¥ …¥…"£lü£¨;i ˜z„z„ z„ +z„kÔÔ +¨;8é ˜¨¥…¥… +©˜:¢…ä°Lä +ª¿ûüH`;i¢ÚH©´¢ü"µKýªhh†¥0*©´…©ü…"!lü"#ØüôôM?ô©´¢ü"e´ühhh€Z;i¢ÚH©£¢ü"µKýªhh†¥0=©™…©ü…"!lü"#ØüôôM?ô©£¢ü"e´üªhhhèÊðÚ©Ý…©ü…"!lühLò˜"àküÚH©Å…©ü…"!lüƒhh¥ +ðJ§â Éø Ð> ·â É Ð1 ·)ÿÐ'"#ØüôôM?d©…©… ·ª ·"¸‘ühh€©…©ü…"!lü€©ß…©ü…"!lü;i z„ +z„kÔÔ +ZZ¥…¥… +¥…¥ +…" Îüƒ£ðL\§â É ðL6 ·â É ðL6¢†¥…¥ +…¥i8…©"—oü¥…¥ +…¥i6…©Uª"ädü¥…¥ +…¥i8…©RR¢aA"~²ü¥…¥ +…¥i…©rr¢Aa"~²ü¥…¥ +…¥i … ·ª ·"~²ü¥…¥ +…¥i$… ·ª ·"~²ü &·ª $·Ðè 4—Š 6—ô 6·… 4·…¥…¥ +…¥i8… ·"Üeüƒhâ © — ©H©…©… ·"ŒbüªhèÊð©€£€£zzz„ +z„kÔÔ +Ô Ô¨;8é ˜ƒ©Æ=ƒ©ƒ£ÐLº©c)ðÿƒ É€© €£ "Feüƒ£ + +ƒª£ +ƒŠcª£…£…¥i +…†¥e… ·… +ˆˆ·…¥ +ð§à °ÈÈ·…ˆˆ·……¥… +€à¥ +ÐLº  +·…ˆˆ·… ·—ÈÈ·—ˆˆ·ÈÈð·…ˆˆ·… ·—ÈÈ·—§8ã ªà Y¥…¥ +…¥g…ƒ¥ƒ ¥…¥ +…¥c …Š‡£  —‡†£ …£… ©€7 H£ …£ …h—£…£…"›Éü©€ —¦ +¥i€©ª¨;i ˜z„z„ z„ +z„kÔÔ +‹ ¨©þ[ôð𫫘ZZZ† +…©ƒ£ƒ£8é +PI€0©õÿL "ƒdüªâ ¿– ðL3£¢ "ƒdüªâ ©Ÿ– ©ƒ£ƒ©8ãPI€0Lú©ƒ£ƒ£8éPI€`¥…¥ +…¥c…â §ƒ ⠣ ðA£)ÿ"³]üH¢–†¢†£¢ "ƒdü…¥e…æ¥c…h⠇ £ƒ£ƒ€“©–…©…£¢ "ƒdü…¥e…£ —£ —©zzz+«z„ +z„k©–…©…£¢ "ƒdü…¥e…æ¥c…â ©‡Â £ƒ£ƒL;£ƒ£ƒLôÔÔ +Ô ÔZZZZ†… ¥ƒ¥ƒ¥ƒ¥ƒ©£…£… ·… +§…¥ É¥é°L—¥  ×¥ ÷L—£ð&©ÿÿ…©ÿÿ…¥…¥ +…£ª£"¥~ýƒ£ð£Lš¥ ƒ¥ƒ£…£…£ª£"dý†… ¥ ÐL’©E ЩLš¥ %ЩLš©…©…¥…¥ +…£ª£"¥~ýƒ£ð£€p ·ª ·8é°ʆ… ·Å ·å°' ·ª ·Ðè —Š — â ©— ¥ ƒ¥ƒ¥  ×¥ ÷°LË©€©zzzzz„z„ z„ +z„kÔÔ +Ô Ô‹ ¨©þ[ôð𫫘ZZZ† +…©…©…©ÿÿƒ¥…¥ +…"Ûü©ƒ£ƒ£ƒ£8éPI€%£ªâ ¿V% ðL£ªâ ©ŸV% £ƒ£ƒ£©a …©ü…©"³žü©õÿLÿ©"Ùü†… ¥ ÐLÞ§ H©ñ…©ü…©"³žüh© — ¥…¥ +…£¢&"ƒdü…©&¢e†…£"ï¼ýƒ£Ðâ £ —  § €W£H©i …©ü…©"³žüh£ªâ ©ŸV% ¥ …¥…"gü£"¶[ü€!©.…©ü…©"³žü£ªâ ©ŸV% ©õÿzzz+«z„z„ z„ +z„k£ƒ£ƒLëÔÔ +¨;8阃¥…¥… +©…©ü…"!lü©ƒ©ƒ£ƒ£ƒ +£ +8ãPI€0';i ¢ÚH©á…©ü…"!lühh;iz„ +z„k©8ã +PI€=£ +¢"ÀÓü:Ð0©ƒâ ©ƒ ;i ¢ÚH©á…©ü…"!lüƒhh£ƒL€©8ã +PI€0Lx¥…¥ +…¥c +…â §ƒ £)ÿH©F…©ü…"!lüƒh£)ÿ"ô[ü:Ð3£)ÿ"\ü:Ð&£ƒ£ƒ;i ¢c†…â ©.‡Â £ƒ€$£ƒ£ƒ;i ¢c†…â £‡Â £ƒ£ƒ€£ƒ£ƒ£ +ƒ£ƒ£ƒ +LSÔÔ +ZZZƒ¥…¥… +â £ƒ §)ÿÐ +zzzz„ +z„k©§…©ü…§)ÿ"É¥üâ ©¿ƒ ⠣ƒ Lðâ ©³ƒ ⠣ƒ Lðâ ©Úƒ ⠣ƒ Lðâ ©Ùƒ ⠣ƒ Lðâ ©Àƒ ⠣ƒ Lðâ ©Áƒ ⠣ƒ Lð⠩à⠣ƒ Lðâ ©´ƒ ⠣ƒ Lð⠩ă ⠣ƒ €yâ ©Ûƒ ⠣ƒ €g⠩Ń ⠣ƒ €U⠩ƒ ⠣ƒ €C©H£"àÿƒh ·â É[ Ð©[H£"àÿƒhæâ £ƒ €â §ƒ ⠣ƒ £H£"àÿƒhæâ £ƒ L©ÔÔ +Ô Ô¨;8阪¥… ¥…©…©…©…©…©‡ © — Š:¢…ä°Lk +ª¿üH`Lk;i ¢ÚH©£¢ü"µKýªhh†¥ ;i ¢ÚH©´¢ü"µKýªhh†¥Lk©Ln¯{üH¯yüú† +…¥…¥ +…"Hgü:𥇠¥ + — ©LnLk¯wüH¯uüú† +…¥…¥ +…"Hgü:𥇠¥ + — ©€o€j"h]üƒŠƒ©ƒ©ƒ£ƒ£ƒ£Ã£ã°E£H£ú† +…¥…¥ +…"Hgü:𥇠¥ + — ©€£oqüƒ£osüƒ£ƒ£ƒ€±©¨;i˜z„z„ z„ +z„kÔÔ +Ô ÔZZZƒ¥… ¥…¥…¥… +â ©ƒ ⠩ƒ ;i¢ÚH;i +¢ÚH · "†ühhhh©ƒ£ƒ£8ãPI€0!£H£H · "¸|ühhzzzz„z„ z„ +z„k¥…¥ +…£ +…¥e…§ªŠ8éPI€0©%†8åPI€0Š8éâ ƒ LóŠ8éZPI€0©a†8åPI€0Š8éRâ ƒ LóŠ8é(PI€0©/†8åPI€0 Š8é(â ƒ €[Š8édPI€0©k†8åPI€0 Š8é\â ƒ €3èÊðàðàðàÐ +â ©ƒ €â ©#ƒ ⠩#ƒ £ƒ£ƒLÚÔÔ +Ô ZZâ ƒ ©â à°Lo¯ÏüH¯Íüú†…©ƒ£ƒ£)ÿª£)ÿ"ƒdü…£8åPI€L5¥…¥…©â …©…£)ÿ¢ "ƒdü…¥e…¥ —¥â  — ©â …©…£)ÿ¢ "ƒdü…¥e…â £ — ©â …©…£)ÿ¢ "ƒdü…¥e…â £ — ⠣ Ð'£)ÿ¢ "ƒdü…©â ¢e†…â ©ï'‡Â €%£)ÿ¢ "ƒdü…©â ¢e†…â ©‡Â €:¥…¥… +£ +… ¥e …§H¦†¦† +£ +… ¥e …h‡£ƒ£ƒL2zzz„ z„ +z„kZZâ ƒ ¯xƒ© +ðL£ +ª¿: üH`£â Éw Р¢†©a"h™ü©xL +£â Éð Р© +x€©xL +£â É Р© x€©xL +£â Éð Р©x€©xL +£â Éá Р©x€©xL +£â Éw Р©x€©xL +£â É Р©x€©xL +d£"1Ÿü©xL +d£"Šü©x€|£â Éð Р©x€¢†£"Šü©x€Uâ £ƒ £â Éà ð3£â Éá ð £â Éð ð ¢†£"1Ÿü€©x€©x€©x€©xzzkÔÔ +Ô ÔZZZâ ƒ £â ɀ °Lr ©˜â à°Lr £)ÿ8é€ + +ª¿C…¿}C… ©ƒ§ )ÿ"\ü:𠩃£ƒ€£ƒ©ú…©…©["ÑŠü£ð6£)ÿ8é€ + +ª¿C… +¿}C…§)ÿð©ú…©…§)ÿ"ÑŠüæ€â£‰xð©£ð©ú…©…©;"ÑŠü£â JJJ )ÿ)ƒ£""küâ ƒ £‰ðð(©ú…©…©ð#)ÿJJJJI)8éi0"ÑŠü©ú…©…©#)ÿi0"ÑŠü£Ð©ú…©…§ )ÿ"ÑŠü€©ú…©…©~"ÑŠü©€!£â ɠЩú…©…©"ÑŠü£€£zzzz„z„ z„ +z„kÔÔ +Ô Ô‹ ¨©þ[ôð𫫘¨;8阆 +…;i-¢†… ·…§… ©ÿÿ©ƒ©¥…¥ +…"Ûü©ƒ£ª£ƒŠ8éPI€â ¿þ& ðL0"â ©Ÿþ& Šƒ£ƒ£©õÿL";i)¢†… ·H§H¥ +H¥H;i ¢†…£ ¢4"ƒdü…©^%¢e†…"R”üªhhhhèÊðŠ"¶[üL"£‡ £ — £  — £  — â £  —  ©ƒ£ƒ£8éPI€L;i¢c†…¥ …¥…¥i …¥c…â §‡ ¥ …¥…¥i …¥c…§)ÿУ¨;i˜+«z„z„ z„ +z„k£ƒ£ƒ€ƒŠƒ£ªLú ÔÔ +Ô Ô©¢©"£[ü† +…¥ +ÐLÓ#©…©…â ©) — ⠩)  — ⠩)  — ⠩ — ⠩  — ⠩ — ⠩ — ©`‡â © — ";Yüi膅 ";Yü†…¥Å ¥åPI€0é©1 —â ©  — ";Yüi膅 ";Yü†…¥Å ¥åPI€0驇! —â © — ";Yüi膅 ";Yü†…¥Å ¥åPI€0éâ © — ";Yüi膅 ";Yü†…¥Å ¥åPI€0éâ ©  — ";Yüi膅 ";Yü†…¥Å ¥åPI€0éâ © — ⠩ — z„z„ z„ +z„kÔÔ +Ô Ô¨;8阃Šƒ ¥ƒ¥ƒ¥ƒ ¥ƒ £…£… ·… ·… ·…§… £¢"ÀÓüƒ© 7)ÿð©ØÿLv%© 7)ÿÐ%£ ª£  †Ȉð +&ˆÐú¦ƒŠƒ£ƒ£ƒ€£ƒ£ ƒ£ÉÐ?£…£…¥ …¥…©"‹%ý)ÿÐ £ …£ …¥ …¥…©þ"ÆÃü:ð©ƒLh%©  7)ÿ𣢨ʆ…¥ …¥…©—"‹%ý£…£…¥ …¥…©"‹%ý)ÿÐ^£ … +£ …£ƒ¥…¥ +…¥ …¥…©ü"ÆÃü:ð¥i…£:ƒ£ƒ£ÐЩ…©…¥ …¥…©ý"ÆÃü:Щƒ¥ …¥…"£lü£¨;i˜z„z„ z„ +z„kÔÔ +Ô Ô¨;8é +˜â ƒ ¥… ¥…¥…¥… +£Câ ©#ƒ ©…©…¥ …¥…©7"‹%ýâ ƒ ©â à°£L)'â £ƒ €â £ƒ £â É Â ð"¥ …¥…"£lü¥ …¥…"ÎŽü:ЩÿL)'©@â ƒ ⠥ ƒ ⠥ +ƒ ⠥ ƒ ⠥ƒ ⠩ƒ ⠣ Ðâ ©•ƒ ⠣ƒ €â £ƒ £â É Ðâ ©‡ƒ ⠣ƒ €â £ƒ ⠣ƒ ;¢†…¥ …¥…©"›‹ü£â É Â Ð;i ¢†…¥ …¥…©""…üâ © +ƒ ⠣ƒ ;i ¢†…¥ …¥…©""…ü££:â ƒ )ÿÐÓ£ ¨;i +˜z„z„ z„ +z„kÔZâ ƒ ©â …©…£)ÿ¢ "ƒdü…¥e…©…©ð…£)ÿ¢ "ƒdü…¥e… · —â  · — ©â …©…£)ÿ¢ "ƒdü…¥e…©…©ð…£)ÿ¢ "ƒdü…¥e…â  · — ©â …©…£)ÿ¢ "ƒdü…¥e…©…©ð…£)ÿ¢ "ƒdü…¥e…â  · — ©â …©…£)ÿ¢ "ƒdü…¥e… ·H¢†¢ð†£)ÿ¢ "ƒdü…¥e…h —©â …©…£)ÿ¢ "ƒdü…¥e…  +·H¢†¢ð†£)ÿ¢ "ƒdü…¥e…h  +—£)ÿ¢ "ƒdüª¿â H£)ÿ¢ "ƒdüªhâ Ÿð zz„kÔÔ +Ô Ô;8饅¥… +;i¢†…¥…¥ +…"º»üªèÊðL—*©@ 7)ÿÐLŽ* ·…⠥ Kô ·… ·…¥…¥ +…¥i&…£ …£ …  · "ÜeüªhèÊð©Lœ* â ©7— "óÎüƒŠƒ£ …£…  ·ª ·" ³üƒ£ðL„* $·… "·…¥ƒ ¥ƒ £ …£ …  â © — £ …£ … ·…§…  +·ª ·"–‚ü£ ª£ i†… ·ª  ·"~²ü£ ª£ i†…£ª£"~²ü£ ª£ i†…©"ädü£ …£…â © — £ …£…"ÿýª â ©¿7— Šƒ€£ƒ£ƒ€Šƒ£ƒ€Šƒ£¨;i˜z„z„ z„ +z„kÔÔ +Ô Ô;8饅¥… +©ƒƒ¢¨ˆ¥ +ÐLA,˜ƒ›7𥅥 +…"ìgüª¯E?ƒƒ Š€Šƒ £ƒ ¯â>ÅЯä>Å +ð ¯æ>ÅЯè>Å +ð¯ê>ÅЯì>Å +Ð £ ƒ£ ƒLI,©â>…©… ·…ˆˆ·…£¥ðe¥ÅðL,¥ +ÅðL,  ·ÅÐÈÈ·ÅЧˆˆ— · —€£…£… §‡  ·—  ·ÅÐÈÈ·ÅÐ £ˆˆ—£ÈÈ— ·"1^üƒ£ Ð £ª¯E?ƒŠ€£ ƒ£ ƒ ·ÈÈð˜ 7)ÿР·…ˆˆ·…"Ö +ý¥…¥ +…"Ö +ý£€(¥ƒ¥ƒ ·…§… ƒ¥ƒ …£…LZ+Šƒ˜ƒ££ð £E?©ÿÿ€©¨;i˜z„z„ z„ +z„kÔÔ +Ô Ô¨;8阃 ¥…¥… +¥ƒ¥ƒ¥ƒ¥ƒ©ÿÿƒ¥ +Ð © E?£L .© 7Щ E?£ƒL +. ·ÈÈÐ&£ … ·"‘©üƒ£É° E?©ÿÿƒƒ£L +.¥…¥ +…"L¸ü…¥£L.£ ƒ£ƒ £ƒ ©ÃLÿ-  ·…ˆˆ·…8¥ ÷ƒ£Ã°ƒ€£ƒ £8ã ƒÈÈ·…ˆˆ·…£ …£ … £ ƒ©Ã?¥—¥ÈÈ—¥  +×¥ÈÈ÷¥…¥ +…©"cýƒ £ £€b£ƒ¥ ƒ ¥L-¥ƒ ¥ƒ 楃 ¥ƒâ § ƒÂ æ ¥ ƒ¥ƒ£ …£ …â £‡Â £:ƒ £…£… £…£ …£ Li-8£ ッ££É°  â ©— £¨;i˜z„z„ z„ +z„k"=cü©",Yüô ôô©Ç…©ü…©"³žühhh©„B…©…"ˆý©¢="÷Yü©_…©ü…©"³žü"ñ\üâ ©€ð ⠩ð ⠩€ð "0×ü©"f{ü©Ë …©ü…©"³žü"7bü©g …©ü…©"³žü" Çü©~ …©ü…©"³žü"!yü©i…©ü…©"³žü"ö`ü"”hü©Ï…©ü…©"³žü"ÃÀü©‘…©ü…©"³žü"¬ƒü©H…©ü…©"³žü"ýªèÊð†©®…©ü…©"€ü€©â…©ü…©"³žü"“ü©…©ü…©"³žü" ]ü©õ…©ü…©"³žü"ªü:ðH©‚…©ü…©"³žüh€©¶ +…©ü…©"³žü"…Rý:ð…©¥…©ü…©"€ü€©² …©ü…©"³žükÔÔ +ZZZ†…¥…¥… +â © — ©ÿÿ 4—©ÿÿ 6—¥…¥ +…¦¥" ³ü:ð©L¼1¥…¥ +…¥i6…"ž^üƒ 8·â Éë ðâ Éé ð â Éè ðL­1£ÉUªÐ+©é…©ü…¥…¥ +…¥iŠ…©"+xü:ЩL¼1¥…¥ +…¥iC…"ž^üƒâ  E·ƒ £:#:ðL­1£É°L­1©Ã°L­1â £ ÐL­1£)ÿ…£)ÿ:%:ðL­1¥…¥ +…¥iF…"ž^ü:ÐL­1¢ H·)ÿ:…är¥…¥ +…¥iI…"ž^ü:ðZ¥…¥ +…¥iK…"ž^üÉ€°$¥…¥ +…¥iX…"£·ü†…¥É¥é¥iN…¥…¥ +…"ž^ü:ð©€£ÉUªð©€©zzzz„ +z„k;8é +©©©©© © â ©/ ©þ©©!©)©åC+©-©#©áC%©'©ƒ£ƒ£É°Lø2©"uü¢à†©€"”Äü©H©"‘_üh¢†©lF…©ü…©"¤‰ü©±Hd©"kcühd©"ª•ü©H©H©ð"×^ühhâ ©/ "©Ñü©ƒ©ƒ©ƒ©ƒ ;i¢†…"ü© "î§üd©"³ü;i +k©r…©ü…£ + +…¥e… ·H¢†¢ð†£ + +…¥e…h —£ + +ª¿rü¨£ + +ª˜Ÿð©r…©ü…£ + +…¥e… ·H¢@†¢ð†£ + +…¥e…h —£ + +ª¿rü¨£ + +ª˜Ÿ@ð£ƒLH2ÔÔ +Ô Ô¨;8阪¥…¥… +¥ƒ¥ƒŠƒ ©ÿ# :ð';i¢†…"C¥ü†Ð©L]5£ :ƒ£ƒ €Ð§)ÿÐ +£ ð©L]5¥ƒ¥ +ƒ£ƒ £ƒ £…£…§â É? ð_£…£…§â É* ðM;i¢†…"C¥ü†… ;i ¢†…"C¥ü†…¥Å Ð¥ÅÐ¥ ЩL]5€š¥… ¥…L=5£Ð©L]5©ƒ£ƒ£…£…â §ƒ £…£…楃¥ƒ£â É? Р£ƒ£ƒ€ ©ƒ£ƒ£ƒ£…£…§â É? ð¨£ƒ£…£…§â É* ð’£:H£ …£ …£…£…£"œ3ýƒh£ð©€4£ …£ …§)ÿ¢†… ;i¢†…"C¥ü£ ð ¥ ðL4©¨;i˜z„z„ z„ +z„kÔÔ +Ô ÔZZZ¥… ¥…¥ƒ¥ƒ · … +§ …£…£…§â É/ ð:£…£…§â É\ ð(£…£…§â É Â  · —  ·  +— €:£…£…§â É/ ÐL57£…£…§â É\ ÐL57© — ©  +— £…£…§â É Â °&â ©€ +—  ¥ …¥…©¢"0Pýƒ£ƒLì6;i¢†…¥ …¥…"CÖýƒ£ð£ƒ€n¥ …¥…"-…ýª +· èÊð8àÐ*‰ ð‰ÐL27â ©€ +—  ©€ ‰Ð¢Šƒ€Šƒ£ƒ€ ‰ðŠƒ€© 7 )ÿЩƒ£ƒ£ƒ£zzzz„z„ z„ +z„k¦ +¥i8ÚH©ÿ 7 …húe†…¥…¥ +…"a¬ü — Š  +— LV6£…£…楃¥ƒLä5ÔÔ +‹ ¨©þ[ôð𫫘¨;8é +˜† +…§¢d"²Óüƒ §H£ ¢d"ƒdü…h8僣 ""küâ ƒ £""küâ ƒ  ·""küâ ƒ  ·""küâ ƒ  ·""küâ ƒ  ·""küâ ƒ   +·""küâ ƒ  ·:Ð0  ·:ð©€â ƒ ⠣ƒ €â £ƒ ⠣ƒ €â £ƒ  ·""küâ ƒ   +·""küâ ƒ ⠯žð ⠃  © â žð ⠣Ÿð ⠣šð ⠣™ð ⠣–ð ⠣”ð ⠣’ð ⠣ð ⠯Ÿð ⠯šð ⠯™ð ⠯–ð ⠯”ð ⠯’ð ⠯ð  ·:ð© â ƒ ⠣ƒ €â £ ƒ ©# â žð ;i ++«z„ +z„k‹ ¨©þ[ôð𫫘ZZƒ©…©…©…©…£"hYüƒ£"oYüƒ£:ÐLm:ÉÐLô9Éð ©¢Lý:©ç…©ü…£"É¥ü© …©…€R©…©…€F©…©…€:©…©…€.©…©…€"©!…©…€©%¢†…€ +©)…©…LÛ:©¢Lý:© …©ü…£"É¥ü©-…©…€R©1…©…€F©5…©…€:©9…©…€.©=…©…€"©A…©…€©E…©…€ +©I…©…€w©¢Lý:©/…©ü…£"É¥ü©M…©…€R©Q…©…€F©U…©…€:©Y…©…€.©]…©…€"©a…©…€©e…©…€ +©i…©… ·…§…£ ‡£  —¦¥€©¢zz+«kÔÔ +;8ér¥ƒ¥ƒ©…©… +;i¢†…;i¢†…©"‡Èýƒ£ðLñ<£ƒ?£ ƒA£…£…;i?¢†…"r5ýªèÊÐ +£j‰ ð¢èÊðLè<£i ©ƒ£ƒ€ £EJ©€Šƒ£ðLn<£]…£[…£ …£…"a¬ü† +…£E‰ÐLd<£ …£… ·ÅР·Å +Ð ©ƒ£ƒ€x£ƒ £ ƒ ¥ƒ¥ +ƒ;i ¢†…©¢"0Pýƒ£ÐD;i ¢†…©"Ífýƒ£Ð ©ƒ£ƒ€£ƒ£ÉÐ ©ƒ£ƒ€£ƒ£ƒ€£ƒ£ƒ£ƒ€£ƒ£ƒ€£ƒ£Ðh;i?¢†…" Úüƒ£Ð,¥ +ð&©…©…;i?¢†…¦ +¥"?ýƒ£ƒ€£ƒ£Ð£ …£…"ÿýƒ£ƒ€£ƒ£ƒ€£ƒ£ƒ€Šƒ£ƒ€£ƒ£¨;ir˜z„ +z„kÔÔ +Ô Ô¨;8阥… ¥…¥…©ƒ£ƒ£8éPI€Lé>©ƒ£ƒ£ƒ£¦†8åPI€0-;i¢ÚH©á…©ü…"!lühh;iz„z„ z„ +z„k¥ …¥…¥c…â §ƒ £¢"ÀÓü:ðLL>;i¢ÚH©á…©ü…"!lüƒhh©ƒ£ƒ£8éPI€0L©ƒ£$ÉУH©^…©ü…"!lüƒh€$£$ÉÐ¥ª¥ ÐèÚH©…©ü…"!lüƒhh£ƒ€&;i¢c†…â ©‡Â £ƒ£ƒ€…£ƒ£)ÿ"3\ü:ð&£ƒ£ƒ;i¢c†…â £‡Â £ƒ€$£ƒ£ƒ;i¢c†…â ©.‡Â £ƒ£¢"ÀÓü:Щ…©ü…"!lü£)ÿH©ë…©ü…"!lüƒh£ƒ£ƒ£ƒLH=;i¢c†…â ©‡Â £ƒ£ƒL+=ÔÔ +Ô Ô¨;8阃"¸Yü¥ƒ¥ƒ ©…… +â ƒ £ÐL¹@;"DZü"hmü"¯Yü§â É- ð"¯Yü§â É+ ðâ £€"¯Yüâ §ƒ "¯Yüæ"¸Yüâ £ƒ  ;"DZü£"åÇüƒ£©E?©……¥ƒ¥ƒL«@"&[üʆ…"óÓüƒ Šƒ"&[üʆ…"óÓü¥ƒ¥ƒ¥ +ƒ£…;i¢†…£…£… § )ÿ" Þü:ðy£ Å£å +]£ ÅУŠ+Ð £8ãPI€0E¥…¥ +".[üʆ…"``ü†…£¢¨ÊeHŠeªhƒŠƒ"¯Yüæ"¸Yü£… +£…LÚ?©"E?©ÿÿ¢ÿÿƒŠƒ£ â É- Ð£Iÿÿª£IÿÿÐ膅¥ƒ¥ƒ€£££… +£…â £ €â £ƒ £ ð5â £ ð"¯YüƧâ àР+"¯YüÆ"¸Yü£ …£…£‡£ —¦ +¥¨;i˜z„z„ z„ +z„kÔÔ +Ô Ô¨;8阪¥… ¥… ·… ·…¥…¥… ·… +§…© 7)ÿð©ØÿL C©ÿÿèÊÐLéBàðàð©ÚÿLüB©€‡ © — ©LüB©…©…¥…¥ +…© "‹%ý)ÿðLçB;¢†…¥…¥ +…©"m¼ü:ÐLçB£â ***) â É Ðv£ )ÿ…£ +)ÿ¢ †Ȉð +&ˆÐú¦e膅©?# )ÿ¢¨ʪ©eHŠeªh†…¦¥Ð膅¦¥  +†Èˆð +&ˆÐú¦‡ Š — LäB©#…©€# â **) e…©# â + eâ ƒ £ +â ***) )ÿ…£ )ÿ + +e…©#)ÿ + +ë)ÿe¢†…¦¥ÚH£)ÿ8é ¨hú†Èˆð +&ˆÐú¦‡ Š — ©€¥…¥ +…"ÎŽü:ð©¥…¥ +…"£lü©¨;i˜z„z„ z„ +z„kÔÔ +Ô ÔZZZZ¥…¥… +;i¢†…¥…¥ +…"º»üƒ£ƒ£ðL&E ·)ÿƒ£ƒ£ðL&E© 7)ÿЩL(E ·  × · ÷L"E · Ð:©…©…¥…¥ +…  +·ª ·"?ýƒ© —©  +—£ƒLxD¥…¥ +… ·ª ·"dý†… ©ƒ¥ %Ð ©ƒ£ƒ€£ƒ©E Ð ©ƒ£ƒ€£ƒ£Ð>£…£…¥  ×¥ ÷°& ·… ·…¥…¥ +…¦¥ "?ýƒ£ƒ€£ƒ£ƒ ·  — · — â ©@— £Ðj ·…⠥ [ô ·… ·…¥…¥ +…¥i&…£ …£…  · "Üeüƒh£ð ©ƒ£ƒ€ â ©7— £ƒ£ƒ€£ƒ£ðâ £ — £€ +£€£€£zzzzz„z„ z„ +z„kÔÔ +Ô Ô;8éF¥ƒ¥ƒ¥…¥… +£T…£R… ;i¢†…;¢†…©"‡Èýƒ£ðLšF¥ +ÐLšF£ƒ£ƒ©ƒ©ƒ;i¢†…©¢"0Pýƒ£ðLrF;i¢†…©"Ífýƒ £ ðLlF©ƒ£ƒ£¨£ªÀ °C˜ƒ˜ƒ£1…£/…¥c…§)ÿƒŠƒ Šƒ ¥…¥ +…¥c …â £‡Â £¨£ ª€¸¥…¥ +…†¥e…â ©‡Â èÊðŠ:ª¤„¤ +„…¥e…§â É Â ðÅ£ ƒ€£ƒ£ÉÐâ ©‡ ©ƒ£ƒ€£ƒ£ƒ€£ƒ£ðL8G¥ ÐL8G£…£…£…£… &·ª $·" ³üƒ£Ð_£…£…â §ƒ £â É ð £â É ð ©'ƒ£ƒ€©dƒ£ƒ€ ©Cƒ£ƒ£ª£i8c†…"£·ü‡ Š — £ƒ€£ƒ£¨;iF˜z„z„ z„ +z„kÔÔ +Ô Ô;8饅 ¥…¥…¥… +©©ƒ£ƒ£8é +PI€L\I ·â É ðL=I ·â É[ ðL=I©ƒ©ƒ£ƒ£ƒ ·)ÿ:…£8åPI€LŸH£ƒ¥…¥ +…ææ ·)ÿ:…¥e…â §ƒ ©ƒ£ƒ£¢"ƒdüªâ ¿6ü Ð¥ …¥…"ö¸üLII£¢"ƒdüª£â ß6ü ÐM©6…©ü…£¢"ƒdü…¥e… ·… + ·…¥ +ð;i¢†…¥ …¥…£"tZüLII£ƒ£ƒL H¥…¥ +…ææ¥c…â §ƒ £)ÿ"\ü:ðI£ +…;i¢e†…§¢ +"ƒdü…£)ÿ8é0eH£ +…;i ¢e†…h‡£ƒ€£â É; Р£ƒ£ƒ€£ƒ£ƒ£ƒ£ƒ£ƒL¿G¥ …¥…"ö¸ü;iz„z„ z„ +z„k£ +…;i¢e†…©‡£ƒ£ƒL}GÔÔ +Ô ¨;8阃¥…¥… +¥…¥ +…© "usü©ÃL7J£¢†…£…£…§:ðd§æ惩ƒ£¨£ƒÀ°á&©#¢eHŠeªh†…£Jƒ¥)ª¥)†  ð¥Iª¥I!†…˜ƒ£¨£ƒ€°¥ƒ£ƒ€£ƒ©ƒ£ƒ£ƒ ©#i0â ƒ £JJJJƒ©9â à°©câ ƒ ⠣ƒ €â £ƒ £ ƒ£ :ƒ;i¢c†…â £‡Â £ð £ƒ£ƒ £Ð;i¢c†…â ©~‡Â ©ƒ£ƒ£Ã°S¥…¥ +…¥c…§â É Â ð:¥…¥ +…¥c…§"žZü:ð£:Ã𣃣ƒ€£ƒ£ƒ£ƒ€§£ƒ £ƒ£ƒ£ƒ£ É© ƒ£ ƒ £ƒ€'£ ƒ£ ƒ ;i¢c†…§)ÿƒ£ ƒ £ƒ¥…¥ +…¥c…â £‡Â £ ƒ £ƒ£É”;iz„ z„ +z„kÔÔ +Ô Ô‹ ¨©þ[ôð𫫘¨;8é,˜† +…;i;¢†… ·…§… ©¥…¥ +…"Ûü©ƒ£ƒ£8éPI€LÖL;i¢†…¥…¥ +…"ú¯üƒ£ðLÍL£‡ £ — £ — £ — â £ —  ©ƒ£ƒ£8éPI€L;i-¢c†…¥ …¥…¥i …¥c…â §‡ ¥ …¥…¥i …¥c…§)ÿЩLÛM£ƒ£ƒ€–£"¶[üLÛM©…©ü…;i ¢†…"iü£ + +ª¿Ok…¿Mk…;i ¢†…"[šü;i ¢†…;i¢†…"iü©…©ü…;i¢†…"[šü;i ¢†…¥…¥ +…"Puü:ð(;i¢†…¥…¥ +…"Puü:𠣃£ƒLL©‡ © — © — © — â © —  £ + +ª¿Ok…¿Mk…¥ …¥…¥i …"iü©¨;i,˜+«z„z„ z„ +z„kÔÔ +¨;8阃Šƒ¥ƒ¥ƒ¥ƒ ¥ƒ ©ÿÿ©ƒ©ƒ£ …£ …©U …©ü…©"ò‚ü£ …£ …§)ÿÐ £ð©>ƒ©üƒ£ƒ£ƒ€©óÿLMO£ƒ£ƒ©ƒ £ ƒ £… +£…£ 8é +PI€L\O¥ +ÐA£ð%©Q …©ü…©"³žü©>ƒ©üƒ£… +£…€©Ï…©ü…©"³žü©óÿ€u©>ÅЩüÅ +ðô£ª£"«ýªhŠƒ£0;£…£…£…£…£"tZüƒ£"á“ü£ð£…©ø +…©ü…©"€ü£€£…© …©ü…©"€ü£¨;i˜z„ +z„k£ ¢ "ƒdüªâ ¿– ÐLP£ …£ …£ ¢ "ƒdü…©–¢e†…"Íhü:Ðf©–…©…£ ¢ "ƒdü…¥e… ·… ·…¥ƒ¥ƒ£ ¢ "ƒdü…©–¢e†…©…©ü…©"ò‚ü£ƒ£ƒ€¥ƒ¥ +ƒ£ƒ£ƒ€¥ƒ¥ +ƒ£ ƒ £ ƒ £… +£…LNÔÔ +Ô Ô¨;8é ˜ƒ Šƒ ¥… ¥… · … +§ …£ É£ é LmR£ )ª£ )†ðLmR£  — £  —   +· … · …¥Ð"§â É  .·… ,·…¥ƒ¥ƒ€¥ƒ¥ƒ£ÐZ£ ª£  †ÈˆðFjˆÐú¦†… ·…d¥Å¥å©LpR ,· —  .· — £ …£ …£…£…LòQ  +·¢  †Èˆð +&ˆÐú¦ƒŠƒ£ ƒ £ ƒ £ƒ£ƒ£ ã ãg¥ …¥…£ª£"dý†…¥%ЩLpR¥É¥é3¥ ×¥ ÷°#8£ ãH£ ã ªhƒŠƒ£ƒ £ƒ ¥ƒ¥ƒ€•©LpR¥…¥ +…£ª£" ü — Š — £ …£ …£…£…¥ — ¥ —  ·   Щ€_¦¥  †ȈðFjˆÐú¦†… · eH · eªh — Š — ¦ +¥i8ÚH©ÿ%…húe — Š — ©€©¨;i ˜z„z„ z„ +z„kZZ©ú…©ü…©–…©…"iü¢Š8éPI€LÏT¢Š8éPI€L¿T©ƒ£ƒ£8éPI€LrT©ƒ£ƒ£8é +PI€LÜSôýôäΩµ¢ü"ÓýôýôWx©±¢ü"ÓýôýôXW©©¢ü"Óý;i ©ð©ÿò©üô© Yö©üø©$Y"©ü$©. ©ü©q“ +©ü ©”’©ü©K‘©ü©Æy©ü©y¨©ü ©½~©ü©f^©ü©ð¢"–ü©zzk£¢ "ƒdüªâ ©Ÿ– ©–…©…£¢ "ƒdü…¥e…© —© —©ƒ£ƒ©8ãPI€£ƒLåR©–…©…£¢ "ƒdü…¥e…æ¥c…â ©‡Â £ƒ£ƒ€³£"Dàÿƒ£09£H©A…©ü…©"³žüh£">«üª†¥Ú£H©#…©ü…©"³žühh£ƒLÌRâ ©ŸV% ŠªL´Râ ©Ÿþ& ŠªL¢RÔÔ +;8é–¥ƒ¥ƒ¥ƒ¥ƒ ;i¢†…"Q\ý;i ¢†…;i¢†…©"‡Èý:ðLIW£ ƒ/£ ƒ1£…£…;i/¢†…"r5ýªèÊÐ +£Z‰ ð¢èÊðLHW£M…£K…;i¢†…© "usü;i/¢†…;ic¢†…©4"usü£ …£…;ic¢†…"r5ý:Ð £7ÃkУ9ÃmУ?ÃsÐ £AÃuЩ€©ÉðL#W;ic¢†…"Auýƒ£ðL!W£… +£…;i¢†…¥…¥ +…¥i …©"usüâ £  — ©  7)ÿÐ   â © — £ …£ …â © — ©  7)ÿÐLW£kÃ7Ð £mÃ9ÐLW¥…¥ +…£ …£ …"a¬ü†…£ …£ …¦¥" ü†…¥Ð ©ƒ£ƒ€X£ …£ …¦¥" ³üƒ£ ª£ iX†…£Ð1 ·â É. Ð$£ …£ …£mª£k"–‚ü£ …£ …â © — £ƒ£ƒ€£ƒ£€£:Ð ;i/¢†…" Úü:Ð £ …£ …"ÿýªŠ¨;i–˜z„ +z„kÔÔ +¨;8éƘƒ ¥…¥… +©ƒ©ƒ©ÿÿƒôôô£"¾üƒô4;i{¢ÚH£" ßüƒ ;i £ƒ£sâ É ðLÀY£tâ ÉE ðLÀY£uâ ÉL ðLÀY£vâ ÉF ðLÀY£…ð=£… + +ª¿4üH¿2üH¯4üH¯2üH©q…©ü…;i¢†…"Þühhhh©ñÿLÃY£ƒƒ£Éð£Éð£Éð©ðÿLÃY©ðÿLÃY£ƒ £ƒ £ƒ£ ßL°Yô£ ª£Ÿ"ƒdü¢c‘HHŠc—ƒ£"¾üƒô ;i¯¢ÚH£" ßüƒ ;i £ƒ£©…£§…£ ƒ£ƒ©Å©å°LœY£ ƒ£ƒ¥ +ª¿OüH`©ðÿLÃY©ðÿLÃYô£¯H£¯H£"¾üƒ£»H£»ú†…£½H¥H¥H£" ßüƒ ;i £ƒ£·Ã»£¹ã½°£»8ã·…£µH£µú†…¥c·…©"—oü£ …d£³c·H£·c»ªh†…¥Å¥å° £·c³ƒ£ƒ€£ ƒ£…d£³Å£µå° £Ãc³ƒ£ƒ€£ƒ£ƒ£ƒ€£ ƒ£ƒ£ ƒ£ƒ £ƒ £ƒLSX£‹‡£ —©€©ñÿ¨;iƘz„ +z„kÔÔ +¨;8阃¥…¥… + ·…§…¥ƒ¥ƒ  ·ª ·i èƒ Šƒ £ É£ é © —© — · Ð©LB\£ )ª£ )ÿ†ðL\ ·ª ·Ðè —Š — · ÐN£ ª£  †ÈˆðFjˆÐú¦†…£ …£… ·…d¥Å¥å© —© —©LB\L\£ ª£   †ÈˆðFjˆÐú¦†…£ …£…  +·:…d¥%ª¥%†ðL\¥…¥ +… ·ª ·"dý†…©Å©å©LB\¥%ЩLB\£ …£…¥ ×¥ ÷°LÝ[£Ð© —© —©LB\¥…¥ +… ·ª ·"~—ýƒŠƒ£Ð©LB\©CЩLB\£#ЩLB\£ …£…£ª£"Üü:ð©€o£ƒ£ƒ€¥ƒ¥ƒ£ —£ —£ …£…£ª£" ü —Š —£  —£  —£ ª£i8ÚH©ÿ#…húe —Š —©¨;i˜z„ +z„kÔÔ +Ô Ô;8é©ÿÿƒ  ·…§…¥… ¥…¥Ð£ LÃ^â § ƒÂ æ ¥ …¥… +â £ƒ £â É Â ¥… ¥ +…£â É: ÐÊ£â É: Ðp©ƒ§â É0 7§… ©9â Å Â (¥… ¥…æ æ ¥Å Ð¥ +ÅЧ)ÿ8é0ƒ£ª€£ªŠ8éPI€¥…¥ +…¥‡¥ —Š€£ LÃ^§â É/ ðL¼^ ·â É/ Ð楃¥ƒ£…£…€ß©ƒ£ƒ¥…¥… +£ + +ª¿Ok…¿Mk… ¥ƒ¥ +ƒ¥ ƒ¥ƒ +£ +… +£…â §ƒ £ +… +£…楃¥ +ƒ +â £ƒ £… +£…æâ §ƒ £â Éa !©zâ à£8é â ƒ ⠣ƒ €â £ƒ £â Éa !©zâ à£8é â ƒ ⠣ƒ €â £ƒ ⠣ ð¥ƒ¥ +ƒ£ƒ£ +ƒ +£â àÐL’]â £ Ð£ƒ£â É/ ð+£ƒ£â É Â £ƒ£ƒ£ƒ£8éPI€Li]£8éPI€£ª¥‡¥ + —Š€£ €¯)ÿ¨;i˜z„z„ z„ +z„kÔÔ +Ô Ô‹ ¨©þ[ôð𫫘¨;8éT˜† +…;ic¢†… ·…§… ©ÿÿ©…©…©©ƒ©ƒ£ƒ©8ãPI€0LBa;i¢†…¥…¥ +…"»üƒ£ðLõ`¥ ðLõ`¥…¥ +…;i?¢†…"iü©:…©ü…;i?¢†…"[šü;i?¢ÚHôüô;iG¢†…;i¢†…"R”üªhhhhŠƒ£ƒ£ðLl`£ƒ;iU¢†…§)ÿð|;i¢†…;iU¢†…"»ü;i¢†…"Ë›ü:ð';iU¢†…;i?¢†…"iü©ƒ£ƒ€%;i?¢†…;i ¢†…"·£üƒ£ƒLÎ_;i ¢†…"akü£ð"£É𣅩 …©ü…©"€ü©îÿL+a£ð9;ig¢†… ·H§H;i ¢†…;iC¢†…¦¥ "òMýhh€I©.…©ü…©"³žü©ïÿ€6;ig¢†… ·H§H;i ¢†…¥…¥ +…¦¥ "òMýhh©¨;iT˜+«z„z„ z„ +z„k;i¢c†…â ©‡Â £ƒ£ƒL._ÔÔ +;8éV¥ƒ¥ƒ ;i¢†…;i¢†…©"‡Èý:ðLøc£ƒ#£ƒ%£ …£…;i#¢†…"r5ý:Т€ªàÐ +£N‰ ð¢àðL÷c£ƒ£ƒ;i¢†…©¢"~—ý† +…¢¥ +Т©E +Т¥% +Ð ©ƒ£ƒ€Šƒ"óÎüƒ Šƒ £ðLWc£…£…¦ +¥"Üüƒ£ðLMc¢ †£ª£i8†…© "—oü£…£…â ©. 8— £…£…â © C— £ª£iN†…£ ª£ "~²ü£ª£i8†…£…£…¦ +¥"–‚ü£ª£i8†…£ª£iX†…© "usü£…£…â ©. Y— £+ƒ£-ƒ£ª£iX†…£…£…£ª£"–‚ü£…£…â © — ;i#¢†…"Auýƒ£ƒ€£ƒ£ƒ€£ƒ£Ðr£Aª£?i†…£ ª£ "~²ü£A…£?…£…£…¦ +¥"–‚ü£A…£?…â ©  — £…£…â © — £Ð£…£…"ÿýƒ€£ƒ£ƒ€"©…©…;i¢†…¦ +¥"?ý£ƒ£€Š¨;iV˜z„ +z„kÔÔ +Ô ¨;8阃 Šƒ ¥ƒ¥ƒ£…£… ·… +§…£ É£ é°L¤f£  ×£  ÷L¤f©ÿÿƒ©ÿÿƒ â §ƒ £â É ÐL¢e£â É ÐL)e£â ɠ𩃩ƒ£ƒ£ƒLšf£ ª£  †ÈˆðFjˆÐú¦ƒŠƒ¥…¥ +… (·cH *·cªh" ³ü:𠣃£ ƒLšf¦ +¥i8ÚH£ + +)ÿ…húe†…"£·ü†…©ÿ%H©ÿÿ%ƒhƒ£ƒ£ƒLšf¥…¥ +… *·… (·…£ ª£  † ȈðF jˆÐú¦ eHŠeªh" ³ü:𠣃£ ƒLšf¦ +¥i8ÚH£ +)ÿ…húe†…"ž^üƒ©ƒ£ƒ£ƒLšf£ ƒ£Jcƒ¥…¥ +… *·ª (·ÚH£ Jë)ÿ…húeè" ³ü:𠣃£ ƒLšf£ƒ£ƒ¥…¥ +…¥i8…©ÿ#…¥e…§)ÿƒ¥…¥ +… *·ª (·ÚH£ Jë)ÿ…húeè" ³ü:ð +£ƒ£ ƒ€M¥i8…©ÿ#…¥e…§)ÿë)ÿ¨£ )ª£ )†Ð˜)ÿ€˜JJJJƒ©ƒ£ƒ£ƒ£ƒ£ƒ€©ƒ©ƒ£ƒ£ƒ£ª£¨;i˜z„ z„ +z„kÔÔ +Ô Ô¨;8é +˜ƒ¥… ¥…©ƒ · … +§ …â ©ÿƒ ⠩ÿƒ £ƒâ £ƒ ⠣ƒ £ƒ ·   ÐLii¥…¥ +… · ª · " ³üƒ£ð£ƒLii · … · …â §ƒ + ⠣ + Р©ƒ£ƒLii · … · …©?  7â ƒ ⠣ —  £ +â Éå ÐLi£ +â É. ÐLi©ß#â É 𠩃£ƒ€ ©ƒ£ƒ£ÃðLi£â É ðLçh£ +‰@ðZ · … · …â   ·ƒ ©¿# +â ƒ ⠣ƒ  ·  ,—  ·  .— â £ƒ ⠣ƒ ⠣ƒ €â £ +ƒ ⠣ƒ ⠣ƒ £â àÐM · … · …  ·â àÐ2 · … · … ·…  ·…"ˆôü:ð£)ÿ:ƒ£ƒ€ ©ÿƒ£ƒâ £ƒ ⠣ƒ ⠣ƒ €Pâ £ Ð · … · …"6wüâ àð©ÿÿ ,— ©ÿÿ .— £ƒ€Jâ ©ÿƒ ⠣ƒ ⠣ƒ ¥ …¥…©"ÒYýƒ£ð£ƒ€£ƒâ £ƒ ⠣ƒ Lg£ð© — © — £¨;i +˜z„z„ z„ +z„kÔÔ +Ô ÔZZZZ ·… ·…  · … +§ …©'"Züâ ©‡ ⠩ +ƒ ⠣ƒ ⠣ ðL4lâ © —  ©…©…¥…¥ +…©"‹%ýâ É ðLÜk©ª…©…¥…¥ +…©"‹%ýâ É ðLk;i¢†…¥…¥ +…©""…ü£â É ðLk£â ɪ ðLk©èƒ£ƒ£ð©…©@…¥…¥ +…©©"‹%ý)ÿÐe£ð_©…©…¥…¥ +…©:"‹%ý)ÿÐA;i¢†…¥…¥ +…©""…ü£‰@Ð ©ƒ£ƒ€ ©ƒ£ƒâ £ —  €©è"Zü£:ƒ£ƒLvjLÈk¢†¢†¦†¦ +†©©"‹%ý…©â Å â © —  ⠩©ƒ ⠣ƒ €â © —  ⠩ƒ ⠣ƒ ©èƒ£ƒ£ð©…©…¥…¥ +…£"‹%ý)ÿÐ/£ð©…©…¥…¥ +…©"‹%ý)ÿð â © —  €©è"Zü£:ƒ£ƒ€žâ ©ý'‡  · )ÿÐ ©ƒ£ƒ€ ©ƒ£ƒâ £ —  ¥…¥ +…"£lü · )ÿzzzzz„z„ z„ +z„k;i¢†…¥…¥ +…©""…ü£:â ƒ ⠣ƒ LÚi¨;8é&˜ƒ¥ƒ!£!06¯ƒ£!cƒ¯oƒ£8ã!ƒ©ƒ£ƒ£ƒ£ƒ£ƒ€6¯o:ƒ£!cƒ¯:ƒ£8ã!ƒ©ÿÿƒ£ƒ£ƒ£ƒ£ƒ£06¯ƒ£cƒ¯oƒ £ 8ラƒ£ƒ£ƒ £ ƒ £ƒ#€6¯o:ƒ£cƒ¯:ƒ £ 8ラÿÿƒ£ƒ£ƒ £ ƒ £ƒ#£ª¯"ƒdüƒ%£ª¯"ƒdü8ã%ƒ£ª¯"ƒdü…£!ª¯"ƒdüe8ã%ƒ£ƒ£ƒ £ƒ£ƒ£à ðL¤n£ðw£ª¯"ƒdü8ã%ƒ£ƒ£ƒ£ƒ£ÃðU£%cƒ£ ƒ£ƒ£ ÃУcƒ£ƒ£ƒ€Ô£cªâ © Ÿ@ð £cªâ ¯Ÿ`ð £#cƒ£ƒ€º£!ðw£ª¯"ƒdü8ã%ƒ£ƒ£ƒ£ƒ£ÃðU£%cƒ£ƒ£ƒ£ ÃУcƒ£ƒ£ƒ€Ô£cªâ © Ÿ@ð £cªâ ¯Ÿ`ð £#cƒ£ƒ€º;i&k£%cƒ£%cƒ£c8ã#ƒ£cc8ã#ƒ£ƒ£ƒ£ƒ£ƒ£ ÃУc ƒ£ƒ £ƒ£ƒLžm£#cƒ£#cƒ£ªâ ¿@𠨣ª˜â Ÿ@𠣪⠿`𠨣ª˜â Ÿ`ð £#cƒ£ƒ£ƒ£ƒ€‘ÔÔ +Z©¯{C…¯yC…§ ð¯{C…¯yC… ·ª§† +…"tZüL…£<…£!‡£# —£#…£!… ·ª ·8é°ʆ…£#…£!…¥ ×¥ ÷&£#…£!…£…£… ·‡ · —£L‡“©ƒ©ƒ£#…£!…§â É ðL‘‘©…©…£!ƒ%£#ƒ'£… +£…¥ƒ¥ƒ;i%¢†…£ª£"dý†…¥%Щƒ£ƒ ¥ƒ¥ +ƒLƒ‘©EЩƒ£ƒ ¥ƒ¥ +ƒ€i¥Ð¦ +¥Ð胊ƒ£…£…€¥…¥ +…£ª£Ð膅¥…¥… +¥ƒ¥ƒ£ƒ ¥ƒ¥ƒ£#…£!…¥ ×¥ ÷°LÊ£ ª£…£…LD“£#…£!… ·… ·…¥ƒ¥ƒ£#…£!… *·… (·…¥ƒ ¥ƒ ©ƒ £ƒ£… +£…£ƒ£ƒ£ …£ …£ ƒ£ÐI¥ƒ ¥ƒ ¦¥Ð胊ƒ£#…£!…£ ª£ " ³üƒ £ 𣠃 ¥ƒ ¥ +ƒ L9“£ ƒ£ƒ £ƒ € £ƒ¥ƒ ¥ƒ £#…£!…§â É Ð8£#ª£!i8c†…"ž^ü:Ð ¦ +¥Ðè† +…£ƒ ¥ƒ¥ +ƒ£ ƒ €Z£#ª£!i8c†…"£·ü†…¥)ÿª¥)ÿÿ†Ð¦ +¥Ð胊ƒ£ƒ£ƒ€¥ƒ¥ +ƒ©cª£ƒ£ƒŠƒ ©ÿ# ƒ £ª£ÐÊ:ƒŠƒ£ƒ£… +£…£ƒ£ƒ£ …£ …£ ƒ£ƒ £ƒ £ƒ £ðLò‘£ ª£ …£ …èÊÐ>£…£…¥‡¥ —£#…£!…¥ —¥ —£#…£!… â ©— Š€£¨;i4˜z„ +z„kÔÔ +Ô Ô¨;8éX˜¥… ¥…¥…¥… +©©©…©…©…©…©© · "ñXüƒ£" kü¥…¥ +…;i ¢†…©P"Ãü;i ¢ƒŠƒ;i¢ÚH©…©ü…;i ¢†…"‹æü†…hh¥ÐLU—"ØZü†…©ü…©ü…¦¥"8Æü© ƒ£ƒ€J©ƒ£ƒ€?©(ƒ£ƒ€4©Qƒ£ƒ€)©£ƒ£ƒ€©Gƒ€©ƒ€©ƒ€ ©|ƒ£ƒ · "ñXüƒ£…£"btü;i¢ÚH©…©ü…;i ¢†…"‹æü†…hh¥ÐL:—"ÉZü¢¨ʆ…©Y…©ü…¦¥"8Æü©ƒ£ƒ€©ƒ£ƒ€©ƒ£ƒ€ ©ƒ£ƒ;i¢ÚH©…©ü…;i ¢†…"‹æü†…hh¥ÐL—"ÉZü¢¨ʆ…©EÐ +£ƒ£ƒ€©EðLø–©ƒ£ƒ;i¢ÚH©…©ü…;i ¢†…"‹æü† +…hh¥ +ÐLâ–©…©ü…¥…¥ +…"Íhü:Ð £ƒ£ƒL²–©Ñ…©ü…¥…¥ +…"Íhü:Ð ©ƒ£ƒ€{©6…©ü…¥…¥ +…"Íhü:Ð ©ƒ£ƒ€P©;…©ü…¥…¥ +…"Íhü:Ð ©(ƒ£ƒ€%©|…©ü…¥…¥ +…"Íhü:Ð0©8ƒ£ƒ£ƒ£ƒ£ƒ · "ñXüª£HŠ"µgüh©Li—©$ …©ü…©"³žü©ÚÿLi—©ê…©ü…©"³žü©Úÿ€q©“ …©ü…©"³žü©Úÿ€[©è…©ü…©"³žü©Úÿ€E©ÿ…©ü…©"³žü©Úÿ€/©…©ü…©"³žü©Úÿ€©Úÿ€©i …©ü…©"³žü©Úÿ¨;iX˜z„z„ z„ +z„kÔÔ +Ô Ô¨;8阃Šƒ¥ƒ ¥ƒ£…£ … ·…§… £ÐR · … · …¥ƒ¥ƒ£ð£ × £ ÷ ° +£ƒ£ƒ€©ƒ©ƒ£ƒ£ƒ£… +£…€_£…£ …£ª£"dý†…¥É¥é° ©¢LY›¥%Ц¥LY›¥ × ¥ ÷ °¦¥LY›£ƒ£ƒ£… +£… ·   Ð ©¢LY›©ƒ©ƒ£ÅðL‘™£Å +ðL‘™¦ +¥Ð胊ƒ£ × £ ÷ ©ƒ©ƒ£ƒ£ƒ€£ƒ£ƒ£…£ …£ª£"dý†…©EÐLŠ™¥%ÐLŠ™¥ðh · … · …¥ƒ¥ƒ£É£é"£ × £ ÷ °£ƒ£ƒ£ƒ£ƒ€¥ƒ¥ +ƒ©ƒ©ƒ£ƒ£ƒ£ƒ£ƒ€£ƒ£ƒ¥ƒ¥ +ƒ£ƒ£ƒ£ƒ £ƒ €¦¥LY›£ƒ£ƒ¥ƒ ¥ +ƒ £ðL[š£ ƒ£ ƒ£ƒ£ƒ£iƒ£iƒ£ × £ ÷ '©ƒ©ƒ£ ã ã° ©¢LY›£… +£…€£… +£…£…£ …¦ +¥"dý†…¥Ð€?©Eð'¥%ð £ ÅУ Å +Ð ©¢LY›¥ƒ¥ +ƒLº™¦¥LY›£… +£…©ÿÿ…©ÿÿ…¥ …¥…¦ +¥"¥~ýƒ£Ð'£ð!¥…¥ +…¥ …¥…£ª£"¥~ýƒ£ƒ€£ƒ£Ðe¥ — ¥ + —  · ª · 8é°ʆ…¥ × ¥ ÷  · ª · ÐÊ: — Š —  â © —  ¥ƒ¥ +ƒ€=£É𩃩ƒ£ƒ£ƒ€©ÿÿƒ©ÿÿƒ£ƒ£ƒ£ƒ£ƒ£ƒ£ƒ£ª£¨;i˜z„z„ z„ +z„kÔZ§8éPI€0LŒŸ§ƒ§H£¢V"ƒdüªhŸ4©4…©…£¢V"ƒdü…¥e… · — · —©4…©…£¢V"ƒdü…¥e… · — · —©4…©…£¢V"ƒdü…¥e…  +·  +—  ·  —©4…©…£¢V"ƒdü…¥e… · — · —©4…©…£¢V"ƒdü…¥e… · — · —©4…©…£¢V"ƒdü…¥e… · — · —©4…©…£¢V"ƒdü…¥e… · — · —©4…©…£¢V"ƒdü…¥e… · —  ·  —©4…©…£¢V"ƒdü…¥e… "· "— $· $—©4…©…£¢V"ƒdü…¥e… 6· 6— 8· 8—©4…©…£¢V"ƒdü…¥e… :· :— <· <—©4…©…£¢V"ƒdü…¥e… &· &— (· (—©4…©…£¢V"ƒdü…¥e… *· *— ,· ,—©4…©…£¢V"ƒdü…¥e… .· .— 0· 0—©4…©…£¢V"ƒdü…¥e… 2· 2— 4· 4—©4…©…£¢V"ƒdü…¥e… >· >— @· @—©4…©…£¢V"ƒdü…¥e… B· B— D· D—©4…©…£¢V"ƒdü…¥e… F· F— H· H—©4…©…£¢V"ƒdü…¥e… J· J— L· L—©4…©…£¢V"ƒdü…¥e… N· N— P· P—©4…©…£¢V"ƒdü…¥e… R· R— T· T—©€©ÿÿzz„kÔÔ +;8é|©ƒ©ƒ©ƒ©ƒ©…©…©ƒ©U?â ¯pð J°©a?©ƒ¯U?U?£ƒ €£ƒ £ ƒ£ ƒ £ +ª©Ÿa?£ ƒ£ ¨£ +ª©Ÿa?˜ƒ ˜ƒ£ +ª©Ÿa?¯U?U?ôôôô©"I¿üƒ hhhh©7ðâ © ð ⠩ð ⠩𠩃£ªŠ8éPI€LÛ£"cü"ynüô¢€†©?E…©…©"_Ôü©"ºü©H© H©*H©lN…©ü…©"ÿýdd©"6ü¢†©"@‰ü©">'ý©D𩃩ƒ©4ƒ©ƒ;i¢ÚH©"¿züƒ ;i ©`…©ü…"!lü©ƒ£ƒ£ƒ£ƒ £ƒ£8ïU?PI€Lð¢©8ã PI€0Lø¡©ý …©ü…"!lü©ƒ£ƒ£8ïU?PI€m£ +ª¿W?ðX£ +ª¿a?"àküÚH£H©c…©ü…;i3¢†…"Þüƒ;i3¢†…"Ì]üH;i5¢ÚH©"'Íüƒ ;i £ƒ£ƒ€…©x…©ü…;i-¢†…"Þü;i-¢†…"Ì]üH;i/¢ÚH©"'Íüƒhhh"&’üi„è† +…£ƒ£ƒ"&’ü†…¥Å¥å +PI€V"]ü"Ð`üƒ©Ã°C£"|iüƒ£É Ð +£ƒ£ƒ€,©8ãPI€£: +ª¿W?ð£:¨˜ +ª¿a?ƒ˜ƒ€€‹£ + +…;i¢e†… ·…§…£"™ ý;i|z„ +z„k£ +ª©ŸW?£ +ª¿a?…£"=Öü£ + +…;i¢e†…£ +ª¿a?" ý:ÐL·££"8Zü£ +ª©ŸW?£ ƒ£Ð8£ +ª¿a?"àküÚH© …©ü…"!lüƒhh£ +ª¿a?ƒ£ƒ£ƒ£ƒ€£ƒ£ƒ£ + +…;i¢e†…§ £ƒ£ƒ£ƒ€ £ƒ£ƒ£ ƒ£ƒ£ƒ£ƒ£ƒ £ƒLE¡¿„(üâ Ÿ0ð ¿„(üâ JJ ⠟4𠊃£ªL| ÔÔ +Ô Ô¨;8阃¥…¥… +¥ƒ¥ƒ£…£… £&…£$…©‡;i¢†…¥…¥ +…"º»üƒ £ ƒ£ ðL[¨ ·)ÿƒ £ ƒ£ ðL[¨© 7)ÿЩL]¨8  · ÷H · ÷ªh†…£…d¥Å¥å° +¥ƒ£ƒ€£ƒ£ƒ¥ ƒ ¥ƒ ©Ã©L]¨© 7ª©ÿ 7†ðL¸§ ·ª ·  †ÈˆðFjˆÐú¦†…£…£…  +·:…d¥%ª¥%ƒ£Ðz · Ð  +·… ·…€¥…¥ +… ·ª ·"dý†…¥É¥é°â © — ©L]¨¥%Ðâ © — ©L]¨¥ —¥ —£…£… ·ª ·" ü†…¥Ðâ © — ©L]¨¦¥c胊ƒ£Jë)ÿƒ©ÃL릣…£…  +·ª£c…ä°£…£…  +·8ャƒ€£ƒ£H£…£…£…£ …£…£…  · "ªeüƒh£ðâ © — ©L]¨ ·…⠥ X8 ·ãH ·ãªh†…£…d¥Å¥å°2¥…¥ +…¥i&… ·8ã +ë)ÿ…£ ª£ e†…©"usü£ +ë)ÿƒ£ƒ L ¨ ·ÃÐ  ·ÃÐLª§ ·…⠥ Wô ·… ·…¥…¥ +…¥i&…£…£…  · "Üeüƒh£ðâ © — ©L]¨ â ©7— ô£…£…¥…¥ +…¥i&…£…£…  · "ªeüƒh£ðâ © — ©L]¨£ —£ —©ÿ 7…©8僣ð +£ƒ£ƒ€£ƒ¦ +¥i&ÚH©ÿ 7…húe†…£ …£ …£"usü£ƒ £8ã ƒ£&…£$…£ g‡£ ª£ c ƒŠƒ ·ª ·c è —Š —£ƒ£ƒ £ƒ Lͤ£¨;i˜z„z„ z„ +z„kÔÔ +Ô Ô¨;8é"˜â ƒ ¥ƒ¥ƒ¥ƒ¥ƒ©H;i¢†…£"ŒbüªhèÊð©L­£ƒ£ƒ â ©?ƒ" ⠩ƒ ⠣ƒ ⠣ ðS£ …£…£)ÿ¢†…"óÓü†…£")ÿ¢†…"óÓü†…©Å©å°£â + ⠃ ⠣ƒ €¥â £ Ðâ ©ÿƒ ⠣ƒ €â £ƒ ¢†£…£…©"—oü£ª£i¾ƒŠƒ¢£")ÿƒ +©ƒ Šƒ£ … +£ +…£…£… £ÉLܬ¥ +ÐLܬ¥Ã¥ +ã Lܬ£…£…£ + +…¥e… ·…§…¥ƒ¥ƒ©déã`©dCð5£ …£…©d…©…"óÓü†…£…£…"``üƒŠƒ£ƒ£ƒ€£ƒ£ ƒ£ƒ£ƒ£ƒ£ƒ£ƒ£ƒ€£ƒ£ƒ¦ +¥cHŠc +ªh†…£Å£ å%¦ +¥cHŠc +ªh†…¥Å¥å + +£ƒ£ƒ€8£åH£"å +ªhƒŠƒ£ƒ£ƒ£ÐLܬ¥ …¥…¥i…¦ +¥"~²ü¥ …¥…¥i …£ª£"~²üâ £. —  ¥…¥ +…£")ÿ¢†…"óÓü†…£)ÿ¢†…"óÓüƒ +¥…¥ +…£")ÿ¢†…"óÓü†…£)ÿ¢†…"óÓüâ ¥ƒ ¥…¥ +…£")ÿ¢†…"óÓü¥â ƒ ⠣ —  £ +JJ)À…£)ÿâ  —  ⠣ + —  ¦ +¥cHŠcªhƒŠƒ£ª£ÐÊ:†…£")ÿ¢†…"óÓü†…£)ÿ¢†…"óÓüƒ +¦ +¥cHŠcªhƒŠƒ£ª£ÐÊ:†…£")ÿ¢†…"óÓü†…£)ÿ¢†…"óÓüâ ¥ƒ ¦ +¥cHŠcªhƒŠƒ£ª£ÐÊ:†…£")ÿ¢†…"óÓü¥â ƒ ⠣ —  £ +JJ)À…£)ÿâ  —  ⠣ + —  ¥ i… ¥ ƒ¥ƒ£ƒ +¦ +¥cHŠcªhƒŠƒ£ +ƒ£… +£…£…£… L›©£ª£iþ†…©Uª"ädüô©…©…£…£…£"ÜeüªhèÊ𩀩¨;i"˜z„z„ z„ +z„kÔÔ +Ô Ô¨;8阃¥…¥… +¥ƒ¥ƒ£…£… £&…£$…©‡;i¢†…¥…¥ +…"º»üƒ £ ƒ£ ðL%² ·)ÿƒ £ ƒ£ ðL%²© 7)ÿЩL'² ·ª ·c膅¥ ×¥ ÷°©ÿÿ8 ÷ƒ£ƒ€£ƒ£ƒ¥ ƒ ¥ƒ ©ÃL¬®© 7ª©ÿ 7†ðL3± ·ª ·  †ÈˆðFjˆÐú¦…£…£…  +·:%ƒ£ðL¯ · Ð,  +·… ·…¥Ð¥…¥ +…©¢"~—ý†…€¥…¥ +… ·ª ·"~—ý†…¥Ð â ©@— ©L'²©EÐâ © — ©L'²¥%Ðâ © — ©L'²¥ —¥ — ·  +Ð¥ —¥  +— ·…⠥ Wô ·… ·…¥…¥ +…¥i&…£…£…  · "Üeüƒh£ðâ © — ©L'² â ©7— £…£… ·ª ·" ü†…¥Ðâ © — ©L'²¦¥c胊ƒ£Jë)ÿƒ©ÃL¹°£…£…  +·ª£c…ä°£…£…  +·8ャƒ€£ƒ£H£…£…£…£ …£…£…  · "Üeüƒh£ðâ © — ©L'²8 ·ãH ·ãªh†…£…d¥Å¥å°? ·8ã +ë)ÿ…£ ª£ e†…¥…¥ +…¥i&…©"usü â ©7— £ +ë)ÿƒ£ƒ L•± ·ÃÐ  ·ÃðZ ·  × · ÷°Dô£…£…¥…¥ +…¥i&…£…£…  · "ªeüƒh£ðâ © — ©L'²£ —£ —©ÿ 7…©8僣ð +£ƒ£ƒ€£ƒ£ …£ …¦ +¥i&ÚH©ÿ 7…húe†…£"usü â ©€— £ƒ £8ã ƒ£&…£$…£ g‡£ ª£ c ƒŠƒ ·ª ·c è —Š —  · × · ÷ ·…  ·…€ ·… ·…¥  —¥ —£ƒ£ƒ £ƒ Lø­£¨;i˜z„z„ z„ +z„kÔÔ +Ô Ô;8饃¥ƒ¥ƒ¥ƒ£…£… ·…§…¥ƒ¥ƒ +£…£…â © — £…£… · ÐLK·£…£… ,· .7ÐL峩ƒ£ƒ©ƒ£ƒ £ƒ£ƒ£ƒ£ +…£… ·…  ·…£ +…¥e…§:ÐL¸³£ ƒ£ ƒ£ +…£… ·…  ·…£ +…¥e…§ƒ£Ð!£ÉØ©ÿßャƒ £ƒ£ƒLѲ©ÿ8ã…£ª£ic†…£¢ª©† +…£… d¥ +ª¥ "õ¬üƒ£Ð ©ƒ£ƒ€£cƒ©ƒ£ƒ £ƒ£ƒLѲ£ð¢€£ª£…£…¥i…†¥e…â ©‡Â ©ƒ£ƒ£ƒ£ƒ£É LÇ´£ƒ£ƒ£…£… ·… ·…¥c…§)ÿƒ£É Ð +£ƒ£ƒ€¸£ÉÐ ©åƒ£ƒ€£ƒ£É Ð5£É °.£ƒ£ƒ£…£…¥i …¥c…â ©.‡Â £ƒ€£ƒ£ƒ£ƒ£…£…¥i …¥c…â £‡Â £ƒ£ƒLö³£…£…¥i …¥c…â ©‡Â £…£… ·)ÿðL‹¶£Ð-£ƒ£ƒ£…£…¥i…¥c…â ©?‡Â £ª€B©ƒ£ƒâ ©ƒ £ƒ£ƒâ £ƒ £…£…¥i …¥c…§)ÿÐZ£ª£…£…¥i…†¥e…â ©‡Â £…£… ·… ·…  ·)ÿУ…£…â ©  — L‹¶£…£…¥i …¥c…§)ÿƒ£É.Ðâ ©ƒ ⠣ƒ €â £ƒ £ÉA@©ZÃ9£…£… ·… ·…  ·)ÿ…£)ÿ%:ð© cƒ£ƒ€£ƒ£…£…¥i…¥c…â £‡Â £ƒ£ƒ£ƒ£ƒâ £ƒ LMµ£…£… ·… ·…©?  7ª£…£…Šâ  — £…£… ·ª ·i†…"£·üÚH£…£…hú‡Š —£…£… ·ª ·i†…"ž^üª£…£…Š —£…£… ·ª ·i†…"ž^üª£…£…Š —;iz„z„ z„ +z„kÔÔ +Ô Ô¨;8阆… ¥…¥… +;i¢†…¥…¥ +…"º»üƒ£Ð ·)ÿƒ£ƒ €£ƒ £ ð£ LÚ¼  ·Å  ·å°%© 7)ÿР·…  ·…¥ƒ ¥ƒ €¥ ƒ ¥ƒ  ·… ·…¥ƒ¥ƒ©ƒ©ƒ£ —£ —©Ã ©ã L¶»£…£…  +·¢  †Èˆð +&ˆÐú¦ƒŠƒ©Ã©ãL ¹£ ª£ ÐÊ:†…£…£…"óÓü†… £ª£ÐÊ:†…£…£…"óÓü†…¥ Å¥åx£ª£ÐÊ:†…£ª£ÐÊ:Iÿÿ¨ŠIÿÿª˜†…¥%ª¥% —Š —8£  ÷H£ ÷ªhƒŠƒ ·… ·…¥ƒ¥ƒ£ƒ£ƒ£ƒ£ƒL¹  +·… ·…¥ƒ¥ƒ£Ð`¥…¥ +…©¢"~—ý†…©EÐâ © — ©LÚ¼¥%Ðâ © — ©LÚ¼¥ —¥  +—¥ƒ¥ƒ€£ƒ£ƒ£ —£ —£ ƒ£ ƒ£ƒ£ƒ£ÐL¤»£ƒ £ƒ £ƒ£ƒ£ ƒ£ ƒ£ƒ£ƒ£à £ã L»8£ ãH£ãªhƒŠƒ ·cH ·cªh —Š —© 7)ÿðC¥…¥ +…£ª£"~—ýƒŠƒ£Ð©…©…¥ƒ¥ƒ£ƒ£ƒL»£…£…€¥…¥ +…£ª£"dýƒŠƒ£…£…¥%Ðâ © — ©LÚ¼©Å©å°9£…£…¥ ×¥ ÷°!¥ —¥ —£ƒ £ƒ ¥ƒ¥ƒL۹⠩ — ©LÚ¼ ·cH ·cªh —Š —£)ª£)ÿ†ðb£…£…£ª£" ü†…¥Ðâ © — ©LÚ¼£ª£  †ȈðFjˆÐú¦†…¦¥eHŠeªhƒŠƒ£ƒ£ƒ€£ƒ£ƒ£ƒ£ƒ€£ƒ£ƒ£ƒ£ƒ€£ƒ£ƒ  · × · ÷°! ·  — · — â ©@— © 7ª©ÿ 7†ÐLؼ ·ÃÐ  ·ÃÐLؼ ·…⠥ Uô ·… ·…¥…¥ +…¥i&…£…£…  · "ÜeüªhèÊðâ © — ©€_ â ©7— ô£…£…¥…¥ +…¥i&…£…£…  · "ªeüªhèÊðâ © — ©€£ —£ —£ ¨;i˜z„z„ z„ +z„kÔÔ +Ô Ô¨;8éN˜â ƒ ¥…¥… +¥ƒ ¥ƒ¥ +Щ L™Ââ ©?#ƒ ;i¢†…;i ¢†…£"‡Èýƒ£ðL‚£ƒ£ƒ£…£ …;i¢†…"r5ýªèÊУD¢£‰ÐLA¿èÊð8àÐ;i¢†…"Auýƒ£ƒ€Šƒâ ©ƒ ⠣ƒ £ƒ€!£ ‰ð¢€ +£‰ð¢â £ƒ Šƒ£ðL/¿£‰ÐL/¿"óÎü†… £8ª£6i†…¦¥ "~²ü£8ª£6i†…¦¥ "~²ü£8…£6…£…£…"a¬ü†… £8…£6…â ©   — £8…£6…£…£…©¢"–‚ü£8ª£6i†…©¢"~²ü£…£…â © — ¥ ÐL%¿£…£… 6·… 4·…¥ƒ¥ƒ©…©…;i¢†…¦¥ "?ýƒ£Ð9£…£…£ª£" ³üƒ¥ª¥ ÐÊ:ÚH£…£…hú —Š —£ƒ€£ƒ£ƒ€£ƒ£ƒ€£ƒâ £ƒ £ƒ€)èÊУ ‰ð¢€£JJ£ J¢â £ƒ Šƒ£ÐW£‰ðâ ©@ƒ ⠣ƒ €â £ƒ £…£… 4· — 6·  —£6 "—£8 $—â £ƒ €â £ƒ £ðLx£8…£6…£…£…"a¬ü —Š  +—£8ª£6i†…"£·ü  —Š —£‡£ —£…£… · —â £ — ⠩ — © —© —© —© —¢†¥…¥ +…¥i&…©"—oü£‰ ÐLn©  ש ÷Ln  · — · —£…£…  +·¢  †Èˆð +&ˆÐú¦ƒŠƒ  +·… ·…¥ƒ¥ƒ ·…  ·…¥ƒ¥ƒ +£ƒ£…£…£ +…£… £Ðx£Å £å°n¥…¥ +…¦¥"dýƒŠƒ +©Ã©ã + ©ƒ£ƒ€£ƒ£# +Ð ©ƒ£ƒ€£ƒ¦¥ 8ãHŠãªhƒŠƒ£ƒ£ +…£…£…£… €„¥ —¥ —£ðLdÂ¥)ª¥ )ÿ†ÐLd£…£…¦¥" ü†…¥Ð ©ƒ£ƒ€}¦¥   †ȈðFjˆÐú¦†…¦¥eHŠeªh —Š —ô ·… ·…¥…¥ +…¥i&…£…£…  · "ªeüƒh£ð ©ƒ£ƒ€£ƒ£ƒ£ƒ€£ƒ£ƒ€£ƒ£ƒ€£ƒ£ƒ€£ƒ£𠩇© —£¨;iN˜z„z„ z„ +z„kÔÔ +Ô Ô¨;8阆 +…¥… ¥…¥ƒ©ƒ ©ƒ â ©ƒ ©ƒ©ƒâ ©.ƒ ¥…¥ +…¦ +¥"älüð%©Ýƒ©üƒ¥ ƒ¥ƒâ £ƒ £ƒ £ƒ L’Ç£ ©ƒ£ƒ€£ƒ¦ +¥ „ „"½íü°1©¢¤„¤ +„"lýüƒŠƒâ ©-ƒ £ƒ£ƒâ £ƒ €â ©+ƒ ¥ƒ¥ +ƒâ £ƒ £…£…©¢€"älüÐL‰Å£…£…©¢€ÿ"älüÐL‰Å£&â Éf ðLbÄ£…£…ÔÔ£…8©å"ؽü „ @„"<ý"Þfü"‰ýüƒŠƒ£ª£"]Ëüª†¥ ©ƒ£ƒ€Šƒ£c8é PI€0 ©j…©ü…€£…£…£ƒ£ƒ£ ƒ £ƒLoÅ£…£…©¢"älüÐLKÅ£ª£"]Ëü8ャ…£…ÔÔ£"ؽü „ @„"<ý"Þfü"‰ýü† +…¦ +¥"]Ëüª©c†8åPI€0\©c8é PI€KŠ8éÿPI€ ©ÿƒ£ƒ€Šƒ¦ +¥ÚH£"ؽü†…hú"<ýƒŠƒ£ƒ£ƒ£ƒ£…£…€©j…©ü…¥ƒ¥ +ƒŠƒ£ƒ£ƒ£ƒ€£ƒ£ƒ£ ƒ£…£…£ƒ£ƒ£ƒ £ ƒ£ƒ£ƒ£ ƒ£ƒ¥ƒ¥ƒ€"©Ù…©ü…£ƒ£ƒ£ ƒ£ ƒ¥ƒ¥ƒ£ðLrÇ£â É- Ð$¥ …¥…æ ¥ ƒ ¥ƒ â £‡Â £ ƒ £ ƒ €¥ ƒ ¥ƒ £ …£ … £ƒ£ƒ£ƒ £ ÉÿÿÐ¥ …¥…æ â £‡Â £ "ؽü† +…£ª£¤„¤ +„"<ý"Ô_üƒ£¢¨Ê"ÿíü¤„¤ +„":òü†…£ª£"lýüƒŠƒ¥ ƒ ¥ƒ æ ¥ …¥…©0cH£ …£ …hâ ‡ £ :ƒ¥… ¥…£ƒ£ƒ£ƒ £…8©å…£8åPI€0LþÅ£&â Éf ÐL`Ç¥…¥…æâ £&‡ £$£…8©åƒ¥…¥…æâ ©-‡ £ƒ€¦¥æ†…â ©+‡ £ƒ¥…¥…棢 +"²Óüi0â ‡ ¥…¥…棢 +"ÀÓüi0â ‡ ¥ƒ¥ƒ€¥ƒ¥ƒ£ƒ£ƒ€¥ ƒ¥ƒ£ƒ£ƒâ £ƒ £ƒ £ƒ £  ÐL\Èâ £ ð,£…£…£…£…楃¥ƒâ £‡Â £ƒ£ƒ€£ƒ£ƒ£ƒ£ƒ£ ƒ £ ƒ £ƒ£ƒ£…£…楃¥ƒ£ …£ …â §ƒ £ …£ …楃¥ƒ£…£…â £‡Â £ƒ£ƒ£ƒ £ƒ £…£…§)ÿЕ£ƒ£ƒ€£ƒ£ƒ£…£…â ©‡Â ;iz„z„ z„ +z„kÔÔ +Ô Ô¨;8é˜â ƒ ¥… ¥…©‡ © — "Q\ýª†¥© LÏΊ + +ª¿… +¿…¥ +Щ LÏÎ¥‡ ¥ + — â ©þ#ƒ §)ÿð/ ·"žYüâ ƒ £J°â £ ð £‰ð© +LÏΩLÏÎâ ©‡  ·"–Yüâ ƒ £J©LÏÎâ £ ð £‰ð© +LÏÎ¥…¥ +…©"4øüƒ£ÉЩLÏΣÉ© LÏΠ6·… 4·…¥ƒ¥ƒ¥…¥ +…¥iC…"ž^üÉð© LÏÎ¥…¥ +…¥iN…"ž^üƒ©ƒ£Ð#¥…¥ +…¥i\…"£·üƒŠƒ£…£…€£…£…¥  —¥ "—â  H· —  ·â É ð ·â É ð© LÏΠ·)ÿ¢†…"``üƒŠƒ + E·)ÿ  +—  +·:ÐLÌΠ +·:  +7:ðLÌÎ¥…¥ +…¥iI…"ž^ü —© 7:ð© LÏÎ¥…¥ +…¥iK…"ž^üƒ©ƒ£Ð#¥…¥ +…¥iX…"£·üƒŠƒ£ƒ£ƒ€£ƒ£ƒ¥…¥ +…¥iF…"ž^üƒ £ Щ LÏΣ +ª£c 膅 ·JJJJ¢eHŠeªh†… £Å £å°© LÏÎ8£å H£åªh†…  +·¢†…"óÓü†…¥Ð© LÏΩƒ©õÿÅ©ÿå ©ƒ£ƒ€£ƒ©õÿÅ©å ©ƒ£ƒ€£ƒ©õÅ©å ©ƒ£ƒ€£ƒ£Ð© LÏΦ¥iè —Š —£ $—£ &—£ª£c è (—Š *—¦¥ cHŠcªh 0—Š 2—£ÉÐe¥…¥ +…¥ib…"ž^ü:ð© LÏΠ·:ð© LÏÎ¥…¥ +…¥id…"£·ü ,—Š .— ·… ·…&&L5Í ·:Щ LÏΠ(·cH *·c ªh ,—Š .—£ÉðG ·… ·…©…©…"``ü†Fj¦†…© 7ª© 7eHŠeªh†…€ ·… ·…&¦¥iÿè  †ÈˆðFjˆÐú¦†…  ·Å "·å°© LÏΩÿÿ —©ÿÿ — · — · —â ©€ — £ÉðLÎ¥…¥ +…¥ih…"ž^üÉðLÎ¥…¥ +…£ª£Ðè" ³ü:ðLÎâ © — ¥…¥ +…¥i6…"ž^üÉUªðLÎ¥…¥ +…¥i8…"£·ü†…©RRÅÐk©aAÅÐd¥…¥ +…¥i…"£·ü†…©rrÅÐE©AaÅÐ>¥…¥ +…¥i …"£·ü —Š —¥…¥ +…¥i$…"£·ü —Š —â £‡ ¯¯ —©  —© —© —© —©€© ¨;i˜z„z„ z„ +z„kÔÔ +¨;8é@˜ƒ¥ƒ-¥ƒ/©…©…©ƒ©ƒ©ƒ©ƒ ©ƒ ©ƒ ©ÿÿƒ©ÿÿƒ©ÿÿƒ©ÿÿƒ©ƒ©ƒ©ƒ©ƒ1©"gý† +…¥ +ЩòÿL4Ö£ƒ)£ƒ+£ƒ%£ ƒ'£ ƒ!£ ƒ#£ƒ£ƒ£ƒ£ƒ£ƒ £ƒ£ƒ£1ðL2Öô¥ +H¥H£" ßüƒhhh£ƒ©8ãPI€0L2Ö©ƒ£)ƒ)£+ƒ+£%ƒ%£'ƒ'£!ƒ;£#ƒ=£ƒ7£ƒ9£ƒ£ƒ£ ƒ£ƒ5£ƒ3£ƒ?£?8ãPI€07£)ƒ)£+ƒ+£%ƒ%£'ƒ'£;ƒ!£=ƒ#£7ƒ£9ƒ£ƒ£ƒ£ƒ £5ƒ£3ƒL•Ï£%'ðLìÐ¥…¥ +…¥c?…§â ÉZ Ð©ƒ©ƒ©ƒ £ƒ£ƒ£ ƒ€4¥…¥ +…¥c?…§â Éz ÐJ©ƒ©ƒ©ƒ £ƒ£ƒ£ ƒ£)ƒ!£+ƒ#£;ƒ£=ƒ£7ƒ£9ƒ£ƒ£ƒ£ƒ £ƒ£ƒLãÕ©ñÿL4Ö£=LuÒ£5¢¨ʆ…£;Å£=åPI€0LuÒ£7ƒ £9ƒ £ƒ£ƒ©!…©ü…£=ª£;"8Æü¥…¥ +…¥c?…§)ÿ¢ë)ÿª©†…¥9H¥9ƒhƒ£…©` +…©ü…©"€ü£ƒ £ƒ £ƒ£ƒLZÒ¥…¥ +…¥c?…§)ÿ¢ª©†…¥9H¥9ƒhƒ£…©K +…©ü…©"€ü£ƒ £ƒ £ƒ£ƒ€x¥…¥ +…¥c?…§)ÿë)ÿ¢¨ʆ…¥9H¥9ƒhƒ£ƒ £ƒ £ƒ£ƒ€5¥…¥ +…¥c?…§)ÿƒ©ƒ©ÿÿƒ©ÿÿƒ £ƒ £ƒ £ƒ£ ƒ£)ƒ£+ƒ £ ƒ £ ƒ £…£…LûÔ£5¢¨ʆ…£;Å£=åPI€L\Ô£3¢¨ʆ…£;Å£=åPI€0L\Ô£)ƒ£+ƒ £ƒ£ƒ©=…©ü…£5¢¨ʆ…8£;åH£?åªh"8Æü¥…¥ +…¥c?…§)ÿ¢ë)ÿª©†…¥H¥ƒhƒ£ð£Ð£/…£-…£7‡£9 —£…©g…©ü…©"€ü£)ƒ£+ƒ £ƒ£ƒLIÔ¥…¥ +…¥c?…§)ÿ¢ª©†…¥H¥ƒhƒ£Ð£Ð£/…£-…£7‡£9 —£…©T…©ü…©"€ü£)ƒ£+ƒ £ƒ£ƒ€x¥…¥ +…¥c?…§)ÿë)ÿ¢¨ʆ…¥H¥ƒhƒ£)ƒ£+ƒ £ƒ£ƒ€5£9H£9ƒhƒ¥…¥ +…¥c?…§)ÿƒ ©ƒ £ƒ£ƒ £ ƒ£ ƒ£ƒ£ ƒ £ƒ£ƒLãÔ£3¢¨ʆ…8£;åH£?åªh†…¥Ã¥ãPI€C£)ƒ£+ƒ£+…£)…楃¥ƒ ¥…¥ +…¥c?…£…£…â §‡ £ƒ£ ƒ€£)ƒ£+ƒ£ƒ£ƒ £ƒ£ƒ£ƒ£ ƒ £7ƒ £9ƒ £…£…£=ª£;Ð胊ƒ¥LŸÕ£3¢¨ÊeHŠeªh†…£Å£åPI€08©ƒ©ƒ©ÿÿƒ ©ÿÿƒ ©ÿÿƒ©ÿÿƒ£ƒ£ƒ£ ƒ £ ƒ £ƒ£ƒ€£ƒ£ƒ£ ƒ £ ƒ ¥ƒ¥ƒ£ƒ£ƒ£ ƒ £ ƒ £ƒ£ƒ€£ƒ£ƒ£ ƒ £ ƒ ¥ƒ¥ƒ£ƒ!£ ƒ#£ƒ£ƒ£ ƒ£ ƒ£ƒ£ƒ£ƒ £5ƒ£3ƒ£?ƒ£%iƒ%£'iƒ'£!ƒ)£#ƒ+£%ƒ%£'ƒ'£ƒ;£ƒ=£ƒ7£ƒ9£ƒ£ƒ£ ƒ£ƒ5£ƒ3£ƒ?LУ1¨;i@˜z„ +z„kÔÔ +Ô ;8饃¥ƒ¥ƒ ¥ƒ£…£ … ·…§…¥ƒ¥ƒ£…£… ·…§… ·… +  ·…©ƒ£ƒ;i¢†…""½ü†…¥%ЩLÔݥɥé)£ƒ£ƒ¥H¦†¦ +†£ +… ¥e …h‡£ƒ €£ƒ ¥ƒ£É f£É/ð_£É\ðX£É€°©à…©ü…£"p_ü†ð©LÔÝ£ É©LÔÝ£ ƒ£ ƒ¦†¦ +†£ +…¥e…£‡£ƒL¤Ö£É °â ©ƒ ⠣ƒ €f£…£…§â É/ ÐLrÞ£…£…§â É\ ÐLrÞâ ©ƒ £…£…§â É Â °â ©ƒ ⠣ƒ €â £ƒ ⠣ƒ £…£ …£‡£ —£ ÉÐ¥…¥ +…£ : +…¥e…§É.ðI£ ÉðLõØ¥…¥ +…£ : +…¥e…§É.ðLõØ¥…¥ +…£ :: +…¥e…§É.ðLõØ£ +…¥e…©‡¢à ,© H£…£…¥i …†¥e…h⠇ ©LÔÝŠÃ © ƒ£ƒ€ ©.ƒ£ƒ£…£…¥i …†¥e…â £‡Â Šƒ£ª€Œ£ ƒ£ð2¥…¥ +…£: +…¥e…§ƒ£É ð£É.Ð £:ƒ£ƒ€Ê¦†¦ +†£ +…¥e…©‡£Ð©LÔÝ©ƒ£ƒ ¥…¥ +…£ +…¥e…§É ÐLfÞ©Ã %¥…¥ +…£ +…¥e…§É.ð +â £ƒ €©â ƒ ⠣ƒ £ƒ©Ã°'¥…¥ +…£: +…¥e…§É.ð £:ƒ£ƒ€Ò¢ †£ª£i †…© "—oüâ ©ƒ £)ÿƒ©ƒâ £ƒ ⠣ƒ £ƒ £ƒ£ ƒ£ƒ£ƒ ¥…¥ +…£ +…¥e…§ƒ£Ð â £ƒ LÜÜ£É ÐL Þ£É.Ð £à ðL Þ£ ÃLŒÜ£à ÐLŒÜ£É€K©â ƒ ¢µ†£¢"¯¡üƒ©€#:ð©#ª¿²ü)ÿƒ£ƒ€£ƒâ £ƒ £ƒ€ â £ƒ £ƒ£É}£ ª£:…ä.©â ƒ £ƒâ £ƒ ⠣ƒ £ƒ£ƒ£ ƒLGÞ£ ƒ£ ƒ £…£…¥i …¥c…â £‡Â â £ƒ ⠣ƒ £ƒ£ ƒ LEÜ£ÐL Ü©ä…©ü…£"p_ü†Ð{£ÉA©Zé⠃ ⠣ƒ €â £ƒ £Éa'©zà ⠩ƒ £8é ƒâ £ƒ £ƒ€ â £ƒ £ƒâ £ƒ ⠣ƒ £ƒ€$©_ƒ©â ƒ ⠣ƒ ⠣ƒ £ƒâ £ƒ ⠣ƒ £ƒ£ ƒ £ ƒ £ ƒ £…£…¥i …¥c …â £‡Â â £ƒ ⠣ƒ £ ƒ£ƒ£ ƒLGÞ£É Ð©â ƒ ⠣ƒ €4£à ð©â ƒ ⠣ƒ €â £ƒ £à LæÝâ £ƒ £…£…  ·â Éå Ð£…£…â ©  — £ÉУâ + + ⠃ ⠣ƒ €â £ƒ © #â É Â ð©#â É ð +â £ƒ €©â ƒ ⠣ƒ £JJ°N£Jâ ©ƒ ⠣ƒ €â £ƒ £‰ðâ ©ƒ ⠣ƒ €â £ƒ ⠣ƒ €â £ƒ £…£…â £ +— ©¨;i˜z„ z„ +z„k£ƒ©ƒ© ƒ £â + + ⠃ ⠣ƒ ⠣ƒ £ƒ£ ƒ£ƒ€'©â ƒ ⠣ƒ ⠣ƒ £ ƒ£ƒ£ ƒâ £ƒ ⠣ƒ £ƒ £ƒ£ƒL3Ú£ ƒ£ƒ L[Ù£…£…楃¥ƒLˆ×ÔÔ +Ô Ô;8é–¥… ¥…â ©ƒ ¥…¥…;iO¢†…"ðmü;i¢¢† +…â § ƒ æ â £ƒ ⠣ ÐLØá£â É% ð;iO¢†…£"MÕü¥ ƒ¥ƒLÚ詃 +£ +ƒâ © ƒ ©ÿÿƒâ § ƒ æ â £ƒ £â É0 Ð0â ©0ƒ ⠧ ƒ æ â £ƒ £ƒâ £ƒ ⠣ƒ" €O£â É- Ð%©ƒâ § ƒ æ â £ƒ £ƒâ £ƒ € £ƒâ £ƒ £ƒâ £ƒ ⠣ƒ" £â É* Ð.§æ榆¦ +†ªâ § ƒ æ â £ƒ Šƒ%â £ƒ €n£ +ƒâ £ƒ £â É0 D©9â à9£¢ +"ƒdü…£)ÿe8é0ƒâ § ƒ æ â £ƒ £ƒâ £ƒ €²¥…¥ +…£ƒ%â £ƒ £â É. ðLBáâ § ƒ æ â £ƒ £â É* Ð4§ƒæ楅¥… +£ƒâ § ƒ æ â £ƒ £ƒâ £ƒ €s©ƒ£ƒâ £ƒ £â É0 D©9â à9£¢ +"ƒdü…£)ÿe8é0ƒâ § ƒ æ â £ƒ £ƒâ £ƒ €²¥…¥… +£ƒâ £ƒ £ƒâ £ƒ €¥…¥… +£ƒâ £ƒ £â Él Ðd©ƒâ § ƒ æ â £ƒ £â Él Ð'©ƒâ § ƒ æ â £ƒ £ƒâ £ƒ € £ƒâ £ƒ £ƒ â £ƒ € £ƒ â £ƒ ⠣ Ð%;iO¢†…"Œü¨;i–˜z„z„ z„ +z„k©å…©ü…£)ÿ"É¥üLŽã ·…§…¥i…¥ƒ +¥ +ƒ ¥Ð;¢ƒŠƒ£ƒ£ƒ€¥ƒ¥ƒ©ƒ£ƒ£…£…¥c…§)ÿðL;ã£0£Ã° +£ƒ£ƒ€£ƒ£ƒ©# :Ð#£Ã%°;iO¢†…£""MÕü£ƒ£ƒ€Ô£ƒ£… +£…§)ÿð/£ƒ£:ƒ£ð"â §ƒ æ;iO¢†…£"MÕü£ƒ€Ê£ƒ£ƒ£ƒ£Ã%°;iO¢†…© "MÕü£ƒ€Ø¥ ƒ¥ƒ£ … +£ +…LÚ裃£ƒLY⩃£ƒ€ELÁç© +ƒ£ƒ€7§¨ææ;iO¢†…˜"MÕü¥ ƒ¥ƒLÚ詃£ƒ€ ©ƒ£ƒ©# :ðG ·…§…¥i… ·ƒ ·ƒ ·ƒ§ƒ¥ƒ +¥ +ƒ £ƒ-£ƒ+£ƒ)£ƒ'L`å©# :ÐL¬ä£â Éd ðE ·…§…¥i…¦¥ƒŠƒ©ƒƒ£ƒ£ƒ£ƒ£ƒ£ƒ£ƒ£ƒ£ƒ€G ·…§…¥i…¥ƒ¢¥ʃŠƒŠƒ£ƒ£ƒ£ƒ£ƒ£ƒ£ƒ£ƒ£ƒ£ƒ£ƒ£ƒ£ƒ£ƒ£ƒ£ƒ£ƒLHå£â Éd ð7§ƒæ棃©ƒƒƒ£ƒ£ƒ£ƒ£ƒ£ƒ£ƒ£ƒ£ƒ€;§ƒæ梣ʃŠƒŠƒŠƒ£ƒ£ƒ£ƒ£ƒ£ƒ£ƒ£ƒ£ƒ£ƒ£ƒ£ƒ£ƒ£ƒ£ƒ£ƒ£ƒ¥ƒ +¥ +ƒ £ƒ-£ƒ+£ƒ)£ƒ'£â Éd ÐL£-H;i¢†…;i'¢†…¢ 8©÷—ÈÈÊô© ƒ£ƒ£ƒ£ƒ£ƒ£ƒ€£ ƒ£-ƒ£+ƒ£)ƒ£'ƒ©ƒ£ƒ £ƒ£ƒ£ƒ£ƒ£ƒ©ƒƒƒ;i¢†…;i¢†…;i¢† +…"Xºüâ £ƒ £ƒ©ƒƒƒ;i¢†…;i¢†…;i¢† +…"Uºü© â à°3£â Éx ð ©ƒ£ƒ€ ©'ƒ£ƒ£câ ƒ ⠣ƒ €â £ƒ £ ƒ£ ƒ#©0cH;i1¢c†…h⠇ £ð£#ƒ £ƒ£ƒ£ƒ£ƒ£#É °Lãå©#:ð&£#ƒ£#ƒ;i/¢c†…â ©-‡Â £ƒ€£#ƒ£ƒ£ƒ©#:Ð#£Ã%°;iO¢†…£""MÕü£ƒ£ƒ€Ô£ƒ£:ƒ;iO¢†…;i/¢c†…§"MÕü£ƒ£ÐÒ£ƒ£ƒ£ƒ£Ã%°;iO¢†…© "MÕü£ƒ€Ø¥ ƒ¥ƒ£ … +£ +…LÚè ·…§…¥ƒ¥ƒ¥i…£H£ +…;i1¢†…£ª£"®Âýh;i/¢†…"Ì]üƒ£ƒ +©# :Ð#£ +Ã%°;iO¢†…£""MÕü£ +ƒ£ƒ +€Ô©ƒ£ƒ;i/¢c†…§)ÿÐ6£ +ƒ£ƒ£ƒ£Ã%°;iO¢†…© "MÕü£ƒ€Ø¥ ƒ¥ƒ€J£ƒ£ƒ;iO¢†…;i/¢c†…§"MÕü£ƒ€„;iO¢†…£"MÕü¥ ƒ¥ƒ£…£… LÉÞÔÔ +Ô Ô;8é8"ÜYü©ƒ£Dƒ£Fƒ £Hƒ£Jƒ££ƒ£ …£"ZYüƒ £ …£"SYüƒ¥ƒ â £ ÐLNë£â É% ðL¶õ£ …£"ZYüƒ £ …£"SYüƒ ¥ƒâ £ƒ £â É% ÐL¦õ©ƒƒƒ £ ƒ£ƒ£… +£…â £ƒ  £ƒ+£ƒ)£ ƒ'£+É@°aƒ©! …©ü…£ )ÿ"É¥ü©+ƒ"ÓYü£€6©+ƒ"ÓYü£€'©+ƒƒ€©+ƒ"ÓYü£€ ©ƒ"ÓYü£ƒ £)LFì£+ÉLuë£ â É0 {©9â à  p£ 8é0â ƒ ©#+ð-£' +ƒƒ£ + +ƒcƒ£)ÿcƒ"ÓYü£+ƒ £)ƒ£LJì£) +ƒƒ£ + +ƒcƒ£)ÿcƒ©€+ƒ"ÓYü£ƒ £LFì£ â É* ðL?ë©#+ð3§ƒæ楃¥ +ƒ£ ©ƒƒ€££ƒ £ƒ£+ƒ£)ƒ£€L§ƒæ楃¥ +ƒ£ƒ ©€+ƒ£ …8©åª©ƒƒŠ€£ƒ£ ƒ£ƒ £ƒ£ƒ£'ƒ£ƒ £ƒ£LJìâ É. Ð.©#+ð£¨;i8˜z„z„ z„ +z„k©+ƒ"ÓYü£LBì£ â Éz ðâ Ét ðâ ƒ€.©ƒÉð£Éð "ÓYü£+LBìâ ©lƒ€â ©hƒ ⠣ £â Éj Ð©+ƒ©ÿû#ƒ"ÓYü£€eâ Él Ð*©#+ð ©+ƒ€£+ƒ©ƒ©ÿû#ƒ"ÓYü£€3â Éh ðLØì©#+ð ©+ƒ€£+ƒ©ƒ©ÿý#ƒ"ÓYü£ƒ £)ƒ£'ƒ£…£"ZYüƒ £…£"SYüƒ¥ƒâ £ƒ £ƒ£ƒ£… +£ …â £ƒ  £ ƒ+£ƒ)£ƒ'£ƒ"£ƒ$£…£ …â £ƒ& £ ƒ£ƒ£ƒâ £ ðL¨é£&â Ép Ð:©ÿõ#ƒ€&£ƒ"£ƒ$¥…¥ +…â £ƒ& £+ƒ£)ƒ£'ƒ€Ç©ƒ£€£ƒ £&â ÉE ©Gâ Ã& °£&â Ée 7©gâ Ã& ,"\Zü"îYü©[…©ü…©ƒ¥ƒ¥ƒ ¥ƒ¥ƒ£L°ôâ £&ƒ £â ÉS ÐLSôâ Éc ÐLô:â És ÐLSô£&â Éd ÐLùï:â Éi ÐLùï©# ð&"\Züƒ¥ƒ"îYü£…£…¥ƒ¥ƒ¥ƒ ¥€L§ƒæ楃¥ƒ£ƒ©ƒ ©# ð©# У€£)ÿ¢ƒŠƒ £ €£ £ƒ£ƒ£ƒ £ ƒ©ùÿ# ƒ £"ƒ£$ƒ£ ƒ©9 …©ü…£&)ÿ"É¥ü©ïÿ# ƒ© +ƒ"åYü£ƒ £LQï£$…£""ZYüƒ £$…£""SYüƒ¥ƒ £â ÉV ð;£ …£…Æ¥ƒ¥ƒ© ƒ©#ð ©@ƒƒ€£©ƒ£ƒ £LQï£H£hƒ…£ … ·…ˆˆ·…ˆˆ·…§…ƒ¥ƒH£H£…£…·…§…"ÊYü"_üƒhh£ƒ£ƒ£ƒL¡õ©ƒ"åYü£€%©# ð ©` ƒ€£ ƒ©ƒ"åYü£ƒ £ƒ©# ð£Ð£ Ðâ ©ƒ€$£…;"hZü£ª£ "?ÂüH;i/…h8åâ ƒ£ ©ÿï# ƒ £ƒ£ƒ £ƒ£ƒâ £ƒ £ Lìð£ƒ"ÊYü©%H"PZüh"tZü£ƒ"ÊYü£&)ÿH"PZüh"tZü£"ƒ£$ƒ £ƒ£ƒ£L¡õ©# ð"\Zü¦¥iƒŠƒ€N§ƒæ楃¥ƒ£¢¨ʆ…©# ð(©# Ð +¥¢¨€¥I€)ÿ8逢¨ʆ…£©ïï# ƒ¥"8¢Šå¨Šåª˜†…©ƒƒ ¥ƒ¥€ +£ƒ ¥ƒ¥ƒ ©# ð£Ð£ Ðâ ©ƒ€%¢ +†;"hZü£ ª£"?ÂüH;i/…h8åâ ƒ£ £"ƒ£$ƒ â £ƒ £ ƒâ £ƒ  ©#ðN£J +ƒ £ )ÿ8ãPI€)â £ƒ ©# ð©@# Ð ©ïÿ# ƒ ƒ €£ â £€â £ ƒ ⠣ƒ €£ƒ â £  ©# ðc£)ÿ:…;i-¢e†…§â É0 Ð©ïŸ# ƒƒ â £ ƒ€%£ â ƒ ©@# ð £â ƒ£€â £ ⠣ £ ƒ â £€"©# ð £ â ƒ£€â £ ƒ £ ƒ â £ƒ  ©# ðL™ò©# ðE£)ÿƒ£ )ÿ8ãPI€£ ""Zücƒâ £ƒ  £ƒ â £ €£ƒ â £ ƒ ⠣€ +£ƒ â £ ƒ ⠣ƒ £ƒ £)ÿ8ãPI€'£ ƒ"ÊYü© H"PZüh"tZü£â ƒ £ ƒ £€È£ ƒâ £ƒ  £ €£ƒâ £ ƒ  £ƒ£ )ÿ8ãPI€0©ƒ €£ ""Züƒ ƒ ©# ðQ£ƒ "ÊYü©0H"PZüh"tZü©@# ð.£ ƒ © # Щxƒ€©Xƒƒ"ÊYü£H"PZüh"tZü£ €£ £ €[©# ðNâ © ƒ  ©# ðâ ©+ƒ €â £  ©# ðâ ©-ƒ €â £  £ƒ"ÊYü£ )ÿH"PZüh"tZü£€£ƒ £ £ƒ£ ƒ£)ÿ8ãPI€#£ƒ"ÊYü©0H"PZüh"tZü£:ƒ £ ƒ£€Îâ £ƒ  £â £  ð=£ƒ£ :â ƒ  "ÊYü£ )ÿ…;i-¢e†…§)ÿH"PZüh"tZü £€»£ƒ£ ƒ£ƒ £ƒ£ ƒ£Ljõ§ƒæ楃¥ƒâ £ƒ- ;"hZüŠƒ£ƒ£ƒ ¥ƒ¥ƒ£€]"\Zü"îYüƒ¥ƒ¥Ð ©Á¢üƒ Š€¥ƒ ¥ƒ©# Щÿÿƒ€£ƒƒ£…£ …£"ãaüƒ£ƒ£ƒ £ ƒ£ƒ£ƒ ©# Ð1£ƒ £ƒ£ à °£ƒ"ÊYü© H"PZüh"tZü£ :ƒ £€Û£€£ƒ £ƒ£ ƒ£…£…£ ƒ ££ ðL£ƒâ §ƒ 楃 ¥ƒ"ÊYü£)ÿH"PZüh"tZü£ð:ƒ£€ƒ£ :ƒ £ƒ£…£ …£€°£"ƒ£$ƒ£ƒ £ ƒ£ƒ£££ð£ƒ"ÊYü© H"PZüh"tZü£:ƒ£€Ý£ƒ£ƒ £ ƒ£ƒ££Lé£ ƒ£ƒ â £ƒ€â  £ƒ "ÊYü£)ÿH"PZüh"tZü£ LéÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÔÔ +Ô Ô¨;8éN˜ƒ¥ƒ¥ƒ¥…¥… +;i¢†…"Q\ýƒ£© L:£ + +ª¿ð£ + +ª¿…¿…â ©‡Â â £ƒG ⠩ƒ £G"–Yüâ ƒ £J©L:£‰ð© +L:¥ +Ð +©_…©ü… + ·ƒC©ƒE£CEЩH;iE¢†…£I"Œbüƒh£CEð(©€ÃC©ãE£Eª£CÐÊ:†…£E%ª£C%†ð +©ƒC©ƒE©ƒH©'â ƒ4  ·â É " ·…©â Å  ·)ÿƒ£ƒ€ ©ƒ£ƒ£ƒ5 ·É2¢€ ·…ä$ ·H£JJJJJJªh"Óü:Ð  ·ƒ£ƒ€ ©ƒ£ƒ£ƒ"© ×© ÷8 ·ª ·ÐÊ:†…¥ 7ª¥ 7†Ð ·… ·…€ +©…©…£H¢†…"óÓüƒŠƒ£Hª£"ÓüŠƒ7©ƒ9£79ЩL:£\… +£Z…¥ +ЩL:©ƒJ©ƒL£Jƒ +£Lƒ ©H;iL¢†…£I"Œbüƒh£ð©L:£4‰Ð?©?ÃJ©ãL°!©?…©…8£JåƒJ£LåƒL¥ƒ +¥ƒ €£ +ƒ +£ ƒ £ +ƒ?£ ƒA€£ +ƒ?£ ƒA£JÉ€£Lé°©L:©€Ã©ã°©€…©…¥ƒ +¥ƒ €£ƒ +£ƒ £4JJ£4J°â ©ƒ ⠣ƒ €£4J°©L:â ©ƒ ⠣ƒ "óÎücJHŠcNªhƒ$Šƒ&â £ƒ £ +ƒ;£ ƒ=£=…£;…£â É ðL¾¥Ð|£LH£Lh ZJƒ hƒ ©ƒ©ƒ©ƒ£ƒ£ƒ£ƒ£ +ª¿küð=£ +ª¿kü…d£ +Å£ å'£ƒ£…£…&¥ƒ¥ƒ£ƒ£ƒ£ƒ€¹£ƒ£ƒ€¥ƒ¥ƒ£L…£J…£…£…"óÓüƒ(Šƒ*£*…£(…&&¥ƒ +¥ƒ £ +iƒ +£ iƒ £H…d£ +eƒ +£ eƒ £ ª£ +ÐÊ:†…£H¢†…"óÓüƒ +Šƒ © ƒ©ƒ©ƒ©ƒ©õÿÃ(©ã*°7©õÿÃ(©ÿã*+â £ƒ £…£… £ƒ£ƒ£ +ƒ,£ ƒ.£ƒ(£ƒ*Lp©L:¥ðLN£Lª£J  †ÈˆðFjˆÐú¦ƒ +Šƒ ©ƒ©ƒ©ƒ£ƒ£ƒ£ƒ£ +ª¿]üð=£ +ª¿]ü…d£ +Å£ å'£ƒ£…£…&¥ƒ¥ƒ£ƒ£ƒ£ƒ€¹£ƒ£ƒ€¥ƒ¥ƒ£L…£J…£…£…"óÓüƒ +Šƒ ©õà +©ã °.£ …£ +…&¥ƒ +¥ƒ £ ª£ +i膅⠣ƒ €<â ©ƒ £ …£ +…©…©…"``üÐè†Fj¦i膅⠣ƒ ¦¥cH膅¥ª¥ÐÊ:†…£H¢†…"óÓüƒ +Šƒ ©ƒ©ƒ£"¢ †Èˆð +&ˆÐú¦†…£H¢†…"óÓüƒŠƒâ £ƒ £…£… £ƒ£ƒ£ +ƒ,£ ƒ.£ƒ(£ƒ*£?cH£CcªhƒŠƒ£.…£,…£5¢†…"``ücHŠcªhc(HŠc,ªhƒ0Šƒ2£0cCH£4cGªhƒ +Šƒ £ ª£ +ÐÊ:†…£Eª£CÐÊ:Iÿÿ¨ŠIÿÿª˜†…¥%ª¥%8ã0HŠã4ªhƒŠƒ£â É Ð9£cH£cªhƒ +Šƒ £cƒ£cƒ£ƒ£ƒ£ +ƒ£ ƒ£,ƒ,£.ƒ.L𣅣…£5¢†…"óÓü¥ðF£ª£ÐÊ:ƒ +Šƒ £iƒ£iƒ£iƒ£iƒ£ +ƒ£ ƒ£ƒ£ƒ£ƒ +£ƒ €£ƒ£ƒ£ƒ£ƒ£ƒ +£ƒ £…£…£5¢†…"óÓüc,HŠc0ªhƒŠƒ£ƒ£ƒ£ +ƒ£ ƒ£ƒ,£ƒ.¥ …¥…&&&&¥ƒ +¥ƒ £0c +H£4cªhƒ +Šƒ 8£ +ã?H£ãCªh†…£JÅ£Lå°©L:8£JãH£NãªhÚH£2…£0…£9¢†…"``ü†…hú8åHŠåªh8ã(HŠã,ªh†…¥ …¥…"óÓüƒ +Šƒ £â É Ð-©õÿà +©ã !£;=ÐFf ¥ ð â £ƒ L} ©L:£â É ðL– ©õÿà +©ã °r£;=Ð&¥ …¥…&©@Å©å &â £ƒ €p£4JJâ ©ƒ ⠣ƒ £=…£;… €P£;=Ð &©€Å ©å +â £ƒ €0©L:©õà +©ã 7£;=Ð+ &©€Å ©åâ £ƒ ⠣ƒ ¥ ƒ;¥ƒ=LP©L:£â ɠЩõà +©ã °©L:£H…¥…¥ +…©"—oü©$…©ü…¥…¥ +…© "usü¥…¥ +…¥i …£H"ädüâ ¥   — ¥…¥ +…¥i…£"ädüâ £5 — £â É ð +£"ƒ£ƒ€ ©ƒ£ƒ¥…¥ +…¥i…£"ädü£JÉ£Lé°¥…¥ +…¥i…£J"ädü€¥…¥ +…¥i …£Lª£J"~²üâ ©ø — ¥…¥ +…¥i…©?"ädü¥…¥ +…¥i…©ÿ"ädü¥…¥ +…¥i…£Aª£?"~²ü£â É ðL¢ ¥…¥ +…¥iC…£&ª£$"~²ü¥…¥ +…¥i$…£.ª£,"~²ü¥…¥ +…¥i,…©¢"~²ü¥…¥ +…¥i0…©"ädü¥…¥ +…¥i2…©"ädüâ ©€ @— ⠩) B— ©¹ …©ü…¥…¥ +…¥iG…©"usü€f¥…¥ +…¥i'…£&ª£$"~²ü¥…¥ +…¥i…£,"ädüâ ©€ $— ⠩) &— ©¥ …©ü…¥…¥ +…¥i+…©"usü¥…¥ +…¥iþ…©Uª"ädüô£C…£A…¥…¥ +…£I"Üeüƒh£ð©L:£â É ðLH ô£Cª£Ai膅¥…¥ +…£I"Üeüƒh£H…¥…¥ +…©"—oü¥…¥ +…©RR¢aA"~²ü¥…¥ +…¥iä…©rr¢Aa"~²ü¥…¥ +…¥iè…£ ª£ +ÐÊ:"~²ü¥…¥ +…¥iì…©¢"~²ü¥…¥ +…¥iþ…©Uª"ädüô£Cª£Ai膅¥…¥ +…£I"Üeüƒhô£Cª£AÐ膅¥…¥ +…£I"Üeüƒh£7ª£H"ƒdü…¥…¥ +…©"—oü£ƒ +£ƒ ©ƒ£ +ƒ£ ƒ£ƒ£Ã5°L8£â É ð£(ƒ +£*ƒ £ +ƒ +£ ƒ €¥ ƒ +¥ƒ £ +ƒ +£ ƒ £ +ƒ +£ ƒ £ +ƒ£ ƒ£ƒ£ƒ£7ã9㣃 +£ƒ £ +ƒ +£ ƒ €£7ƒ +£9ƒ £ +ƒ +£ ƒ £ +ƒ£ ƒ£H£…£…¥…¥ +…£I"ÜeüªhèÊð©L:£cH£cªhƒ +Šƒ 8£ãH£ãªhƒŠƒ£ƒ£ƒ£ +ƒ£ ƒ£ðLÈ £â É Ðâ © ƒ ⠣ƒ €Z£JÉ£Léâ ©ƒ ⠣ƒ €4£â É Ðâ ©ƒ ⠣ƒ €â ©ƒ ⠣ƒ ⠣ƒ ⠣ƒ £4‰Ð9£Jƒ£Lƒ©ƒ©ƒ £H¥…¥ +…;i¢†…£I"r¨ýªhèÊðŠL:©H©…©…£I"ŒbüªhèÊð©L:©L:£â É ÐH¥…¥ +…©øÿ¢ÿÿ"~²ü¥…¥ +…¥i…©ÿÿ¢ÿÿ"~²ü¥…¥ +…¥i…©ÿÿ¢ÿ"~²ü€A£â É ð©øÿƒ +©ÿÿƒ £ +ƒ +£ ƒ €©øÿƒ +©ÿƒ £ +ƒ +£ ƒ ¥…¥ +…£ ª£ +"~²ü£,ƒ +£.ƒ £ +ƒ£ ƒ£ƒ£ƒ£7ã9㣃 +£ƒ £ +ƒ +£ ƒ €£7ƒ +£9ƒ £ +ƒ +£ ƒ £ +ƒ£ ƒ£H£…£…¥…¥ +…£I"Üeüƒh£ð©¨;iN˜z„z„ z„ +z„k£H…¥…¥ +…©"—oü£cH£cªhƒ +Šƒ 8£ãH£ãªhƒŠƒ£ƒ£ƒ£ +ƒ£ ƒ£ðL㣃£ +ƒ£ ƒ£ƒL{ ÿÿÿÿÿ€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿ ÿÿÿ @ÿ€€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿôýìýüü!ü#ü%ü'ü)ü+ü-ü/ü=ü@üCüFüIüLüOüRüUüXü[ü^üaüdügü€à€@ð@Èþÿô†ü—ü+üüðü#üÅüÅüü}üü ü-ü7üÅüÅüžü˜ü3ü;ü¡üüFüwü¨üÙüüÂüçü ü1üüüüüüüüüüüßüüQüŠüÃü¨üÑüúü#üLüõü%üUü…üµüüüüüü3üWüÃü{üŸü¢üÎüúü&üRüüüüüüŸüÊüõü üKü'''''''''######''# ##'# '# '# ##'## ##'''# #''''''''''######## ########'''''''''''##'# ''''''''######## ''''''''######## gcJ''##'; #''# '''# ### ### '''# '#                                                                      gcJ gcJ; gcJ; gcJ; gcJ; gcJ; gcJ; gcJ; ; #' #''' ### ### #''' #''''''''''######'## #' #' #'## #''## ##'''# #'''# '##'' ########''''''''gcJ; ########'''''''' #'##''''# #''# #''# #''# #''# #''# #''# #''# #''# #''# #''# #''# #''# #''# #''# #''# #'''# #'''## ##''# ##'# '# '# ##'## ##'''# #''''''''''######## ########''''''''''# #'''## ##'## #' #' #'## #''## ##'''# #''''# #'''## ##''# ##'# '# '# ##'######'''''''''''''''''######## ########''''''''''# #'''## ##'## #' #' #'## #''######'''''''''7üµüüµü¿ü~üà üíütüú üüÄütüQüûüü¬ üûüÍ üËü’ü¦üü-ü§ü?üµüä üÃü üâ üŸü¡ü¸üüÉüüßü=üÑüÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÜ¡ÿÿ¡ÿÿR¡+¡ÿÿR¡(¡ÿÿR¡$¡ÿÿR¡ +¡ÿÿR¡ ¡ÿÿS¡ ¡ÿÿU¡¡ÿÿW¡¡ÿÿY¡¡ÿÿZ¡ ¡ÿÿ]¡ ¡ÿÿa¡¡ÿÿc¡¡ÿÿg¡ÿÿk¡ÿÿm¡ÿÿm¡ÿÿm¡ÿÿm¡ÿÿm¡ÿÿm¡ÿÿi¡ÿÿg¡¡ÿÿc¡¡ÿÿ_¡ +¡ÿÿ]¡ ¡ÿÿ[¡¡ÿÿY¡¡ÿÿX ¡¡ÿÿV ¡¡ÿÿT +¡¡ÿÿS¡"¡ÿÿR¡%¡ÿÿR¡)¡ÿÿR¡+¡ÿÿR¡ÿÿÿÿÿÿÿÿÿÿ 0¡ÿÿR0¡ÿÿR0¡ÿÿR0¡ÿÿR0¡ÿÿR0¡ÿÿR0¡ÿÿR0¡ÿÿR0¡ÿÿR0¡ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿa0¡ÿÿR0¡ÿÿR0¡ÿÿR0¡ÿÿv ¡ÿÿt¡ÿÿr¡ÿÿp¡ÿÿo¡ÿÿn¡ÿÿn¡ÿÿn¡ÿÿm¡ÿÿn¡ÿÿn¡ÿÿn¡ÿÿn¡ÿÿn¡ÿÿm¡ÿÿn¡ÿÿn¡ÿÿn¡ÿÿn¡ÿÿn¡ÿÿn¡ÿÿp¡ÿÿr¡ÿÿt ¡ÿÿv0¡ÿÿR0¡ÿÿR0¡ÿÿR0¡ÿÿÿÿÿÿÿÿÿÿ¡ÿÿ~¡ÿÿR¡(¡ÿÿR¡(¡ÿÿR¡(¡ÿÿR¡¡¡ÿÿR¡¡¡ÿÿR¡¡¡ÿÿR¡¡¡ÿÿR¡¡¡ÿÿR¡¡¡ÿÿR¡¡¡ÿÿR¡¡¡ÿÿR¡¡¡ÿÿR¡¡¡ÿÿR¡¡¡ÿÿR¡¡¡ÿÿR¡¡¡ÿÿR¡¡¡ÿÿR¡¡¡ÿÿR0¡ÿÿR0¡ÿÿR0¡ÿÿR0¡ÿÿR0¡ÿÿR0¡ÿÿR0¡ÿÿR0¡ÿÿR0¡ÿÿR0¡ÿÿÿÿÿÿÿÿÿÿÿÿm¡ÿÿp¡ÿÿh¡ÿÿc!¡ÿÿ_$¡ÿÿ]&¡ÿÿ[(¡ÿÿY*¡ÿÿW,¡ÿÿU-¡ÿÿU.¡ÿÿS ¡ ¡ÿÿS¡ ¡ÿÿR¡%¡ÿÿQ¡(¡ÿÿQ¡*¡ÿÿP¡*¡ÿÿP¡,¡ÿÿP¡,¡ÿÿP¡,¡ÿÿP¡,¡ÿÿP¡,¡ÿÿP¡*¡ÿÿP¡*¡ÿÿP¡(¡ÿÿQ¡&¡ÿÿR¡ ¡ÿÿR ¡ ¡ÿÿS.¡ÿÿT.¡ÿÿU,¡ÿÿW*¡ÿÿY(¡ÿÿ[&¡ÿÿ]$¡ÿÿ` ¡ÿÿc¡ÿÿh¡ÿÿo¡ÿÿÿÿå¡ÿÿ~¡ÿÿ~¡ÿÿ~¡¡ÿÿi¡¡ÿÿi¡¡ÿÿi¡¡ÿÿi¡¡ÿÿi¡¡ÿÿi¡¡ÿÿi¡¡ÿÿi¡¡ÿÿi¡¡ÿÿi¡¡ÿÿi¡¡ÿÿi¡¡ÿÿi¡¡ÿÿi¡¡ÿÿi0¡ÿÿR0¡ÿÿR0¡ÿÿR0¡ÿÿR0¡ÿÿR0¡ÿÿR0¡ÿÿR0¡ÿÿR0¡ÿÿR0¡ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ^O:ÿÿ3P:ÿÿ2Q:ÿÿ1R:ÿÿ~:ÿÿ~:ÿÿ~:ÿÿ~:ÿq ¡ ¡ ¡ ¡¡¡BK:ÿo¡ ¡¡¡¡¡BL:ÿm¡¡¡¡¡¡BM:ÿl¡¡¡¡¡¡BN:ÿk¡¡¡¡¡¡Œ:ÿj¡¡¡¡¡¡¡¡¡:ÿi¡¡¡¡¡¡¡¡¡Ž:ÿh¡¡¡¡¡¡¡¡¡:ÿg¡¡¡¡¡¡¡¡¡BG :ÿf¡¡¡¡¡¡¡¡¡BH :ÿe¡¡¡¡¡¡¡¡¡BI :ÿd¡¡¡¡¡¡¡¡¡BJ :ÿc¡¡¡¡¡¡¡¡¡ˆ :ÿb¡¡¡¡¡¡¡¡‰ :ÿa¡¡¡¡¡¡Š :ÿ`¡¡¡¡¡¡‹ :ÿ_¡¡¡¡¡¡BCž :ÿ^¡¡¡¡¡¡BDž :ÿ]¡¡ ¡¡¡¡BEž :ÿ\¡¡ ¡¡¡¡BFž :ÿ[¡¡¡¡¡¡„ž :ÿZ¡¡¡¡¡¡…ž :ÿY¡¡¡¡¡¡¡†ž :ÿX¡¡¡¡¡¡¡‡ž :ÿW¡¡¡¡¡¡¡B?Ÿž :ÿV¡¡¡¡¡¡¡B@Ÿž :ÿU¡¡ ¡¡¡¡¡¡BAŸž :ÿT¡¡ ¡ ¡¡¡¡¡¡BBŸž :ÿS¡¡ +¡¡¡¡¡¡¡€Ÿž :ÿR¡¡ +¡¡¡¡¡¡¡Ÿž :ÿQ¡¡ ¡¡¡¡¡¡¡‚Ÿž :ÿP¡¡ ¡¡¡¡¡¡¡ƒŸž :ÿO¡¡¡¡¡¡¡¡¡„Ÿž :ÿN¡¡¡¡¡¡¡¡¡…Ÿž :ÿM¡¡¡¡¡¡¡¡¡d1ru6Ÿž :ÿL¡¡¡¡¡b]•œ™fŸž :ÿK¡¡¡¡¡a?|œ‡QŸž :ÿJ¡¡¡¡¡_fš œu6Ÿž :ÿJ¡¡¡¡¡_Jƒ œ™fŸž :ÿJ ¡¡ ¡ + ¡ ¡^$l›œŒiPzœ‡QŸž :ÿÿTœ‘nYX0Pzœu6Ÿž :ÿÿ6xœ–p[X0Pzœ™fŸž :ÿÿ `—œšt\X0Pzœ‡QŸž :ÿÿCœ›y_X0Pzœu6Ÿž :ÿÿg›œ}b X +0Pzœ™fŸž :ÿÿQŠœ€e X 0Pzœ‡QŸž :ÿÿœ X0œŸž :ÿÿœ X0œŸž :ÿÿ œ X0œŸž ÿ:Ã:Mœ X0œŸž ÿ:Â:Mœ X0œŸž ÿ:Á:Mœ X0œŸž ÿ:À:Mœ X0œŸž ÿÿœ X0œŸž ÿÿœ X0œ Ÿž ÿÿœ X0œ!Ÿž ÿÿœ X0œ"Ÿž ÿÇMœ X0œ#Ÿž ÿÆMœ XU7, 0œ$Ÿž ÿÅMœ +XK  0œ%Ÿž ÿÄMœXV> * 0œ&Ÿž ÿÿœXN&/0œ'Ÿž ÿÿœXWD'0œ(Ÿž ÿÿœ€eXR/-0Pzœ)Ÿž ÿÿœ}M Gzœ*Ÿžÿ Ë MœŽV*! +!+^’œ+Ÿžÿ Ê Mœs8*) +!*=sœ,Ÿžÿ É MœwA*' +!*Ewœ-Ÿžÿ È Mœ˜h2*' +!*7kšœ.Ÿžÿÿ œ†R*% "*/a’ œ/ŸžÿÿL œq< *S„ œ‚O0Ÿžÿÿ `“œ”d, *Ew œ‹]2Ÿžÿÿ(j›œ}H*7kšœ—f5ŸÿžÏžRB{œšm4*/a’œšl.8ŸÿžÎžTQˆœ‰XV„ œu9;ŸÿžÍžUc—œ~I>ŸÿžÌžW3o› œ…T@Ÿÿÿ,F| +œcCŸÿÿ,Zœ™g#FŸÿÿ-f™œ›r5IŸÿÿ.;vx@LÿŸÓŸ¯ÿŸÒŸ°ÿŸÑŸ±ÿŸÐŸÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿi€‚…‚ ‡ƒ +‡ˆ‰ +ƒ ‰ Š Š ‹ ‹„… !†Ž#%‡&'‡ ‘(‘)’)’*“+‰%Š'•.•/–0Œ *—1—2˜ 3˜ 4™!5Ž$/š"6š#6&1›$8(3Ÿ)>“,8”-9¡+@¢,A–/<ÿ—0>£.C¤/E¦1Gš4B›6D¨4Jœ7Eœ7F©5K«7Nž:I¬8O®;R¢>N£>N±>V¥AQ²@X³AY©DVµB[©EV¶D\·E]­H[¸F_¹G`ºHaºIa»Ib±L_¼Kd¾Lf´Oc¿NgÀOh¸SgÂQkÃRl»UjÅTnÆUo¿XnÂ[qÊZtË[uÅ^uÍ]wÈ`xÏ_zÐ`{Ëc{Óc~ÔdÎe~ÖfÖg‚ÑhÒhØh„ÓiƒÙj†Úk‡Öl…Øm‡Üm‰ÙnˆÚn‰ßoŒÜp‹Üq‹ÝqŒàqÞrárŽßsŽàsŽâsátátãtâu‘äu‘ãv’äv’åv’åv“åw“æw“åw”æw”æx”çx•çy•èy–éz—é{—€ÿÿÿÿÿÿÿÿÿ¢¢¢£££¤¤¤¥¥¥¦¦¦§§§¨¨¨©©©ªªª«««¬¬¬­­­®®®¯¯¯°°°±±±²²²³³³´´´µµµ¶¶¶···¸¸¸¹¹¹ººº»»»¼¼¼½½½¾¾¾¿¿¿ÀÀÀÁÁÁÂÂÂÃÃÃÄÄÄÅÅÅÆÆÆÇÇÇÈÈÈÉÉÉÊÊÊËËËÌÌÌÍÍÍÎÎÎÏÏÏÐÐÐÑÑÑÒÒÒÓÓÓÔÔÔÕÕÕÖÖÖ×××ØØØÙÙÙÚÚÚÛÛÛÜÜÜÝÝÝÞÞÞßßßàààáááâââãããäääåååæææçççèèèéééêêêëëëìììíííîîîïïïðððñññòòòóóóôôôõõõööö÷÷÷øøøùùùúúúûûûüüüýýýþþþÿÿÿmüÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ\^ü\Fœü\ ßü\Ï«ü\®µü\'Íü\:±ü\ܱü\¾ü\I¿ü\%áü\ µü\©çü\Äsü\ÀÐü\0¢ü\²¢ü\Ÿü\eŒü\6žü\«ý\á“ü\5ìü\Tqü\Ëèü\£ ý\îéü\f„ü\Ä„ü\upü\Cvü\Caü\Ø^ý\Óý\µKý\h]ü\fü\·bü\e´ü\ïqü\tü\=rü\Ùrü\'sü\lzü\¿zü\¸|ü\†ü\àoü\6‹ü\ý†ü\‹rü\}xü\ºïü\4nüÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÂ0HÚZÔÔÔÔÔÔ +Ô ÔÔÔ + ‹©þ[©dëH««"Hoý«+z„ +z„z„z„ z„ +z„z„z„z„z„zúh@Â0HÚZÔÔÔÔÔÔ +Ô ÔÔÔ + ‹©þ[©dëH««"-jü«+z„ +z„z„z„ z„ +z„z„z„z„z„zúh@ûÂ8¢êýš©þ[©dëH««\ qüPÿÿ ÿ \ No newline at end of file diff --git a/roms/f256jr/toolbox.csv b/roms/f256jr/toolbox.csv new file mode 100644 index 0000000..f654ac5 --- /dev/null +++ b/roms/f256jr/toolbox.csv @@ -0,0 +1,19 @@ +"20","toolbox-20.bin" +"21","toolbox-21.bin" +"22","toolbox-22.bin" +"23","toolbox-23.bin" +"24","toolbox-24.bin" +"25","toolbox-25.bin" +"26","toolbox-26.bin" +"27","toolbox-27.bin" +"28","toolbox-28.bin" +"29","toolbox-29.bin" +"2A","toolbox-2A.bin" +"2B","toolbox-2B.bin" +"2C","toolbox-2C.bin" +"2D","toolbox-2D.bin" +"2E","toolbox-2E.bin" +"2F","toolbox-2F.bin" +"30","toolbox-30.bin" +"31","toolbox-31.bin" +"3F","toolbox-3F.bin" diff --git a/roms/f256k.zip b/roms/f256k.zip deleted file mode 100644 index ba7a6309ee2ce571f2f8b2a7539acf998b060046..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 125859 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 z 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
=OjU+S1VA-C@ogxK-R%5+rX{WoE^99jHAA^= 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 diff --git a/samples/hello/Makefile b/samples/hello/Makefile new file mode 100644 index 0000000..cec92be --- /dev/null +++ b/samples/hello/Makefile @@ -0,0 +1,68 @@ +# VPATH=.:../../module/Calypsi-remote-debug/src +DEBUGGER=../module/Calypsi-remote-debug/src + +UNIT := F256K +MEMORY := RAM + +# Define OS-dependent variables + +ifeq ($(OS),Windows_NT) + RM = del /F/Q +else + RM = rm -f +endif + +# Define model-specific variables, including tools, source files, compiler flags, etc. + +ifeq ($(UNIT),F256K) + CPU=w65816 + C_SRCS_DEBUGGER=$(DEBUGGER)/agent.c $(DEBUGGER)/c256-uart.c $(DEBUGGER)/low_level_WDC65816.s + SRCS_FOR_UNIT= + CFLAGS_FOR_UNIT=-DMODEL=17 -DCPU=255 --code-model large --data-model large --target f256 + + ifeq ($(MEMORY),ROM) + LDFLAGS_FOR_UNIT=clib-lc-ld.a --rtattr printf=medium --cstartup=f256 # C256/f256-flash.scm + else + LDFLAGS_FOR_UNIT=f256-plain.scm clib-lc-ld.a --rtattr printf=medium --cstartup=f256 + endif +endif + +ifeq ($(CPU),w65816) + CC=cc65816 + AS=as65816 + LD=ln65816 + AR=nlib +endif + +INCLUDES=-I. -I./include +CFLAGS=$(INCLUDES) $(CFLAGS_FOR_UNIT) -l # -l -D_CALYPSI_MCP_DEBUGGER +ASFLAGS=$(INCLUDES) --data-model large --code-model large + +ifeq ($(MEMORY),ROM) + LDFLAGS=--rom-code $(LDFLAGS_FOR_UNIT) --list-file toolbox.map +else + LDFLAGS=$(LDFLAGS_FOR_UNIT) --list-file toolbox.map +endif + +SRCS = hello.c header.s $(SRCS_FOR_UNIT) # $(C_SRCS_DEBUGGER) +OBJS = $(patsubst %.s,%.o,$(patsubst %.c,%.o,$(SRCS))) +OBJS4RM = $(subst /,\\,$(OBJS)) +LIBS = ../../client/src/toolbox.a + +.PHONY: clean + +hello.s37: $(OBJS) $(LIBS) + $(LD) $(LDFLAGS) --output-format s37 -o $@ $^ + +# Build the object files from C +%.o: %.c + $(CC) $(CFLAGS) -o $@ $^ + +# Build the object files from assembly +%.o: %.s + $(AS) $(ASFLAGS) -o $@ $^ + +# Clean up after a build +clean: + $(RM) $(OBJS4RM) *.s37 *.o *.a *.lst + diff --git a/samples/hello/f256-plain.scm b/samples/hello/f256-plain.scm new file mode 100644 index 0000000..ee33d97 --- /dev/null +++ b/samples/hello/f256-plain.scm @@ -0,0 +1,19 @@ +(define memories + '( + (memory LoMem + (address (#x0000 . #xbfff)) + (type ANY)) + (memory Vector (address (#xffe4 . #xffff))) + (memory Banks + (address (#x10000 . #x7ffff)) + (type ANY) + (section (header #x10000))) + (memory DirectPage + (address (#x00c000 . #x00c0ff)) + (section (registers ztiny))) + + (block stack (size #x1000)) + (block heap (size #x1000)) + (base-address _DirectPageStart DirectPage 0) + (base-address _NearBaseAddress LoMem 0) + )) diff --git a/samples/hello/header.s b/samples/hello/header.s new file mode 100644 index 0000000..21b9827 --- /dev/null +++ b/samples/hello/header.s @@ -0,0 +1,10 @@ + .extern __program_start + + .section header + +signature: .byte 0xf8, 0x16 +version: .byte 0 +start: .long __program_start +icon: .long 0 +clut: .long 0 +name: .asciz "hello" diff --git a/samples/hello/hello.c b/samples/hello/hello.c new file mode 100644 index 0000000..0b0b18e --- /dev/null +++ b/samples/hello/hello.c @@ -0,0 +1,10 @@ +#include "../../client/src/include/toolbox.h" + +#include + +int main(int c, char * argv[]) { + char * message = "Hello, Foenix Toolbox!\n"; + sys_chan_write(0, (uint8_t *)message, strlen(message)); + + while (1) ; +} \ No newline at end of file diff --git a/samples/hello/hello.lst b/samples/hello/hello.lst new file mode 100644 index 0000000..ca3ce8a --- /dev/null +++ b/samples/hello/hello.lst @@ -0,0 +1,72 @@ +############################################################################### +# # +# Calypsi ISO C compiler for 65816 version 5.5 # +# 03/Sep/2024 22:57:21 # +# Command line: -I. -I./include -DMODEL=17 -DCPU=255 --code-model large # +# --data-model large --target f256 -l -o hello.o hello.c # +# # +############################################################################### + + \ 000000 .rtmodel version,"1" + \ 000000 .rtmodel codeModel,"large" + \ 000000 .rtmodel dataModel,"large" + \ 000000 .rtmodel core,"65816" + \ 000000 .rtmodel huge,"0" + \ 000000 .rtmodel target,"f256" + \ 000000 .extern _Dp + \ 000000 .extern _Vfp + \ 000000 .extern strlen + \ 000000 .extern sys_chan_write +0001 #include "../../client/src/include/toolbox.h" +0002 +0003 #include +0004 +0005 int main(int c, char * argv[]) { + \ 000000 .section farcode,text + \ 000000 .public main + \ 000000 main: + \ 000000 d4.. pei dp:.tiny (_Dp+8) + \ 000002 d4.. pei dp:.tiny (_Dp+10) +0006 char * message = "Hello, Foenix Toolbox!\n"; + \ 000004 a9.... lda ##.word0 `_StringLiteral_[72,101,108,108,111,44,32,70,111,101,110,105,120,32,84,111,111,108,98,111,120,33,10]` + \ 000007 85.. sta dp:.tiny (_Dp+8) + \ 000009 a9.... lda ##.word2 `_StringLiteral_[72,101,108,108,111,44,32,70,111,101,110,105,120,32,84,111,111,108,98,111,120,33,10]` + \ 00000c 85.. sta dp:.tiny (_Dp+10) +0007 sys_chan_write(0, (uint8_t *)message, strlen(message)); + \ 00000e a5.. lda dp:.tiny (_Dp+8) + \ 000010 85.. sta dp:.tiny _Dp + \ 000012 a5.. lda dp:.tiny (_Dp+10) + \ 000014 85.. sta dp:.tiny (_Dp+2) + \ 000016 22...... jsl long:strlen + \ 00001a 48 pha + \ 00001b a5.. lda dp:.tiny (_Dp+10) + \ 00001d 48 pha + \ 00001e a5.. lda dp:.tiny (_Dp+8) + \ 000020 48 pha + \ 000021 a90000 lda ##0 + \ 000024 22...... jsl long:sys_chan_write +0008 +0009 while (1) ; + \ 000028 68 pla + \ 000029 68 pla + \ 00002a 68 pla + \ 00002b 80fe `?L4`: bra `?L4` + \ 000000 .section cfar,rodata + \ 000000 .pubweak `_StringLiteral_[72,101,108,108,111,44,32,70,111,101,110,105,120,32,84,111,111,108,98,111,120,33,10]` + \ 000000 `_StringLiteral_[72,101,108,108,111,44,32,70,111,101,110,105,120,32,84,111,111,108,98,111,120,33,10]`: + \ 000000 48656c6c .byte 72,101,108,108,111,44,32,70,111,101,110,105,120,32,84,111,111,108,98,111,120,33,10,0 + \ 000004 6f2c2046 + \ 000008 6f656e69 + \ 00000c 7820546f + \ 000010 6f6c626f + \ 000014 78210a00 +0010 } + +########################## +# # +# Memory sizes (decimal) # +# # +########################## + +Executable (Text): 45 bytes +Constant __far : 24 bytes diff --git a/samples/hello/hello.s37 b/samples/hello/hello.s37 new file mode 100644 index 0000000..15ea2f4 --- /dev/null +++ b/samples/hello/hello.s37 @@ -0,0 +1,139 @@ +S02700000000484452202D2047656E6572617465642062792043616C79707369206C6E36353831360A +S31E0000000018FBC238A259209AA900C05BA900006412EB48ABAB221102017D +S31D00000019A902008506A909008504A902008502A90000850022230701AB +S32300000031A900008506A95A008504A901008502A98F008500A20000A90010225B0A011A +S3100000004FA9000022BA02015C31050185 +S3070000FFFC0000FD +S31A00010000F8160000000000000000000000000068656C6C6F00C2 +S31D0001001548656C6C6F2C20466F656E697820546F6F6C626F78210A00F1 +S30600010210DB0B +S306000102116B7A +S30A00010212221002016B40 +S30E00010217A602A5002270E0FF6BAE +S31000010220B704850A8888B70485086BBF +S3130001022BA8E220A50A48C220A5083A48986B09 +S31400010239A40C8400A40E840218A500690A006BA8 +S31800010248A50648A50448A602A5002274E0FFAA68688A6B87 +S31B0001025B7A100EA90000AA38E500A88AE502AA986BA500A6026B00 +S31B00010271A01000B70C85028888B70C850038A500A00600F70C6B2D +S31E00010287A5008504A5028506A70429FF00D00638A504E5006BE60480EFC4 +S31F000102A0AAA90200860038E500500349008010068A223906016BA900006BA8 +S325000102BAD408D40AA915008508A90100850AA5088500A50A85022287020148A50A48A508DF +S312000102DA48A900002214E0FF68686880FE54 +S325000102E7AF290101C92000B020AF2901010A0AAAA5009F2B0101A5029F2D0101AF29010105 +S312000103071A8F290101A900006BA901006BE5 +S32500010314D406A40485046406A9000048488A4A900FAA18A30165048301A303650683038A2D +S31500010334F0060604260680E668FA84047A84066BC7 +S325000103445A5AAAA900008301E000809005A90B00801D8A4A4A4A4AA8A301A201008400E4B8 +S3170001036400B00C1A8301984A8303A8A30180EB7A7A6BA8 +S32500010376A5000502D010A9AB018500A90100850222AB06018007A90100226F0B01AA8600F7 +S31D00010396A5001010860038A90000E5008F0E0201A9FFFF6BA900006B71 +S325000103AED408D40A5A5A5A8301A5008508A502850AA5048305A3058303A3053A8305A90002 +S325000103CE00C303B016A5088504A50A8506E608E220A3018704C220A30580DAA602A5007A42 +S30E000103EE7A7A7A840A7A84086B92 +S325000103F75A8301A301A2060022140301AABF2D0001F035A50448A50248A50048A92D008597 +S3250001041700A901008502A307A2060022140301850418A50065048500A00400B7002208E068 +S31200010437FFAA6868688A8003A9FFFF7A6B37 +S325000104445A8301A301A2060022140301AABF2D0001F035A50448A50248A50048A92D008549 +S3250001046400A901008502A307A2060022140301850418A50065048500A00400B7002214E00F +S31200010484FFAA6868688A8003A9FFFF7A6BEA +S32500010491D408D40AD40CD40E5A8301A5008508A502850AA301A301A83AAA640CA50C840CFD +S325000104B1C50CB019A508850CA50A850EE608A704E604E220870CC2208A830180D8A602A55D +S314000104D1007A7A840E7A840C7A840A7A84086B0C +S325000104E0A901008F0702018FDC01011A8FEE01018FC301018FD50101A9F1018FAB0101A972 +S3250001050001008FAD0101A9D8018FAF0101A901008FB10101A9BF018FB30101A901008FB54C +S316000105200101A9DD058F0A0201A901008F0C02016BE7 +S32500010531D408D40A5A5A8301AF0A02010F0C0201F010AF0C0201850AAF0A02018508222BF4 +S325000105510201AF2901013A8303A303100FA301221202017A7A7A840A7A84086B0A0AAABF5C +S31B000105712D0101850ABF2B01018508222B0201A3033A830380D32D +S325000105875AA903008301A3018301A30138E9100050034900803005A9FFFF8031A301A206D1 +S325000105A70022140301AABF2D0001D023A92D008500A901008502A301A206002214030185D2 +S31B000105C70418A50065048500A00200B7007A6BA3011A830180B4B4 +S325000105DDD408D40AA900008500850222760301AFB90101850AAFB701018508A508050AD072 +S325000105FD1FAFF5010122A00201AFDC010122A00201AFC3010122A002017A840A7A84086B49 +S3210001061DA00400B70822390601A00200B7088502A70885008508A502850A80BFD7 +S325000106395A8301A301A2060022140301AABF2D0001F05AA92D008500A901008502A301A283 +S32500010659060022140301850418A50065048500A00400B7002254E0FFA22D008600A201005E +S325000106798602A301A2060022140301850418A50065048500A90000A004009700A301A206E8 +S317000106990022140301AAA900009F2D0001A900007A6B60 +S325000106ABD408D40A5A5AA900008301A5000502F05CA00E00B700850A8888B7008508A301A9 +S325000106CB8303A508050AD004A3038043A90200A016003708F01AA5088500A50A85022276DF +S325000106EB03018301A3013004A3038301A3018004A3038301A00200B7088502A7088500A34D +S31D0001070B018303A5008508A502850A80B5A3017A7A7A840A7A84086B9A +S32500010723D408D40AD40CD40EA5048508A506850AA500850CA502850EA50C8500A50E8502E3 +S32500010743A500C508A502E50AB04CA00400B70CC8C8170CF01FB70C85068888B70C85048830 +S3250001076388B70C8502A70C8500A00800B70C229104018018C8C8B70C8504A00200B70C85E4 +S3250001078302A70C8500A9000022AE030118A50C690A00850C80A27A840E7A840C7A840A7A11 +S308000107A384086B55 +S325000107A6D408D40AD40CD40E5AA500850CA502850EA5048508A506850AA70822440301A8B5 +S325000107C6980A0A8301AAA3010A83018A1863018301A60EA50C18690A0018630186028500FD +S325000107E6980A0A8301AAA3010A83018A186301830118A50C690A00850C18A50C6301850CCB +S32500010806A00600B70C85068888B70C8504A5040506F02BA704F027A704AAA708850CE40C65 +S32500010826B01CA5048500A5068502C8C8B704850E8888B704850C8504A50E850680CFA50882 +S325000108469700A50AC8C89700A500C8C89708A502C8C89708A504A004009708A506C8C897B6 +S3250001086608A5040506F00CA508C8C89704A50AC8C897047A7A840E7A840C7A840A7A840863 +S306000108866BFF +S32500010887D408D40AD40CD40E5AA8A506AAA50418690F009001E8860A8508A50A29FFFFAA28 +S325000108A7A50829F0FF860A850898A20000186504488A6506AA6886068504A50629FFFFAAAD +S325000108C7A50429F0FF860E850CA50C38E50883011867008700A60AA508A0020097008AC8DC +S325000108E7C89700B70085068888B7008504A904008704A8B70085068888B7008504A900805E +S325000109079704A60AA508186904009001E886068504A30138E908008704A904009704A60E6A +S32500010927A50C38E90400B001CAA0060097008AC8C89700B700850A8888B7008508A9040023 +S325000109478708A90080070448C8C8B700850A8888B700850868A00200970822A60701A90131 +S30B00010967007A5CC40A01DE +S3250001096DD408D40A5A5A5A8303A5008508A502850A228705018305A30510034C470AA90075 +S3250001098D008301A901002303C90100D00BA901008301A30183018004A3018301A90200237A +S325000109AD03C90200D00BA902008301A30183018004A3018301A903002303C90300D00BA955 +S325000109CD03008301A30183018004A3018301A904002303C90400D00DA90C0003018301A34B +S325000109ED0183018004A3018301A30148A60AA5082250E0FFAA688A8301A3013038A305A2A2 +S32500010A0D060022140301AAA901009F2D0001A22D008600A201008602A305A2060022140358 +S32500010A2D01850418A50065048500A301A004009700A305800FA9FFFF800AA917008F0E02C7 +S31300010A4D01A9FFFF7A7A7A7A840A7A84086B05 +S32500010A5BD408D40AD40CD40EA83B38E90A001B988301A500850CA502850EA5048508A50662 +S32500010A7B850AA90000870CA290008604A50C8500A50E8502224102018500A9000022AE03F6 +S32500010A9B01A901008309A309C90C009029A5088504A50A8506A50C8500A50E8502A301221D +S32500010ABB8708013B18690A001B7A840E7A840C7A840A7A84086B3A0A0A83058303A3050A06 +S32500010ADB83051863038303A3090A0A83078305A3070A83071863058305A60EA50C18690A60 +S32500010AFB00186305DA4822390201850018A5006307850068FAA0040097008AC8C89700A3B2 +S32500010B1B090A0A83058303A3050A83051863038303A3093A0A0A8305AAA3050A83058A1842 +S32500010B3B63058305A60EA50C18690A00186305DA4822390201850018A5006307850068FA20 +S31900010B5BA0080097008AC8C89700A3091A8303A3034C9F0AA8 +S32500010B6FD408D40AD40CD40E5A5A8301A500850CA502850EA00400B70C850010034CB80C2C +S32500010B8FA90200A01600370CD0034CB80CA00600B70CC8C8170CD006A900004CBB0CA00E5C +S32500010BAF00B70CA00600D70CD00FA01000B70CA00800D70CD0034CAD0CA01200B70CA00603 +S32500010BCF00D70CF0034CB30CA01400B70CA00800D70CF0034CB30C22710201AAC8C8B70C8B +S32500010BEF85028888B70C85008508A502850A8A8303A3038504A5088500A50A8502A00400F2 +S32500010C0FB70C22440401AAE0FFFFD013A01800E220A902170C970CC220A9FFFF4CBB0CA5B9 +S32500010C2F088500A50A8502860418A50065048500A303860438E504AAA301F015A5008508D0 +S32500010C4FA502850A8A83036404A5048604C50490A0A00600B70CA00E00970CA00800B70C7F +S32500010C6FA01000970CE8CAF035B70C85068888B70C8504C8C8B70C850A8888B70C8508E662 +S32500010C8F08A508970CA50AC8C8970CA700E600E2208704C2208A3A8301A301AA80C7227198 +S32000010CAF02018008A900008003A9F7FF7A7A7A840E7A840C7A840A7A84086B4A +S32500010CCAD408D40AD40CD40E5A5A5A5AA5008305A5028307A98F008301A901008303A3052D +S32500010CEA0307D0034C190EA307AAA30538E9040086028500A9FF7FA0020037009700A50029 +S32500010D0A8504A502850618A50467008504B70485083066A5048508A506850A18A5086704D8 +S32500010D2A8508A00A00B704850E8888B704850CA00400B704970CC8C8B704970C8888B70406 +S32500010D4AC8C81704F017B704850E8888B704850CA00800B704970CC8C8B704970CA704186F +S32500010D6A67008700A90080A00200370807009708A60AA50883058A8006A5048305A5068370 +S32500010D8A07A5008504A502850638A504F7008504B7048508305DA00A0022200201A0040012 +S32500010DAAB7049708C8C8B70497088888B704C8C81704F01122200201A00800B7049708C858 +S32500010DCAC8B7049708A7001867048704A3078502A3058500A90080A002003700070448A3D5 +S32500010DEA098502A3078500689700A606A50483058A8006A5008305A5028307A3078506A301 +S32500010E0A058504A3038502A301850022A607017A7A7A7A7A840E7A840C7A840A7A84086B96 +S32500010E2AD408D40AD40CD40E3B38E90E001BA5008508A502850AA9000083018303A21600CD +S32500010E4AA888A508050AD0034CBA0F981A83051A1A9B3708F018A5088500A50A850222765D +S32500010E6A0301AAAF0E02018305830B8A80058A830BA305830DAFAB0101C508D008AFAD0120 +S32500010E8A01C50AF020AFAF0101C508D008AFB10101C50AF010AFB30101C508D013AFB501B2 +S32500010EAA01C50AD00BA30B8305A30D83014CC20FA9AB018500A901008502A00E00B70085FA +S32500010ECA068888B7008504A303A5040506F065A508C504F0034C980FA50AC506F0034C984F +S32500010EEA0FA00C00B700C504D01AC8C8B700C506D012A70488889700A00200B704A00E006B +S32500010F0A97008013A303850EA301850CA704870CA00200B704970CA01000B700C504D014D6 +S32500010F2AC8C8B700C506D00CA30188889700A303C8C89700A00400B70822A002018301A34B +S32500010F4A0DD00CA301AAAF0E020183058A8006A30B8305A30D8301A00600B708C8C8170873 +S32500010F6AF01C98A01800370829FF00D011A00800B70885028888B708850022CA0C01A508D4 +S32500010F8A8500A50A850222CA0C01A3018028A5048301A5068303A00200B704850EA70485C2 +S32500010FAA0C8307A50E83098506A30785044CD30E8A8305988301A301A301F00BA3058F0EAA +S32400010FCA0201A9FFFF8003A90000A83B18690E001B987A840E7A840C7A840A7A84086B77 +S30F000200002D00010000000000E301DC +S503008874 +S70500000000FA diff --git a/src/Makefile b/src/Makefile index afa2b91..150697b 100644 --- a/src/Makefile +++ b/src/Makefile @@ -40,19 +40,19 @@ else ifeq ($(UNIT),C256_FMX) else ifeq ($(UNIT),F256) CPU=w65816 C_SRCS_DEBUGGER=$(DEBUGGER)/agent.c $(DEBUGGER)/c256-uart.c $(DEBUGGER)/low_level_WDC65816.s - SRCS_FOR_UNIT=C256/jumptable.s C256/io_stubs.c C256/extras.s C256/iecll.s - CFLAGS_FOR_UNIT=-DMODEL=2 -DCPU=255 --code-model large --data-model large + SRCS_FOR_UNIT=cartridge.c C256/jumptable.s C256/io_stubs.c C256/extras.s C256/iecll.s C256/interrupts.s C256/f256-cstartup.s + CFLAGS_FOR_UNIT=-DMODEL=2 -DCPU=255 --code-model large --data-model large --target f256 ifeq ($(MEMORY),ROM) - LDFLAGS_FOR_UNIT=C256/f256-flash.scm clib-lc-ld.a --rtattr printf=medium + LDFLAGS_FOR_UNIT=C256/f256-flash.scm clib-lc-ld.a --rtattr printf=medium --cstartup=f256 else - LDFLAGS_FOR_UNIT=C256/f256-ld_lc.scm clib-lc-ld.a --rtattr printf=medium + LDFLAGS_FOR_UNIT=C256/f256-ld_lc.scm clib-lc-ld.a --rtattr printf=medium --cstartup=f256 endif else ifeq ($(UNIT),F256K) CPU=w65816 C_SRCS_DEBUGGER=$(DEBUGGER)/agent.c $(DEBUGGER)/c256-uart.c $(DEBUGGER)/low_level_WDC65816.s SRCS_FOR_UNIT=cartridge.c C256/jumptable.s C256/io_stubs.c C256/extras.s C256/iecll.s C256/interrupts.s C256/f256-cstartup.s - CFLAGS_FOR_UNIT=-DMODEL=17 -DCPU=255 --code-model large --data-model large + CFLAGS_FOR_UNIT=-DMODEL=17 -DCPU=255 --code-model large --data-model large --target f256 ifeq ($(MEMORY),ROM) LDFLAGS_FOR_UNIT=C256/f256-flash.scm clib-lc-ld.a --rtattr printf=medium --cstartup=f256 @@ -92,13 +92,13 @@ toolbox.raw: $(OBJS) $(LIBS) $(LD) $(LDFLAGS) --raw-multiple-memories --output-format raw -o $@ $^ dev/devices.a: - $(MAKE) --directory=dev + $(MAKE) UNIT=$(UNIT) --directory=dev snd/sound.a: - $(MAKE) --directory=snd + $(MAKE) UNIT=$(UNIT) --directory=snd fatfs/fatfs.a: - $(MAKE) --directory=fatfs + $(MAKE) UNIT=$(UNIT) --directory=fatfs # Build the object files from C %.o: %.c diff --git a/src/boot.c b/src/boot.c index 3ef40d8..26c2389 100644 --- a/src/boot.c +++ b/src/boot.c @@ -16,7 +16,7 @@ #include "dev/fsys.h" #include "dev/channel.h" #include "dev/console.h" -#include "dev/kbd_f256k.h" +#include "dev/kbd_f256.h" #include "dev/txt_screen.h" #include "dev/sprites.h" #include "dev/tiles.h" @@ -501,6 +501,7 @@ void boot_screen() { jiffies_target = timers_jiffies() + 60 * 15; while (jiffies_target > timers_jiffies()) { + // kbd_handle_irq(); unsigned short scancode = kbd_get_scancode(); if (scancode > 0) { short selected = sc_to_function(scancode); diff --git a/src/dev/Makefile b/src/dev/Makefile index fb5431d..319e0a5 100644 --- a/src/dev/Makefile +++ b/src/dev/Makefile @@ -38,14 +38,14 @@ else ifeq ($(UNIT),F256) AR=nlib SRCS_FOR_UNIT=txt_f256.c kbd_f256.c kbd_f256jr.c indicators_c256.c interrupts_f256.c sdc_f256.c iec.c # timers_c256.c - CFLAGS_FOR_UNIT=-DMODEL=2 -DCPU=255 --code-model large --data-model large # --target Foenix + CFLAGS_FOR_UNIT=-DMODEL=2 -DCPU=255 --code-model large --data-model large --target f256 else ifeq ($(UNIT),F256K) CC=cc65816 AS=as65816 AR=nlib SRCS_FOR_UNIT=txt_f256.c kbd_f256.c kbd_f256k.c indicators_c256.c interrupts_f256.c sdc_f256.c iec.c # timers_c256.c - CFLAGS_FOR_UNIT=-DMODEL=2 -DCPU=255 --code-model large --data-model large --target f256 + CFLAGS_FOR_UNIT=-DMODEL=17 -DCPU=255 --code-model large --data-model large --target f256 endif INCLUDES=-I.. -I../include diff --git a/src/fatfs/Makefile b/src/fatfs/Makefile index 3f73b09..3b4adf2 100644 --- a/src/fatfs/Makefile +++ b/src/fatfs/Makefile @@ -29,7 +29,17 @@ else ifeq ($(UNIT),C256_FMX) else ifeq ($(UNIT),F256) CPU=w65816 SRCS_FOR_UNIT=toolbox_bdev.c - CFLAGS_FOR_UNIT=-DMODEL=0 -DCPU=255 --code-model large --data-model large + CFLAGS_FOR_UNIT=-DMODEL=2 -DCPU=255 --code-model large --data-model large --target f256 + + ifeq ($(MEMORY),ROM) + LDFLAGS_FOR_UNIT=C256/flash-f256.scm clib-lc-ld.a --rtattr printf=medium + else + LDFLAGS_FOR_UNIT=C256/ld_lc_f256.scm clib-lc-ld.a --rtattr printf=medium + endif +else ifeq ($(UNIT),F256K) + CPU=w65816 + SRCS_FOR_UNIT=toolbox_bdev.c + CFLAGS_FOR_UNIT=-DMODEL=17 -DCPU=255 --code-model large --data-model large --target f256 ifeq ($(MEMORY),ROM) LDFLAGS_FOR_UNIT=C256/flash-f256.scm clib-lc-ld.a --rtattr printf=medium diff --git a/src/snd/Makefile b/src/snd/Makefile index cc834b3..4ff824d 100644 --- a/src/snd/Makefile +++ b/src/snd/Makefile @@ -38,7 +38,14 @@ else ifeq ($(UNIT),F256) AR=nlib SRCS_FOR_UNIT=psg.c codec_c256.c sid.c - CFLAGS_FOR_UNIT=-DMODEL=2 -DCPU=255 --code-model large --data-model large + CFLAGS_FOR_UNIT=-DMODEL=2 -DCPU=255 --code-model large --data-model large --target f256 +else ifeq ($(UNIT),F256K) + CC=cc65816 + AS=as65816 + AR=nlib + + SRCS_FOR_UNIT=psg.c codec_c256.c sid.c + CFLAGS_FOR_UNIT=-DMODEL=17 -DCPU=255 --code-model large --data-model large --target f256 endif INCLUDES=-I.. -I../include diff --git a/src/toolbox.csv b/src/toolbox.csv index e299297..f654ac5 100644 --- a/src/toolbox.csv +++ b/src/toolbox.csv @@ -1,17 +1,19 @@ -"00","toolbox-00.bin" -"01","toolbox-01.bin" -"02","toolbox-02.bin" -"03","toolbox-03.bin" -"04","toolbox-04.bin" -"05","toolbox-05.bin" -"06","toolbox-06.bin" -"07","toolbox-07.bin" -"08","toolbox-08.bin" -"09","toolbox-09.bin" -"0A","toolbox-0A.bin" -"0B","toolbox-0B.bin" -"0C","toolbox-0C.bin" -"0D","toolbox-0D.bin" -"0E","toolbox-0E.bin" -"0F","toolbox-0F.bin" +"20","toolbox-20.bin" +"21","toolbox-21.bin" +"22","toolbox-22.bin" +"23","toolbox-23.bin" +"24","toolbox-24.bin" +"25","toolbox-25.bin" +"26","toolbox-26.bin" +"27","toolbox-27.bin" +"28","toolbox-28.bin" +"29","toolbox-29.bin" +"2A","toolbox-2A.bin" +"2B","toolbox-2B.bin" +"2C","toolbox-2C.bin" +"2D","toolbox-2D.bin" +"2E","toolbox-2E.bin" +"2F","toolbox-2F.bin" +"30","toolbox-30.bin" +"31","toolbox-31.bin" "3F","toolbox-3F.bin" diff --git a/src/version.h b/src/version.h index 2f4828f..df696c5 100644 --- a/src/version.h +++ b/src/version.h @@ -7,6 +7,6 @@ #define VER_MAJOR 1 #define VER_MINOR 0 -#define VER_BUILD 12 +#define VER_BUILD 15 #endif