Merge pull request #1 from Proxmark/master

Update
This commit is contained in:
H 2017-07-21 15:25:26 +08:00 committed by GitHub
commit 97d3ce91fa
746 changed files with 2692 additions and 683940 deletions

1
.gitattributes vendored
View file

@ -2,3 +2,4 @@
# prevent binary files from CRLF handling, diff and merge:
fpga/fpga.bit -crlf -diff
*.bin -crlf -diff
*.z -crlf -diff

2
.gitignore vendored
View file

@ -12,10 +12,10 @@
*.map
*.bin
!client/hardnested/*.bin
!client/hardnested/tables/*.bin
*.dll
*.moc.cpp
*.z
!client/hardnested/tables/*.z
usb_cmd.lua
version.c
client/ui/ui_overlays.h

View file

@ -6,11 +6,17 @@ This project uses the changelog in accordance with [keepchangelog](http://keepac
## [unreleased][unreleased]
### Changed
- Improved backdoor detection missbehaving magic s50/1k tag (Fl0-0)
### Fixed
### Added
- Added PAC/Stanley detection to lf search (marshmellow)
- Added lf pac demod and lf pac read - extracts the raw blocks from a PAC/Stanley tag (marshmellow)
- Added hf mf c* commands compatibity for 4k and gen1b backdoor (Fl0-0)
- Added backdoor detection for gen1b magic s70/4k tag (Fl0-0)
- Added data fsktonrz, a fsk cleaning/demodulating routine for weak fsk signal. Note: follow this up with a `data rawdemod nr` to finish demoding your signal. (marshmellow)
- Added lf em 410xbrute, LF EM410x reader bruteforce attack by simulating UIDs from a file (Fl0-0)
## [3.0.1][2017-06-08]
@ -22,6 +28,9 @@ This project uses the changelog in accordance with [keepchangelog](http://keepac
## [3.0.0][2017-06-05]
### Added
- Added lf hitag write 24, the command writes a block to hitag2 tags in crypto mode (henjo)
### Added
- Added hf mf hardnested, an attack working for hardened Mifare cards (EV1, Mifare Plus SL1) where hf mf nested fails
- Added experimental testmode write option for t55xx (danger) (marshmellow)

View file

@ -3,7 +3,7 @@ The project compiles on Linux, Mac OS X and Windows (MinGW/MSYS).
it requires:
- gcc >= 4.4
- libpthread
- libreadline
- GNU libreadline or BSD libedit (editline)
- libusb
- perl
- an ARM cross-compiler to compile the firmware
@ -109,7 +109,7 @@ Tested on OSX 10.10 Yosemite
1 - Install Xcode and Xcode Command Line Tools
2 - Install Homebrew and dependencies
brew install readline libusb p7zip libusb-compat wget qt5 pkgconfig
brew install libusb p7zip libusb-compat wget qt5 pkgconfig
3 - Install DevKitARM for OSX
Option 1:
@ -119,12 +119,10 @@ Tested on OSX 10.10 Yosemite
brew tap nitsky/stm32
brew install arm-none-eabi-gcc
4 - Edit proxmark3/client/Makefile adding path to readline and qt5
4 - Edit proxmark3/client/Makefile adding path qt5
LDLIBS = -L/usr/local/opt/readline/lib -L/usr/local/opt/qt5/lib -L/opt/local/lib -L/usr/local/lib ../liblua/liblua.a -lreadline -lpthread -lm
CFLAGS = -std=c99 -I/usr/local/opt/qt5/include -I/usr/local/opt/readline/include -I. -I../include -I../common -I../zlib -I/opt/local/include -I../liblua -Wall $(COMMON_FLAGS) -g -O4
If your old brew intallation use /usr/local/Cellar/ path replace /usr/local/opt/readline/lib with your actuall readline and qt5 path. See homebrew manuals.
LDLIBS = -L/usr/local/opt/qt5/lib -L/opt/local/lib -L/usr/local/lib ../liblua/liblua.a -lreadline -lpthread -lm
CFLAGS = -std=c99 -I/usr/local/opt/qt5/include -I. -I../include -I../common -I../zlib -I/opt/local/include -I../liblua -Wall $(COMMON_FLAGS) -g -O4
5 - Set Environment

View file

@ -18,6 +18,14 @@
// BigBuf is the large multi-purpose buffer, typically used to hold A/D samples or traces.
// Also used to hold various smaller buffers and the Mifare Emulator Memory.
/* BigBuf memory layout:
Pointer to highest available memory: BigBuf_hi
high BIGBUF_SIZE
reserved = BigBuf_malloc() subtracts amount from BigBuf_hi,
low 0x00
*/
// declare it as uint32_t to achieve alignment to 4 Byte boundary
static uint32_t BigBuf[BIGBUF_SIZE/sizeof(uint32_t)];
@ -41,7 +49,8 @@ uint8_t *BigBuf_get_addr(void)
// get the address of the emulator memory. Allocate part of Bigbuf for it, if not yet done
uint8_t *BigBuf_get_EM_addr(void)
{
if (emulator_memory == NULL) { // not yet allocated
// not yet allocated
if (emulator_memory == NULL) {
emulator_memory = BigBuf_malloc(CARD_MEMORY_SIZE);
}
@ -61,6 +70,9 @@ void BigBuf_Clear_ext(bool verbose)
if (verbose)
Dbprintf("Buffer cleared (%i bytes)",BIGBUF_SIZE);
}
void BigBuf_Clear_EM(void){
memset(BigBuf_get_EM_addr(), 0, CARD_MEMORY_SIZE);
}
void BigBuf_Clear_keep_EM(void)
{
@ -103,7 +115,7 @@ void BigBuf_print_status(void)
{
Dbprintf("Memory");
Dbprintf(" BIGBUF_SIZE.............%d", BIGBUF_SIZE);
Dbprintf(" BigBuf_hi .............%d", BigBuf_hi);
Dbprintf(" Available memory........%d", BigBuf_hi);
Dbprintf("Tracing");
Dbprintf(" tracing ................%d", tracing);
Dbprintf(" traceLen ...............%d", traceLen);
@ -142,7 +154,7 @@ uint16_t BigBuf_get_traceLen(void)
**/
bool RAMFUNC LogTrace(const uint8_t *btBytes, uint16_t iLen, uint32_t timestamp_start, uint32_t timestamp_end, uint8_t *parity, bool readerToTag)
{
if (!tracing) return FALSE;
if (!tracing) return false;
uint8_t *trace = BigBuf_get_addr();
@ -153,8 +165,8 @@ bool RAMFUNC LogTrace(const uint8_t *btBytes, uint16_t iLen, uint32_t timestamp_
uint16_t max_traceLen = BigBuf_max_traceLen();
if (traceLen + sizeof(iLen) + sizeof(timestamp_start) + sizeof(duration) + num_paritybytes + iLen >= max_traceLen) {
tracing = FALSE; // don't trace any more
return FALSE;
tracing = false; // don't trace any more
return false;
}
// Traceformat:
// 32 bits timestamp (little endian)
@ -198,7 +210,7 @@ bool RAMFUNC LogTrace(const uint8_t *btBytes, uint16_t iLen, uint32_t timestamp_
}
traceLen += num_paritybytes;
return TRUE;
return true;
}
@ -209,12 +221,12 @@ int LogTraceHitag(const uint8_t * btBytes, int iBits, int iSamples, uint32_t dwP
that this logger takes number of bits as argument, not number of bytes.
**/
if (!tracing) return FALSE;
if (!tracing) return false;
uint8_t *trace = BigBuf_get_addr();
uint16_t iLen = nbytes(iBits);
// Return when trace is full
if (traceLen + sizeof(rsamples) + sizeof(dwParity) + sizeof(iBits) + iLen > BigBuf_max_traceLen()) return FALSE;
if (traceLen + sizeof(rsamples) + sizeof(dwParity) + sizeof(iBits) + iLen > BigBuf_max_traceLen()) return false;
//Hitag traces appear to use this traceformat:
// 32 bits timestamp (little endian,Highest Bit used as readerToTag flag)
@ -241,19 +253,17 @@ int LogTraceHitag(const uint8_t * btBytes, int iBits, int iSamples, uint32_t dwP
memcpy(trace + traceLen, btBytes, iLen);
traceLen += iLen;
return TRUE;
return true;
}
// Emulator memory
uint8_t emlSet(uint8_t *data, uint32_t offset, uint32_t length){
uint8_t* mem = BigBuf_get_EM_addr();
if(offset+length < CARD_MEMORY_SIZE)
{
if (offset+length < CARD_MEMORY_SIZE) {
memcpy(mem+offset, data, length);
return 0;
}else
{
} else {
Dbprintf("Error, trying to set memory outside of bounds! %d > %d", (offset+length), CARD_MEMORY_SIZE);
return 1;
}

View file

@ -29,12 +29,13 @@ extern uint16_t BigBuf_max_traceLen(void);
extern void BigBuf_Clear(void);
extern void BigBuf_Clear_ext(bool verbose);
extern void BigBuf_Clear_keep_EM(void);
extern void BigBuf_Clear_EM(void);
extern uint8_t *BigBuf_malloc(uint16_t);
extern void BigBuf_free(void);
extern void BigBuf_free_keep_EM(void);
extern void BigBuf_print_status(void);
extern uint16_t BigBuf_get_traceLen(void);
extern void clear_trace();
extern void clear_trace(void);
extern void set_tracing(bool enable);
extern bool RAMFUNC LogTrace(const uint8_t *btBytes, uint16_t iLen, uint32_t timestamp_start, uint32_t timestamp_end, uint8_t *parity, bool readerToTag);
extern int LogTraceHitag(const uint8_t * btBytes, int iBits, int iSamples, uint32_t dwParity, int bReader);

View file

@ -1152,7 +1152,7 @@ int main()
if( AesCtxIni(&ctx, iv, key, KEY128, CBC) < 0)
printf("init error\n");
if (AesEncrypt(&ctx, databuf, databuf, sizeof databuf) < 0)
if (AesEncrypt(&ctx, databuf, databuf, sizeof(databuf) ) < 0)
printf("error in encryption\n");
// initialize context and decrypt cipher at other end
@ -1160,7 +1160,7 @@ int main()
if( AesCtxIni(&ctx, iv, key, KEY128, CBC) < 0)
printf("init error\n");
if (AesDecrypt(&ctx, databuf, databuf, sizeof databuf) < 0)
if (AesDecrypt(&ctx, databuf, databuf, sizeof(databuf) ) < 0)
printf("error in decryption\n");
printf("%s\n", databuf);

View file

@ -1051,7 +1051,12 @@ void UsbPacketReceived(uint8_t *packet, int len)
ReadHitagS((hitag_function)c->arg[0],(hitag_data*)c->d.asBytes);
break;
case CMD_WR_HITAG_S://writer for Hitag tags args=data to write,page and key or challenge
WritePageHitagS((hitag_function)c->arg[0],(hitag_data*)c->d.asBytes,c->arg[2]);
if ((hitag_function)c->arg[0] < 10) {
WritePageHitagS((hitag_function)c->arg[0],(hitag_data*)c->d.asBytes,c->arg[2]);
}
else if ((hitag_function)c->arg[0] >= 10) {
WriterHitag((hitag_function)c->arg[0],(hitag_data*)c->d.asBytes, c->arg[2]);
}
break;
#endif

View file

@ -182,6 +182,7 @@ void iClass_ReadCheck(uint8_t blockNo, uint8_t keyType);
void SnoopHitag(uint32_t type);
void SimulateHitagTag(bool tag_mem_supplied, byte_t* data);
void ReaderHitag(hitag_function htf, hitag_data* htd);
void WriterHitag(hitag_function htf, hitag_data* htd, int page);
//hitagS.h
void SimulateHitagSTag(bool tag_mem_supplied, byte_t* data);

View file

@ -158,9 +158,7 @@ void FpgaSetupSsc(void)
//-----------------------------------------------------------------------------
bool FpgaSetupSscDma(uint8_t *buf, int len)
{
if (buf == NULL) {
return false;
}
if (buf == NULL) return false;
AT91C_BASE_PDC_SSC->PDC_PTCR = AT91C_PDC_RXTDIS; // Disable DMA Transfer
AT91C_BASE_PDC_SSC->PDC_RPR = (uint32_t) buf; // transfer to this memory address
@ -169,7 +167,7 @@ bool FpgaSetupSscDma(uint8_t *buf, int len)
AT91C_BASE_PDC_SSC->PDC_RNCR = len; // ... with same number of bytes
AT91C_BASE_PDC_SSC->PDC_PTCR = AT91C_PDC_RXTEN; // go!
return true;
return true;
}
@ -184,12 +182,11 @@ static int get_from_fpga_combined_stream(z_streamp compressed_fpga_stream, uint8
compressed_fpga_stream->avail_out = OUTPUT_BUFFER_LEN;
fpga_image_ptr = output_buffer;
int res = inflate(compressed_fpga_stream, Z_SYNC_FLUSH);
if (res != Z_OK) {
if (res != Z_OK)
Dbprintf("inflate returned: %d, %s", res, compressed_fpga_stream->msg);
}
if (res < 0) {
if (res < 0)
return res;
}
}
uncompressed_bytes_cnt++;
@ -222,7 +219,7 @@ static voidpf fpga_inflate_malloc(voidpf opaque, uInt items, uInt size)
static void fpga_inflate_free(voidpf opaque, voidpf address)
{
BigBuf_free();
BigBuf_free(); BigBuf_Clear_ext(false);
}
@ -277,7 +274,7 @@ static void DownloadFPGA_byte(unsigned char w)
static void DownloadFPGA(int bitstream_version, int FpgaImageLen, z_streamp compressed_fpga_stream, uint8_t *output_buffer)
{
Dbprintf("DownloadFPGA(len: %d)", FpgaImageLen);
//Dbprintf("DownloadFPGA(len: %d)", FpgaImageLen);
int i=0;
@ -416,14 +413,14 @@ static int bitparse_find_section(int bitstream_version, char section_name, unsig
void FpgaDownloadAndGo(int bitstream_version)
{
z_stream compressed_fpga_stream;
uint8_t output_buffer[OUTPUT_BUFFER_LEN];
uint8_t output_buffer[OUTPUT_BUFFER_LEN] = {0x00};
// check whether or not the bitstream is already loaded
if (downloaded_bitstream == bitstream_version)
return;
// make sure that we have enough memory to decompress
BigBuf_free();
BigBuf_free(); BigBuf_Clear_ext(false);
if (!reset_fpga_stream(bitstream_version, &compressed_fpga_stream, output_buffer)) {
return;
@ -436,6 +433,9 @@ void FpgaDownloadAndGo(int bitstream_version)
}
inflateEnd(&compressed_fpga_stream);
// free eventually allocated BigBuf memory
BigBuf_free(); BigBuf_Clear_ext(false);
}
@ -448,18 +448,17 @@ void FpgaDownloadAndGo(int bitstream_version)
void FpgaGatherVersion(int bitstream_version, char *dst, int len)
{
unsigned int fpga_info_len;
char tempstr[40];
char tempstr[40] = {0x00};
z_stream compressed_fpga_stream;
uint8_t output_buffer[OUTPUT_BUFFER_LEN];
uint8_t output_buffer[OUTPUT_BUFFER_LEN] = {0x00};
dst[0] = '\0';
// ensure that we can allocate enough memory for decompression:
BigBuf_free();
BigBuf_free(); BigBuf_Clear_ext(false);
if (!reset_fpga_stream(bitstream_version, &compressed_fpga_stream, output_buffer)) {
if (!reset_fpga_stream(bitstream_version, &compressed_fpga_stream, output_buffer))
return;
}
if(bitparse_find_section(bitstream_version, 'a', &fpga_info_len, &compressed_fpga_stream, output_buffer)) {
for (uint16_t i = 0; i < fpga_info_len; i++) {
@ -559,12 +558,13 @@ void SetAdcMuxFor(uint32_t whichGpio)
HIGH(whichGpio);
}
void Fpga_print_status(void)
{
void Fpga_print_status(void) {
Dbprintf("Fgpa");
if(downloaded_bitstream == FPGA_BITSTREAM_HF) Dbprintf(" mode.............HF");
else if(downloaded_bitstream == FPGA_BITSTREAM_LF) Dbprintf(" mode.............LF");
else Dbprintf(" mode.............%d", downloaded_bitstream);
switch(downloaded_bitstream) {
case FPGA_BITSTREAM_HF: Dbprintf(" mode....................HF"); break;
case FPGA_BITSTREAM_LF: Dbprintf(" mode....................LF"); break;
default: Dbprintf(" mode....................%d", downloaded_bitstream); break;
}
}
int FpgaGetCurrent() {

View file

@ -2,6 +2,7 @@
#include "apps.h"
#include "BigBuf.h"
#include "util.h"
#include "usb_cdc.h" // for usb_poll_validate_length
static void RAMFUNC optimizedSnoop(void);
@ -19,7 +20,7 @@ static void RAMFUNC optimizedSnoop(void)
if(AT91C_BASE_SSC->SSC_SR & AT91C_SSC_RXRDY)
{
*dest = (uint16_t)(AT91C_BASE_SSC->SSC_RHR);
dest = dest + 1;
dest++;
}
}
//Resetting Frame mode (First set in fpgaloader.c)
@ -28,7 +29,9 @@ static void RAMFUNC optimizedSnoop(void)
void HfSnoop(int samplesToSkip, int triggersToSkip)
{
Dbprintf("Skipping first %d sample pairs, Skipping %d triggers.", samplesToSkip, triggersToSkip);
BigBuf_free(); BigBuf_Clear();
Dbprintf("Skipping first %d sample pairs, Skipping %d triggers.\n", samplesToSkip, triggersToSkip);
int trigger_cnt;
LED_D_ON();
// Select correct configs
@ -40,23 +43,18 @@ void HfSnoop(int samplesToSkip, int triggersToSkip)
FpgaWriteConfWord(FPGA_MAJOR_MODE_HF_SNOOP);
SpinDelay(100);
BigBuf_free();
BigBuf_Clear();
AT91C_BASE_SSC->SSC_RFMR = SSC_FRAME_MODE_BITS_IN_WORD(16); // Setting Frame Mode For better performance on high speed data transfer.
trigger_cnt = 0;
uint16_t r = 0;
while(!BUTTON_PRESS()) {
while(!BUTTON_PRESS() && !usb_poll_validate_length()) {
WDT_HIT();
if(AT91C_BASE_SSC->SSC_SR & (AT91C_SSC_RXRDY)) {
r = (uint16_t)AT91C_BASE_SSC->SSC_RHR;
r = MAX(r & 0xff, r >> 8);
if (r >= 240)
{
if (++trigger_cnt > triggersToSkip) {
if (r >= 240) {
if (++trigger_cnt > triggersToSkip)
break;
}
}
}
}
@ -64,9 +62,8 @@ void HfSnoop(int samplesToSkip, int triggersToSkip)
if(!BUTTON_PRESS()) {
int waitcount = samplesToSkip; // lets wait 40000 ticks of pck0
while(waitcount != 0) {
if(AT91C_BASE_SSC->SSC_SR & (AT91C_SSC_RXRDY)) {
if(AT91C_BASE_SSC->SSC_SR & (AT91C_SSC_RXRDY))
waitcount--;
}
}
optimizedSnoop();
Dbprintf("Trigger kicked! Value: %d, Dumping Samples Hispeed now.", r);

File diff suppressed because it is too large Load diff

View file

@ -49,6 +49,7 @@
#include "iso15693tools.h"
#include "protocols.h"
#include "optimized_cipher.h"
#include "usb_cdc.h" // for usb_poll_validate_length
static int timeout = 4096;
@ -1661,7 +1662,7 @@ uint8_t handshakeIclassTag_ext(uint8_t *card_data, bool use_credit_key)
//Flag that we got to at least stage 1, read CSN
read_status = 1;
// Card selected, now read e-purse (cc)
// Card selected, now read e-purse (cc) (only 8 bytes no CRC)
ReaderTransmitIClass(readcheck_cc, sizeof(readcheck_cc));
if(ReaderReceiveIClass(resp) == 8) {
//Save CC (e-purse) in response data
@ -1681,28 +1682,37 @@ void ReaderIClass(uint8_t arg0) {
uint8_t card_data[6 * 8]={0};
memset(card_data, 0xFF, sizeof(card_data));
uint8_t last_csn[8]={0};
uint8_t last_csn[8]={0,0,0,0,0,0,0,0};
uint8_t resp[ICLASS_BUFFER_SIZE];
memset(resp, 0xFF, sizeof(resp));
//Read conf block CRC(0x01) => 0xfa 0x22
uint8_t readConf[] = { ICLASS_CMD_READ_OR_IDENTIFY,0x01, 0xfa, 0x22};
//Read conf block CRC(0x05) => 0xde 0x64
//Read App Issuer Area block CRC(0x05) => 0xde 0x64
uint8_t readAA[] = { ICLASS_CMD_READ_OR_IDENTIFY,0x05, 0xde, 0x64};
int read_status= 0;
uint8_t result_status = 0;
// flag to read until one tag is found successfully
bool abort_after_read = arg0 & FLAG_ICLASS_READER_ONLY_ONCE;
// flag to only try 5 times to find one tag then return
bool try_once = arg0 & FLAG_ICLASS_READER_ONE_TRY;
bool use_credit_key = false;
if (arg0 & FLAG_ICLASS_READER_CEDITKEY)
use_credit_key = true;
set_tracing(TRUE);
// if neither abort_after_read nor try_once then continue reading until button pressed.
bool use_credit_key = arg0 & FLAG_ICLASS_READER_CEDITKEY;
// test flags for what blocks to be sure to read
uint8_t flagReadConfig = arg0 & FLAG_ICLASS_READER_CONF;
uint8_t flagReadCC = arg0 & FLAG_ICLASS_READER_CC;
uint8_t flagReadAA = arg0 & FLAG_ICLASS_READER_AA;
set_tracing(true);
setupIclassReader();
uint16_t tryCnt=0;
while(!BUTTON_PRESS())
bool userCancelled = BUTTON_PRESS() || usb_poll_validate_length();
while(!userCancelled)
{
if (try_once && tryCnt > 5) break;
// if only looking for one card try 2 times if we missed it the first time
if (try_once && tryCnt > 2) break;
tryCnt++;
if(!tracing) {
DbpString("Trace full");
@ -1721,21 +1731,22 @@ void ReaderIClass(uint8_t arg0) {
// moving CC forward 8 bytes
memcpy(card_data+16,card_data+8, 8);
//Read block 1, config
if(arg0 & FLAG_ICLASS_READER_CONF)
{
if(sendCmdGetResponseWithRetries(readConf, sizeof(readConf),card_data+8, 10, 10))
if(flagReadConfig) {
if(sendCmdGetResponseWithRetries(readConf, sizeof(readConf), resp, 10, 10))
{
result_status |= FLAG_ICLASS_READER_CONF;
memcpy(card_data+8, resp, 8);
} else {
Dbprintf("Failed to dump config block");
}
}
//Read block 5, AA
if(arg0 & FLAG_ICLASS_READER_AA){
if(sendCmdGetResponseWithRetries(readAA, sizeof(readAA),card_data+(8*4), 10, 10))
if(flagReadAA) {
if(sendCmdGetResponseWithRetries(readAA, sizeof(readAA), resp, 10, 10))
{
result_status |= FLAG_ICLASS_READER_AA;
memcpy(card_data+(8*5), resp, 8);
} else {
//Dbprintf("Failed to dump AA block");
}
@ -1747,19 +1758,20 @@ void ReaderIClass(uint8_t arg0) {
// (3,4 write-only, kc and kd)
// 5 Application issuer area
//
//Then we can 'ship' back the 8 * 5 bytes of data,
//Then we can 'ship' back the 8 * 6 bytes of data,
// with 0xFF:s in block 3 and 4.
LED_B_ON();
//Send back to client, but don't bother if we already sent this
//Send back to client, but don't bother if we already sent this -
// only useful if looping in arm (not try_once && not abort_after_read)
if(memcmp(last_csn, card_data, 8) != 0)
{
// If caller requires that we get CC, continue until we got it
if( (arg0 & read_status & FLAG_ICLASS_READER_CC) || !(arg0 & FLAG_ICLASS_READER_CC))
{
// If caller requires that we get Conf, CC, AA, continue until we got it
if( (result_status ^ FLAG_ICLASS_READER_CSN ^ flagReadConfig ^ flagReadCC ^ flagReadAA) == 0) {
cmd_send(CMD_ACK,result_status,0,0,card_data,sizeof(card_data));
if(abort_after_read) {
LED_A_OFF();
LED_B_OFF();
return;
}
//Save that we already sent this....
@ -1768,8 +1780,13 @@ void ReaderIClass(uint8_t arg0) {
}
LED_B_OFF();
userCancelled = BUTTON_PRESS() || usb_poll_validate_length();
}
if (userCancelled) {
cmd_send(CMD_ACK,0xFF,0,0,card_data, 0);
} else {
cmd_send(CMD_ACK,0,0,0,card_data, 0);
}
cmd_send(CMD_ACK,0,0,0,card_data, 0);
LED_A_OFF();
}

View file

@ -1179,6 +1179,7 @@ void MifareCSetBlock(uint32_t arg0, uint32_t arg1, uint32_t arg2, uint8_t *datai
// bit 2 - need HALT after sequence
// bit 3 - need init FPGA and field before sequence
// bit 4 - need reset FPGA and LED
// bit 6 - gen1b backdoor type
uint8_t workFlags = arg1;
uint8_t blockNo = arg2;
@ -1214,16 +1215,18 @@ void MifareCSetBlock(uint32_t arg0, uint32_t arg1, uint32_t arg2, uint8_t *datai
if(!iso14443a_select_card(uid, NULL, &cuid, true, 0)) {
if (MF_DBGLEVEL >= 1) Dbprintf("Can't select card");
break;
};
};
if(mifare_classic_halt(NULL, cuid)) {
if (MF_DBGLEVEL >= 1) Dbprintf("Halt error");
break;
};
if(mifare_classic_halt(NULL, cuid)) {
if (MF_DBGLEVEL > 2) Dbprintf("Halt error");
// Continue, some magic tags misbehavies and send an answer to it.
// break;
};
};
// reset chip
if (needWipe){
// Wipe command don't work with gen1b
if (needWipe && !(workFlags & 0x40)){
ReaderTransmitBitsPar(wupC1,7,0, NULL);
if(!ReaderReceive(receivedAnswer, receivedAnswerPar) || (receivedAnswer[0] != 0x0a)) {
if (MF_DBGLEVEL >= 1) Dbprintf("wupC1 error");
@ -1237,24 +1240,30 @@ void MifareCSetBlock(uint32_t arg0, uint32_t arg1, uint32_t arg2, uint8_t *datai
};
if(mifare_classic_halt(NULL, cuid)) {
if (MF_DBGLEVEL >= 1) Dbprintf("Halt error");
break;
if (MF_DBGLEVEL > 2) Dbprintf("Halt error");
// Continue, some magic tags misbehavies and send an answer to it.
// break;
};
};
// write block
if (workFlags & 0x02) {
ReaderTransmitBitsPar(wupC1,7,0, NULL);
if(!ReaderReceive(receivedAnswer, receivedAnswerPar) || (receivedAnswer[0] != 0x0a)) {
if (MF_DBGLEVEL >= 1) Dbprintf("wupC1 error");
break;
};
ReaderTransmit(wupC2, sizeof(wupC2), NULL);
if(!ReaderReceive(receivedAnswer, receivedAnswerPar) || (receivedAnswer[0] != 0x0a)) {
if (MF_DBGLEVEL >= 1) Dbprintf("wupC2 error");
break;
};
// gen1b magic tag : do no issue wupC2 and don't expect 0x0a response after SELECT_UID (after getting UID from chip in 'hf mf csetuid' command)
if (!(workFlags & 0x40)) {
if(!ReaderReceive(receivedAnswer, receivedAnswerPar) || (receivedAnswer[0] != 0x0a)) {
if (MF_DBGLEVEL >= 1) Dbprintf("wupC1 error");
break;
};
ReaderTransmit(wupC2, sizeof(wupC2), NULL);
if(!ReaderReceive(receivedAnswer, receivedAnswerPar) || (receivedAnswer[0] != 0x0a)) {
if (MF_DBGLEVEL >= 1) Dbprintf("wupC2 error");
break;
};
}
}
if ((mifare_sendcmd_short(NULL, 0, 0xA0, blockNo, receivedAnswer, receivedAnswerPar, NULL) != 1) || (receivedAnswer[0] != 0x0a)) {
@ -1272,10 +1281,14 @@ void MifareCSetBlock(uint32_t arg0, uint32_t arg1, uint32_t arg2, uint8_t *datai
};
if (workFlags & 0x04) {
if (mifare_classic_halt(NULL, cuid)) {
if (MF_DBGLEVEL >= 1) Dbprintf("Halt error");
break;
};
// do no issue halt command for gen1b magic tag (#db# halt error. response len: 1)
if (!(workFlags & 0x40)) {
if (mifare_classic_halt(NULL, cuid)) {
if (MF_DBGLEVEL > 2) Dbprintf("Halt error");
// Continue, some magic tags misbehavies and send an answer to it.
// break;
}
}
}
isOK = 1;
@ -1295,12 +1308,13 @@ void MifareCSetBlock(uint32_t arg0, uint32_t arg1, uint32_t arg2, uint8_t *datai
void MifareCGetBlock(uint32_t arg0, uint32_t arg1, uint32_t arg2, uint8_t *datain){
// params
// params
// bit 1 - need wupC
// bit 2 - need HALT after sequence
// bit 3 - need init FPGA and field before sequence
// bit 4 - need reset FPGA and LED
// bit 5 - need to set datain instead of issuing USB reply (called via ARM for StandAloneMode14a)
// bit 6 - gen1b backdoor type
uint8_t workFlags = arg0;
uint8_t blockNo = arg2;
@ -1332,14 +1346,16 @@ void MifareCGetBlock(uint32_t arg0, uint32_t arg1, uint32_t arg2, uint8_t *datai
if(!ReaderReceive(receivedAnswer, receivedAnswerPar) || (receivedAnswer[0] != 0x0a)) {
if (MF_DBGLEVEL >= 1) Dbprintf("wupC1 error");
break;
};
};
// do no issue for gen1b magic tag
if (!(workFlags & 0x40)) {
ReaderTransmit(wupC2, sizeof(wupC2), NULL);
if(!ReaderReceive(receivedAnswer, receivedAnswerPar) || (receivedAnswer[0] != 0x0a)) {
if (MF_DBGLEVEL >= 1) Dbprintf("wupC2 error");
break;
};
}
}
// read block
if ((mifare_sendcmd_short(NULL, 0, 0x30, blockNo, receivedAnswer, receivedAnswerPar, NULL) != 18)) {
@ -1349,10 +1365,14 @@ void MifareCGetBlock(uint32_t arg0, uint32_t arg1, uint32_t arg2, uint8_t *datai
memcpy(data, receivedAnswer, 18);
if (workFlags & 0x04) {
if (mifare_classic_halt(NULL, cuid)) {
if (MF_DBGLEVEL >= 1) Dbprintf("Halt error");
break;
};
// do no issue halt command for gen1b magic tag (#db# halt error. response len: 1)
if (!(workFlags & 0x40)) {
if (mifare_classic_halt(NULL, cuid)) {
if (MF_DBGLEVEL > 1) Dbprintf("Halt error");
// Continue, some magic tags misbehavies and send an answer to it.
// break;
}
}
}
isOK = 1;
@ -1381,24 +1401,23 @@ void MifareCIdent(){
uint8_t wupC2[] = { 0x43 };
// variables
byte_t isOK = 1;
byte_t isOK = 0;
uint8_t receivedAnswer[MAX_MIFARE_FRAME_SIZE];
uint8_t receivedAnswerPar[MAX_MIFARE_PARITY_SIZE];
ReaderTransmitBitsPar(wupC1,7,0, NULL);
if(!ReaderReceive(receivedAnswer, receivedAnswerPar) || (receivedAnswer[0] != 0x0a)) {
isOK = 0;
if(ReaderReceive(receivedAnswer, receivedAnswerPar) && (receivedAnswer[0] == 0x0a)) {
isOK = 2;
ReaderTransmit(wupC2, sizeof(wupC2), NULL);
if(ReaderReceive(receivedAnswer, receivedAnswerPar) && (receivedAnswer[0] == 0x0a)) {
isOK = 1;
};
};
ReaderTransmit(wupC2, sizeof(wupC2), NULL);
if(!ReaderReceive(receivedAnswer, receivedAnswerPar) || (receivedAnswer[0] != 0x0a)) {
isOK = 0;
};
if (mifare_classic_halt(NULL, 0)) {
isOK = 0;
};
// From iceman1001: removed the if, since some magic tags misbehavies and send an answer to it.
mifare_classic_halt(NULL, 0);
cmd_send(CMD_ACK,isOK,0,0,0,0);
}

View file

@ -13,13 +13,13 @@ RM = rm -f
MV = mv
#COMMON_FLAGS = -m32
VPATH = ../common ../zlib
VPATH = ../common ../zlib ../uart
OBJDIR = obj
LDLIBS = -L/opt/local/lib -L/usr/local/lib -lreadline -lpthread -lm
LUALIB = ../liblua/liblua.a
LDFLAGS = $(COMMON_FLAGS)
CFLAGS = -std=c99 -D_ISOC99_SOURCE -I. -I../include -I../common -I../zlib -I/opt/local/include -I../liblua -Wall $(COMMON_FLAGS) -g -O3
CFLAGS = -std=c99 -D_ISOC99_SOURCE -I. -I../include -I../common -I../zlib -I../uart -I/opt/local/include -I../liblua -Wall $(COMMON_FLAGS) -g -O3
CXXFLAGS = -I../include -Wall -O3
LUAPLATFORM = generic
@ -78,7 +78,8 @@ DEPFLAGS = -MT $@ -MMD -MP -MF $(OBJDIR)/$*.Td
# make temporary to final dependeny files after successful compilation
POSTCOMPILE = $(MV) -f $(OBJDIR)/$*.Td $(OBJDIR)/$*.d
CORESRCS = uart.c \
CORESRCS = uart_posix.c \
uart_win32.c \
util.c \
util_posix.c
@ -139,6 +140,7 @@ CMDSRCS = crapto1/crapto1.c\
cmdlfti.c \
cmdlfviking.c\
cmdlfvisa2000.c\
cmdlfpac.c\
cmdparser.c \
cmdmain.c \
scripting.c\
@ -209,8 +211,8 @@ all-static: LDLIBS:=-static $(LDLIBS)
all-static: proxmark3 flasher fpga_compress
proxmark3: LDLIBS+=$(LUALIB) $(QTLDLIBS)
proxmark3: $(OBJDIR)/proxmark3.o $(COREOBJS) $(CMDOBJS) $(QTGUIOBJS) $(MULTIARCHOBJS) lualibs/usb_cmd.lua
$(LD) $(LDFLAGS) $(OBJDIR)/proxmark3.o $(COREOBJS) $(CMDOBJS) $(QTGUIOBJS) $(MULTIARCHOBJS) $(LDLIBS) -o $@
proxmark3: $(OBJDIR)/proxmark3.o $(COREOBJS) $(CMDOBJS) $(QTGUIOBJS) $(MULTIARCHOBJS) $(ZLIBOBJS) lualibs/usb_cmd.lua
$(LD) $(LDFLAGS) $(OBJDIR)/proxmark3.o $(COREOBJS) $(CMDOBJS) $(QTGUIOBJS) $(MULTIARCHOBJS) $(ZLIBOBJS) $(LDLIBS) -o $@
flasher: $(OBJDIR)/flash.o $(OBJDIR)/flasher.o $(COREOBJS)
$(LD) $(LDFLAGS) $^ $(LDLIBS) -o $@

View file

@ -1234,6 +1234,7 @@ int getSamples(int n, bool silent)
}
setClockGrid(0,0);
DemodBufferLen = 0;
RepaintGraphWindow();
return 0;
}
@ -1338,6 +1339,7 @@ int CmdLoad(const char *Cmd)
fclose(f);
PrintAndLog("loaded %d samples", GraphTraceLen);
setClockGrid(0,0);
DemodBufferLen = 0;
RepaintGraphWindow();
return 0;
}
@ -1395,8 +1397,7 @@ int CmdNorm(const char *Cmd)
if (max != min) {
for (i = 0; i < GraphTraceLen; ++i) {
GraphBuffer[i] = (GraphBuffer[i] - ((max + min) / 2)) * 256 /
(max - min);
GraphBuffer[i] = ((long)(GraphBuffer[i] - ((max + min) / 2)) * 256) / (max - min);
//marshmelow: adjusted *1000 to *256 to make +/- 128 so demod commands still work
}
}
@ -1606,6 +1607,205 @@ int Cmdhex2bin(const char *Cmd)
return 0;
}
/* // example of FSK2 RF/50 Tones
static const int LowTone[] = {
1, 1, 1, 1, 1, -1, -1, -1, -1, -1,
1, 1, 1, 1, 1, -1, -1, -1, -1, -1,
1, 1, 1, 1, 1, -1, -1, -1, -1, -1,
1, 1, 1, 1, 1, -1, -1, -1, -1, -1,
1, 1, 1, 1, 1, -1, -1, -1, -1, -1
};
static const int HighTone[] = {
1, 1, 1, 1, 1, -1, -1, -1, -1, // note one extra 1 to padd due to 50/8 remainder (1/2 the remainder)
1, 1, 1, 1, -1, -1, -1, -1,
1, 1, 1, 1, -1, -1, -1, -1,
1, 1, 1, 1, -1, -1, -1, -1,
1, 1, 1, 1, -1, -1, -1, -1,
1, 1, 1, 1, -1, -1, -1, -1, -1, // note one extra -1 to padd due to 50/8 remainder
};
*/
void GetHiLoTone(int *LowTone, int *HighTone, int clk, int LowToneFC, int HighToneFC) {
int i,j=0;
int Left_Modifier = ((clk % LowToneFC) % 2) + ((clk % LowToneFC)/2);
int Right_Modifier = (clk % LowToneFC) / 2;
//int HighToneMod = clk mod HighToneFC;
int LeftHalfFCCnt = (LowToneFC % 2) + (LowToneFC/2); //truncate
int FCs_per_clk = clk/LowToneFC;
// need to correctly split up the clock to field clocks.
// First attempt uses modifiers on each end to make up for when FCs don't evenly divide into Clk
// start with LowTone
// set extra 1 modifiers to make up for when FC doesn't divide evenly into Clk
for (i = 0; i < Left_Modifier; i++) {
LowTone[i] = 1;
}
// loop # of field clocks inside the main clock
for (i = 0; i < (FCs_per_clk); i++) {
// loop # of samples per field clock
for (j = 0; j < LowToneFC; j++) {
LowTone[(i*LowToneFC)+Left_Modifier+j] = ( j < LeftHalfFCCnt ) ? 1 : -1;
}
}
int k;
// add last -1 modifiers
for (k = 0; k < Right_Modifier; k++) {
LowTone[((i-1)*LowToneFC)+Left_Modifier+j+k] = -1;
}
// now do hightone
Left_Modifier = ((clk % HighToneFC) % 2) + ((clk % HighToneFC)/2);
Right_Modifier = (clk % HighToneFC) / 2;
LeftHalfFCCnt = (HighToneFC % 2) + (HighToneFC/2); //truncate
FCs_per_clk = clk/HighToneFC;
for (i = 0; i < Left_Modifier; i++) {
HighTone[i] = 1;
}
// loop # of field clocks inside the main clock
for (i = 0; i < (FCs_per_clk); i++) {
// loop # of samples per field clock
for (j = 0; j < HighToneFC; j++) {
HighTone[(i*HighToneFC)+Left_Modifier+j] = ( j < LeftHalfFCCnt ) ? 1 : -1;
}
}
// add last -1 modifiers
for (k = 0; k < Right_Modifier; k++) {
PrintAndLog("(i-1)*HighToneFC+lm+j+k %i",((i-1)*HighToneFC)+Left_Modifier+j+k);
HighTone[((i-1)*HighToneFC)+Left_Modifier+j+k] = -1;
}
if (g_debugMode == 2) {
for ( i = 0; i < clk; i++) {
PrintAndLog("Low: %i, High: %i",LowTone[i],HighTone[i]);
}
}
}
//old CmdFSKdemod adapted by marshmellow
//converts FSK to clear NRZ style wave. (or demodulates)
int FSKToNRZ(int *data, int *dataLen, int clk, int LowToneFC, int HighToneFC) {
uint8_t ans=0;
if (clk == 0 || LowToneFC == 0 || HighToneFC == 0) {
int firstClockEdge=0;
ans = fskClocks((uint8_t *) &LowToneFC, (uint8_t *) &HighToneFC, (uint8_t *) &clk, false, &firstClockEdge);
if (g_debugMode > 1) {
PrintAndLog ("DEBUG FSKtoNRZ: detected clocks: fc_low %i, fc_high %i, clk %i, firstClockEdge %i, ans %u", LowToneFC, HighToneFC, clk, firstClockEdge, ans);
}
}
// currently only know fsk modulations with field clocks < 10 samples and > 4 samples. filter out to remove false positives (and possibly destroying ask/psk modulated waves...)
if (ans == 0 || clk == 0 || LowToneFC == 0 || HighToneFC == 0 || LowToneFC > 10 || HighToneFC < 4) {
if (g_debugMode > 1) {
PrintAndLog ("DEBUG FSKtoNRZ: no fsk clocks found");
}
return 0;
}
int LowTone[clk];
int HighTone[clk];
GetHiLoTone(LowTone, HighTone, clk, LowToneFC, HighToneFC);
int i, j;
// loop through ([all samples] - clk)
for (i = 0; i < *dataLen - clk; ++i) {
int lowSum = 0, highSum = 0;
// sum all samples together starting from this sample for [clk] samples for each tone (multiply tone value with sample data)
for (j = 0; j < clk; ++j) {
lowSum += LowTone[j] * data[i+j];
highSum += HighTone[j] * data[i + j];
}
// get abs( [average sample value per clk] * 100 ) (or a rolling average of sorts)
lowSum = abs(100 * lowSum / clk);
highSum = abs(100 * highSum / clk);
// save these back to buffer for later use
data[i] = (highSum << 16) | lowSum;
}
// now we have the abs( [average sample value per clk] * 100 ) for each tone
// loop through again [all samples] - clk - 16
// note why 16??? is 16 the largest FC? changed to LowToneFC as that should be the > fc
for(i = 0; i < *dataLen - clk - LowToneFC; ++i) {
int lowTot = 0, highTot = 0;
// sum a field clock width of abs( [average sample values per clk] * 100) for each tone
for (j = 0; j < LowToneFC; ++j) { //10 for fsk2
lowTot += (data[i + j] & 0xffff);
}
for (j = 0; j < HighToneFC; j++) { //8 for fsk2
highTot += (data[i + j] >> 16);
}
// subtract the sum of lowTone averages by the sum of highTone averages as it
// and write back the new graph value
data[i] = lowTot - highTot;
}
// update dataLen to what we put back to the data sample buffer
*dataLen -= (clk + LowToneFC);
return 0;
}
int usage_data_fsktonrz() {
PrintAndLog("Usage: data fsktonrz c <clock> l <fc_low> f <fc_high>");
PrintAndLog("Options: ");
PrintAndLog(" h This help");
PrintAndLog(" c <clock> enter the a clock (omit to autodetect)");
PrintAndLog(" l <fc_low> enter a field clock (omit to autodetect)");
PrintAndLog(" f <fc_high> enter a field clock (omit to autodetect)");
return 0;
}
int CmdFSKToNRZ(const char *Cmd) {
// take clk, fc_low, fc_high
// blank = auto;
bool errors = false;
int clk = 0;
char cmdp = 0;
int fc_low = 10, fc_high = 8;
while(param_getchar(Cmd, cmdp) != 0x00)
{
switch(param_getchar(Cmd, cmdp))
{
case 'h':
case 'H':
return usage_data_fsktonrz();
case 'C':
case 'c':
clk = param_get32ex(Cmd, cmdp+1, 0, 10);
cmdp += 2;
break;
case 'F':
case 'f':
fc_high = param_get32ex(Cmd, cmdp+1, 0, 10);
cmdp += 2;
break;
case 'L':
case 'l':
fc_low = param_get32ex(Cmd, cmdp+1, 0, 10);
cmdp += 2;
break;
default:
PrintAndLog("Unknown parameter '%c'", param_getchar(Cmd, cmdp));
errors = true;
break;
}
if(errors) break;
}
//Validations
if(errors) return usage_data_fsktonrz();
setClockGrid(0,0);
DemodBufferLen = 0;
int ans = FSKToNRZ(GraphBuffer, &GraphTraceLen, clk, fc_low, fc_high);
CmdNorm("");
RepaintGraphWindow();
return ans;
}
static command_t CommandTable[] =
{
{"help", CmdHelp, 1, "This help"},
@ -1617,6 +1817,7 @@ static command_t CommandTable[] =
{"buffclear", CmdBuffClear, 1, "Clear sample buffer and graph window"},
{"dec", CmdDec, 1, "Decimate samples"},
{"detectclock", CmdDetectClockRate, 1, "[modulation] Detect clock rate of wave in GraphBuffer (options: 'a','f','n','p' for ask, fsk, nrz, psk respectively)"},
{"fsktonrz", CmdFSKToNRZ, 1, "Convert fsk2 to nrz wave for alternate fsk demodulating (for weak fsk)"},
{"getbitstream", CmdGetBitStream, 1, "Convert GraphBuffer's >=1 values to 1 and <1 to 0"},
{"grid", CmdGrid, 1, "<x> <y> -- overlay grid on graph window, use zero value to turn off either"},
{"hexsamples", CmdHexsamples, 0, "<bytes> [<offset>] -- Dump big buffer as hex bytes"},

View file

@ -673,16 +673,17 @@ int CmdHFSearch(const char *Cmd){
PrintAndLog("\nValid iClass Tag (or PicoPass Tag) Found - Quiting Search\n");
return ans;
}
ans = HF14BInfo(false);
if (ans) {
PrintAndLog("\nValid ISO14443B Tag Found - Quiting Search\n");
return ans;
}
ans = HF15Reader("", false);
if (ans) {
PrintAndLog("\nValid ISO15693 Tag Found - Quiting Search\n");
return ans;
}
//14b is longest test currently (and rarest chip type) ... put last
ans = HF14BInfo(false);
if (ans) {
PrintAndLog("\nValid ISO14443B Tag Found - Quiting Search\n");
return ans;
}
PrintAndLog("\nno known/supported 13.56 MHz tags found\n");
return 0;
}

View file

@ -26,6 +26,7 @@
#include "cmdmain.h"
#include "mifare.h"
#include "cmdhfmfu.h"
#include "mifarehost.h"
static int CmdHelp(const char *Cmd);
static void waitCmd(uint8_t iLen);
@ -410,8 +411,13 @@ int CmdHF14AReader(const char *Cmd)
c.arg[2] = 0;
SendCommand(&c);
WaitForResponse(CMD_ACK,&resp);
uint8_t isOK = resp.arg[0] & 0xff;
PrintAndLog("Answers to chinese magic backdoor commands: %s", (isOK ? "YES" : "NO") );
uint8_t isGeneration = resp.arg[0] & 0xff;
switch( isGeneration ){
case 1: PrintAndLog("Answers to chinese magic backdoor commands (GEN 1a): YES"); break;
case 2: PrintAndLog("Answers to chinese magic backdoor commands (GEN 1b): YES"); break;
default: PrintAndLog("Answers to chinese magic backdoor commands: NO"); break;
}
// disconnect
c.cmd = CMD_READER_ISO_14443a;

View file

@ -180,10 +180,10 @@ int CmdHFiClassSim(const char *Cmd) {
int HFiClassReader(const char *Cmd, bool loop, bool verbose) {
bool tagFound = false;
UsbCommand c = {CMD_READER_ICLASS, {FLAG_ICLASS_READER_CSN|
FLAG_ICLASS_READER_CONF|FLAG_ICLASS_READER_AA}};
UsbCommand c = {CMD_READER_ICLASS, {FLAG_ICLASS_READER_CSN |
FLAG_ICLASS_READER_CC | FLAG_ICLASS_READER_CONF | FLAG_ICLASS_READER_AA |
FLAG_ICLASS_READER_ONLY_ONCE | FLAG_ICLASS_READER_ONE_TRY } };
// loop in client not device - else on windows have a communication error
c.arg[0] |= FLAG_ICLASS_READER_ONLY_ONCE | FLAG_ICLASS_READER_ONE_TRY;
UsbCommand resp;
while(!ukbhit()){
SendCommand(&c);
@ -191,27 +191,28 @@ int HFiClassReader(const char *Cmd, bool loop, bool verbose) {
uint8_t readStatus = resp.arg[0] & 0xff;
uint8_t *data = resp.d.asBytes;
if (verbose)
PrintAndLog("Readstatus:%02x", readStatus);
if( readStatus == 0){
//Aborted
// no tag found or button pressed
if( (readStatus == 0 && !loop) || readStatus == 0xFF) {
// abort
if (verbose) PrintAndLog("Quitting...");
return 0;
}
if( readStatus & FLAG_ICLASS_READER_CSN){
if( readStatus & FLAG_ICLASS_READER_CSN) {
PrintAndLog(" CSN: %s",sprint_hex(data,8));
tagFound = true;
}
if( readStatus & FLAG_ICLASS_READER_CC) PrintAndLog(" CC: %s",sprint_hex(data+16,8));
if( readStatus & FLAG_ICLASS_READER_CONF){
if( readStatus & FLAG_ICLASS_READER_CC) {
PrintAndLog(" CC: %s",sprint_hex(data+16,8));
}
if( readStatus & FLAG_ICLASS_READER_CONF) {
printIclassDumpInfo(data);
}
//TODO add iclass read block 05 and test iclass type..
if (readStatus & FLAG_ICLASS_READER_AA) {
bool legacy = true;
PrintAndLog(" AppIA: %s",sprint_hex(data+8*4,8));
PrintAndLog(" AppIA: %s",sprint_hex(data+8*5,8));
for (int i = 0; i<8; i++) {
if (data[8*4+i] != 0xFF) {
if (data[8*5+i] != 0xFF) {
legacy = false;
}
}
@ -1711,7 +1712,7 @@ static command_t CommandTable[] =
{"loclass", CmdHFiClass_loclass, 1, "[options..] Use loclass to perform bruteforce of reader attack dump"},
{"managekeys", CmdHFiClassManageKeys, 1, "[options..] Manage the keys to use with iClass"},
{"readblk", CmdHFiClass_ReadBlock, 0, "[options..] Authenticate and Read iClass block"},
{"reader", CmdHFiClassReader, 0, " Read an iClass tag"},
{"reader", CmdHFiClassReader, 0, " Look for iClass tags until a key or the pm3 button is pressed"},
{"readtagfile", CmdHFiClassReadTagFile, 1, "[options..] Display Content from tagfile"},
{"replay", CmdHFiClassReader_Replay, 0, "<mac> Read an iClass tag via Reply Attack"},
{"sim", CmdHFiClassSim, 0, "[options..] Simulate iClass tag"},

View file

@ -28,7 +28,6 @@
#define NESTED_SECTOR_RETRY 10 // how often we try mfested() until we give up
static int CmdHelp(const char *Cmd);
int CmdHF14AMifare(const char *Cmd)
@ -1738,7 +1737,6 @@ int CmdHF14AMfECFill(const char *Cmd)
return 0;
}
int CmdHF14AMfEKeyPrn(const char *Cmd)
{
int i;
@ -1783,7 +1781,6 @@ int CmdHF14AMfEKeyPrn(const char *Cmd)
return 0;
}
int CmdHF14AMfCSetUID(const char *Cmd)
{
uint8_t wipeCard = 0;
@ -1858,7 +1855,7 @@ int CmdHF14AMfCSetBlk(const char *Cmd)
uint8_t memBlock[16] = {0x00};
uint8_t blockNo = 0;
bool wipeCard = false;
int res;
int res, gen = 0;
if (strlen(Cmd) < 1 || param_getchar(Cmd, 0) == 'h') {
PrintAndLog("Usage: hf mf csetblk <block number> <block data (32 hex symbols)> [w]");
@ -1868,6 +1865,8 @@ int CmdHF14AMfCSetBlk(const char *Cmd)
return 0;
}
gen = mfCIdentify();
blockNo = param_get8(Cmd, 0);
if (param_gethex(Cmd, 1, memBlock, 32)) {
@ -1879,7 +1878,14 @@ int CmdHF14AMfCSetBlk(const char *Cmd)
wipeCard = (ctmp == 'w' || ctmp == 'W');
PrintAndLog("--block number:%2d data:%s", blockNo, sprint_hex(memBlock, 16));
res = mfCSetBlock(blockNo, memBlock, NULL, wipeCard, CSETBLOCK_SINGLE_OPER);
if (gen == 2) {
/* generation 1b magic card */
res = mfCSetBlock(blockNo, memBlock, NULL, wipeCard, CSETBLOCK_SINGLE_OPER | CSETBLOCK_MAGIC_1B);
} else {
/* generation 1a magic card by default */
res = mfCSetBlock(blockNo, memBlock, NULL, wipeCard, CSETBLOCK_SINGLE_OPER);
}
if (res) {
PrintAndLog("Can't write block. error=%d", res);
return 1;
@ -1893,33 +1899,44 @@ int CmdHF14AMfCLoad(const char *Cmd)
FILE * f;
char filename[FILE_PATH_SIZE] = {0x00};
char * fnameptr = filename;
char buf[64] = {0x00};
uint8_t buf8[64] = {0x00};
char buf[256] = {0x00};
uint8_t buf8[256] = {0x00};
uint8_t fillFromEmulator = 0;
int i, len, blockNum, flags=0;
int i, len, blockNum, flags = 0, gen = 0, numblock = 64;
if (param_getchar(Cmd, 0) == 'h' || param_getchar(Cmd, 0)== 0x00) {
PrintAndLog("It loads magic Chinese card from the file `filename.eml`");
PrintAndLog("or from emulator memory (option `e`)");
PrintAndLog("Usage: hf mf cload <file name w/o `.eml`>");
PrintAndLog(" or: hf mf cload e ");
PrintAndLog(" sample: hf mf cload filename");
PrintAndLog("or from emulator memory (option `e`). 4K card: (option `4`)");
PrintAndLog("Usage: hf mf cload [file name w/o `.eml`][e][4]");
PrintAndLog(" or: hf mf cload e [4]");
PrintAndLog("Sample: hf mf cload filename");
PrintAndLog(" hf mf cload filname 4");
PrintAndLog(" hf mf cload e");
PrintAndLog(" hf mf cload e 4");
return 0;
}
char ctmp = param_getchar(Cmd, 0);
if (ctmp == 'e' || ctmp == 'E') fillFromEmulator = 1;
ctmp = param_getchar(Cmd, 1);
if (ctmp == '4') numblock = 256;
gen = mfCIdentify();
PrintAndLog("Loading magic mifare %dK", numblock == 256 ? 4:1);
if (fillFromEmulator) {
for (blockNum = 0; blockNum < 16 * 4; blockNum += 1) {
for (blockNum = 0; blockNum < numblock; blockNum += 1) {
if (mfEmlGetMem(buf8, blockNum, 1)) {
PrintAndLog("Cant get block: %d", blockNum);
return 2;
}
if (blockNum == 0) flags = CSETBLOCK_INIT_FIELD + CSETBLOCK_WUPC; // switch on field and send magic sequence
if (blockNum == 1) flags = 0; // just write
if (blockNum == 16 * 4 - 1) flags = CSETBLOCK_HALT + CSETBLOCK_RESET_FIELD; // Done. Magic Halt and switch off field.
if (blockNum == numblock - 1) flags = CSETBLOCK_HALT + CSETBLOCK_RESET_FIELD; // Done. Magic Halt and switch off field.
if (gen == 2)
/* generation 1b magic card */
flags |= CSETBLOCK_MAGIC_1B;
if (mfCSetBlock(blockNum, buf8, NULL, 0, flags)) {
PrintAndLog("Cant set magic card block: %d", blockNum);
return 3;
@ -1927,10 +1944,12 @@ int CmdHF14AMfCLoad(const char *Cmd)
}
return 0;
} else {
len = strlen(Cmd);
param_getstr(Cmd, 0, filename);
len = strlen(filename);
if (len > FILE_PATH_SIZE - 5) len = FILE_PATH_SIZE - 5;
memcpy(filename, Cmd, len);
//memcpy(filename, Cmd, len);
fnameptr += len;
sprintf(fnameptr, ".eml");
@ -1965,8 +1984,11 @@ int CmdHF14AMfCLoad(const char *Cmd)
if (blockNum == 0) flags = CSETBLOCK_INIT_FIELD + CSETBLOCK_WUPC; // switch on field and send magic sequence
if (blockNum == 1) flags = 0; // just write
if (blockNum == 16 * 4 - 1) flags = CSETBLOCK_HALT + CSETBLOCK_RESET_FIELD; // Done. Switch off field.
if (blockNum == numblock - 1) flags = CSETBLOCK_HALT + CSETBLOCK_RESET_FIELD; // Done. Switch off field.
if (gen == 2)
/* generation 1b magic card */
flags |= CSETBLOCK_MAGIC_1B;
if (mfCSetBlock(blockNum, buf8, NULL, 0, flags)) {
PrintAndLog("Can't set magic card block: %d", blockNum);
fclose(f);
@ -1974,12 +1996,13 @@ int CmdHF14AMfCLoad(const char *Cmd)
}
blockNum++;
if (blockNum >= 16 * 4) break; // magic card type - mifare 1K
if (blockNum >= numblock) break; // magic card type - mifare 1K 64 blocks, mifare 4k 256 blocks
}
fclose(f);
if (blockNum != 16 * 4 && blockNum != 32 * 4 + 8 * 16){
PrintAndLog("File content error. There must be 64 blocks");
//if (blockNum != 16 * 4 && blockNum != 32 * 4 + 8 * 16){
if (blockNum != numblock){
PrintAndLog("File content error. There must be %d blocks", numblock);
return 4;
}
PrintAndLog("Loaded from file: %s", filename);
@ -1991,7 +2014,7 @@ int CmdHF14AMfCLoad(const char *Cmd)
int CmdHF14AMfCGetBlk(const char *Cmd) {
uint8_t memBlock[16];
uint8_t blockNo = 0;
int res;
int res, gen = 0;
memset(memBlock, 0x00, sizeof(memBlock));
if (strlen(Cmd) < 1 || param_getchar(Cmd, 0) == 'h') {
@ -2001,11 +2024,19 @@ int CmdHF14AMfCGetBlk(const char *Cmd) {
return 0;
}
gen = mfCIdentify();
blockNo = param_get8(Cmd, 0);
PrintAndLog("--block number:%2d ", blockNo);
res = mfCGetBlock(blockNo, memBlock, CSETBLOCK_SINGLE_OPER);
if (gen == 2) {
/* generation 1b magic card */
res = mfCGetBlock(blockNo, memBlock, CSETBLOCK_SINGLE_OPER | CSETBLOCK_MAGIC_1B);
} else {
/* generation 1a magic card by default */
res = mfCGetBlock(blockNo, memBlock, CSETBLOCK_SINGLE_OPER);
}
if (res) {
PrintAndLog("Can't read block. error=%d", res);
return 1;
@ -2015,11 +2046,10 @@ int CmdHF14AMfCGetBlk(const char *Cmd) {
return 0;
}
int CmdHF14AMfCGetSc(const char *Cmd) {
uint8_t memBlock[16] = {0x00};
uint8_t sectorNo = 0;
int i, res, flags;
int i, res, flags, gen = 0, baseblock = 0, sect_size = 4;
if (strlen(Cmd) < 1 || param_getchar(Cmd, 0) == 'h') {
PrintAndLog("Usage: hf mf cgetsc <sector number>");
@ -2029,25 +2059,40 @@ int CmdHF14AMfCGetSc(const char *Cmd) {
}
sectorNo = param_get8(Cmd, 0);
if (sectorNo > 15) {
PrintAndLog("Sector number must be in [0..15] as in MIFARE classic.");
if (sectorNo > 39) {
PrintAndLog("Sector number must be in [0..15] in MIFARE classic 1k and [0..39] in MIFARE classic 4k.");
return 1;
}
PrintAndLog("--sector number:%d ", sectorNo);
flags = CSETBLOCK_INIT_FIELD + CSETBLOCK_WUPC;
for (i = 0; i < 4; i++) {
if (i == 1) flags = 0;
if (i == 3) flags = CSETBLOCK_HALT + CSETBLOCK_RESET_FIELD;
gen = mfCIdentify();
res = mfCGetBlock(sectorNo * 4 + i, memBlock, flags);
flags = CSETBLOCK_INIT_FIELD + CSETBLOCK_WUPC;
if (sectorNo < 32 ) {
baseblock = sectorNo * 4;
} else {
baseblock = 128 + 16 * (sectorNo - 32);
}
if (sectorNo > 31) sect_size = 16;
for (i = 0; i < sect_size; i++) {
if (i == 1) flags = 0;
if (i == sect_size - 1) flags = CSETBLOCK_HALT + CSETBLOCK_RESET_FIELD;
if (gen == 2)
/* generation 1b magic card */
flags |= CSETBLOCK_MAGIC_1B;
res = mfCGetBlock(baseblock + i, memBlock, flags);
if (res) {
PrintAndLog("Can't read block. %d error=%d", sectorNo * 4 + i, res);
PrintAndLog("Can't read block. %d error=%d", baseblock + i, res);
return 1;
}
PrintAndLog("block %3d data:%s", sectorNo * 4 + i, sprint_hex(memBlock, 16));
PrintAndLog("block %3d data:%s", baseblock + i, sprint_hex(memBlock, 16));
}
return 0;
}
@ -2059,31 +2104,44 @@ int CmdHF14AMfCSave(const char *Cmd) {
char filename[FILE_PATH_SIZE] = {0x00};
char * fnameptr = filename;
uint8_t fillFromEmulator = 0;
uint8_t buf[64] = {0x00};
int i, j, len, flags;
uint8_t buf[256] = {0x00};
int i, j, len, flags, gen = 0, numblock = 64;
// memset(filename, 0, sizeof(filename));
// memset(buf, 0, sizeof(buf));
if (param_getchar(Cmd, 0) == 'h') {
PrintAndLog("It saves `magic Chinese` card dump into the file `filename.eml` or `cardID.eml`");
PrintAndLog("or into emulator memory (option `e`)");
PrintAndLog("Usage: hf mf esave [file name w/o `.eml`][e]");
PrintAndLog(" sample: hf mf esave ");
PrintAndLog(" hf mf esave filename");
PrintAndLog(" hf mf esave e \n");
PrintAndLog("or into emulator memory (option `e`). 4K card: (option `4`)");
PrintAndLog("Usage: hf mf esave [file name w/o `.eml`][e][4]");
PrintAndLog("Sample: hf mf esave ");
PrintAndLog(" hf mf esave filename");
PrintAndLog(" hf mf esave e");
PrintAndLog(" hf mf esave 4");
PrintAndLog(" hf mf esave filename 4");
PrintAndLog(" hf mf esave e 4");
return 0;
}
char ctmp = param_getchar(Cmd, 0);
if (ctmp == 'e' || ctmp == 'E') fillFromEmulator = 1;
if (ctmp == '4') numblock = 256;
ctmp = param_getchar(Cmd, 1);
if (ctmp == '4') numblock = 256;
gen = mfCIdentify();
PrintAndLog("Saving magic mifare %dK", numblock == 256 ? 4:1);
if (fillFromEmulator) {
// put into emulator
flags = CSETBLOCK_INIT_FIELD + CSETBLOCK_WUPC;
for (i = 0; i < 16 * 4; i++) {
for (i = 0; i < numblock; i++) {
if (i == 1) flags = 0;
if (i == 16 * 4 - 1) flags = CSETBLOCK_HALT + CSETBLOCK_RESET_FIELD;
if (i == numblock - 1) flags = CSETBLOCK_HALT + CSETBLOCK_RESET_FIELD;
if (gen == 2)
/* generation 1b magic card */
flags |= CSETBLOCK_MAGIC_1B;
if (mfCGetBlock(i, buf, flags)) {
PrintAndLog("Cant get block: %d", i);
@ -2097,12 +2155,20 @@ int CmdHF14AMfCSave(const char *Cmd) {
}
return 0;
} else {
len = strlen(Cmd);
param_getstr(Cmd, 0, filename);
len = strlen(filename);
if (len > FILE_PATH_SIZE - 5) len = FILE_PATH_SIZE - 5;
if (len < 1) {
ctmp = param_getchar(Cmd, 0);
if (len < 1 || (ctmp == '4')) {
// get filename
if (mfCGetBlock(0, buf, CSETBLOCK_SINGLE_OPER)) {
flags = CSETBLOCK_SINGLE_OPER;
if (gen == 2)
/* generation 1b magic card */
flags |= CSETBLOCK_MAGIC_1B;
if (mfCGetBlock(0, buf, flags)) {
PrintAndLog("Cant get block: %d", 0);
len = sprintf(fnameptr, "dump");
fnameptr += len;
@ -2112,7 +2178,7 @@ int CmdHF14AMfCSave(const char *Cmd) {
sprintf(fnameptr, "%02x", buf[j]);
}
} else {
memcpy(filename, Cmd, len);
//memcpy(filename, Cmd, len);
fnameptr += len;
}
@ -2128,10 +2194,13 @@ int CmdHF14AMfCSave(const char *Cmd) {
// put hex
flags = CSETBLOCK_INIT_FIELD + CSETBLOCK_WUPC;
for (i = 0; i < 16 * 4; i++) {
for (i = 0; i < numblock; i++) {
if (i == 1) flags = 0;
if (i == 16 * 4 - 1) flags = CSETBLOCK_HALT + CSETBLOCK_RESET_FIELD;
if (i == numblock - 1) flags = CSETBLOCK_HALT + CSETBLOCK_RESET_FIELD;
if (gen == 2)
/* generation 1b magic card */
flags |= CSETBLOCK_MAGIC_1B;
if (mfCGetBlock(i, buf, flags)) {
PrintAndLog("Cant get block: %d", i);
break;

View file

@ -33,6 +33,7 @@
#include "parity.h"
#include "hardnested/hardnested_bruteforce.h"
#include "hardnested/hardnested_bitarray_core.h"
#include "zlib.h"
#define NUM_CHECK_BITFLIPS_THREADS (num_CPUs())
#define NUM_REDUCTION_WORKING_THREADS (num_CPUs())
@ -40,7 +41,7 @@
#define IGNORE_BITFLIP_THRESHOLD 0.99 // ignore bitflip arrays which have nearly only valid states
#define STATE_FILES_DIRECTORY "hardnested/tables/"
#define STATE_FILE_TEMPLATE "bitflip_%d_%03" PRIx16 "_states.bin"
#define STATE_FILE_TEMPLATE "bitflip_%d_%03" PRIx16 "_states.bin.z"
#define DEBUG_KEY_ELIMINATION
// #define DEBUG_REDUCTION
@ -70,6 +71,7 @@ static float brute_force_per_second;
static void get_SIMD_instruction_set(char* instruction_set) {
#if defined (__i386__) || defined (__x86_64__)
#if !defined(__APPLE__) || (defined(__APPLE__) && (__clang_major__ > 8))
#if (__GNUC__ >= 5) && (__GNUC__ > 5 || __GNUC_MINOR__ > 2)
if (__builtin_cpu_supports("avx512f")) strcpy(instruction_set, "AVX512F");
@ -82,7 +84,8 @@ static void get_SIMD_instruction_set(char* instruction_set) {
else if (__builtin_cpu_supports("mmx")) strcpy(instruction_set, "MMX");
else
#endif
strcpy(instruction_set, "unsupported");
#endif
strcpy(instruction_set, "no");
}
@ -240,12 +243,48 @@ static int compare_count_bitflip_bitarrays(const void *b1, const void *b2)
}
static voidpf inflate_malloc(voidpf opaque, uInt items, uInt size)
{
return malloc(items*size);
}
static void inflate_free(voidpf opaque, voidpf address)
{
free(address);
}
#define OUTPUT_BUFFER_LEN 80
#define INPUT_BUFFER_LEN 80
//----------------------------------------------------------------------------
// Initialize decompression of the respective (HF or LF) FPGA stream
//----------------------------------------------------------------------------
static void init_inflate(z_streamp compressed_stream, uint8_t *input_buffer, uint32_t insize, uint8_t *output_buffer, uint32_t outsize)
{
// initialize z_stream structure for inflate:
compressed_stream->next_in = input_buffer;
compressed_stream->avail_in = insize;
compressed_stream->next_out = output_buffer;
compressed_stream->avail_out = outsize;
compressed_stream->zalloc = &inflate_malloc;
compressed_stream->zfree = &inflate_free;
inflateInit2(compressed_stream, 0);
}
static void init_bitflip_bitarrays(void)
{
#if defined (DEBUG_REDUCTION)
uint8_t line = 0;
#endif
z_stream compressed_stream;
char state_files_path[strlen(get_my_executable_directory()) + strlen(STATE_FILES_DIRECTORY) + strlen(STATE_FILE_TEMPLATE) + 1];
char state_file_name[strlen(STATE_FILE_TEMPLATE)+1];
@ -262,22 +301,31 @@ static void init_bitflip_bitarrays(void)
if (statesfile == NULL) {
continue;
} else {
uint32_t *bitset = (uint32_t *)malloc_bitarray(sizeof(uint32_t) * (1<<19));
if (bitset == NULL) {
printf("Out of memory error in init_bitflip_statelists(). Aborting...\n");
fseek(statesfile, 0, SEEK_END);
uint32_t filesize = (uint32_t)ftell(statesfile);
rewind(statesfile);
uint8_t input_buffer[filesize];
size_t bytesread = fread(input_buffer, 1, filesize, statesfile);
if (bytesread != filesize) {
printf("File read error with %s. Aborting...\n", state_file_name);
fclose(statesfile);
exit(4);
}
size_t bytesread = fread(bitset, 1, sizeof(uint32_t) * (1<<19), statesfile);
if (bytesread != sizeof(uint32_t) * (1<<19)) {
printf("File read error with %s. Aborting...", state_file_name);
fclose(statesfile);
free_bitarray(bitset);
inflateEnd(&compressed_stream);
exit(5);
}
fclose(statesfile);
uint32_t count = count_states(bitset);
uint32_t count = 0;
init_inflate(&compressed_stream, input_buffer, filesize, (uint8_t *)&count, sizeof(count));
inflate(&compressed_stream, Z_SYNC_FLUSH);
if ((float)count/(1<<24) < IGNORE_BITFLIP_THRESHOLD) {
uint32_t *bitset = (uint32_t *)malloc_bitarray(sizeof(uint32_t) * (1<<19));
if (bitset == NULL) {
printf("Out of memory error in init_bitflip_statelists(). Aborting...\n");
inflateEnd(&compressed_stream);
exit(4);
}
compressed_stream.next_out = (uint8_t *)bitset;
compressed_stream.avail_out = sizeof(uint32_t) * (1<<19);
inflate(&compressed_stream, Z_SYNC_FLUSH);
effective_bitflip[odd_even][num_effective_bitflips[odd_even]++] = bitflip;
bitflip_bitarrays[odd_even][bitflip] = bitset;
count_bitflip_bitarrays[odd_even][bitflip] = count;
@ -289,9 +337,8 @@ static void init_bitflip_bitarrays(void)
line = 0;
}
#endif
} else {
free_bitarray(bitset);
}
inflateEnd(&compressed_stream);
}
}
effective_bitflip[odd_even][num_effective_bitflips[odd_even]] = 0x400; // EndOfList marker
@ -2549,6 +2596,7 @@ int mfnestedhard(uint8_t blockNo, uint8_t keyType, uint8_t *key, uint8_t trgBloc
best_first_bytes[0] = best_first_byte_smallest_bitarray;
pre_XOR_nonces();
prepare_bf_test_nonces(nonces, best_first_bytes[0]);
hardnested_print_progress(num_acquired_nonces, "Starting brute force...", expected_brute_force1, 0);
key_found = brute_force();
free(candidates->states[ODD_STATE]);
free(candidates->states[EVEN_STATE]);
@ -2568,6 +2616,7 @@ int mfnestedhard(uint8_t blockNo, uint8_t keyType, uint8_t *key, uint8_t trgBloc
// printf("Estimated remaining states: %" PRIu64 " (2^%1.1f)\n", nonces[best_first_bytes[0]].sum_a8_guess[j].num_states, log(nonces[best_first_bytes[0]].sum_a8_guess[j].num_states)/log(2.0));
generate_candidates(first_byte_Sum, nonces[best_first_bytes[0]].sum_a8_guess[j].sum_a8_idx);
// printf("Time for generating key candidates list: %1.0f sec (%1.1f sec CPU)\n", difftime(time(NULL), start_time), (float)(msclock() - start_clock)/1000.0);
hardnested_print_progress(num_acquired_nonces, "Starting brute force...", expected_brute_force, 0);
key_found = brute_force();
free_statelist_cache();
free_candidates_memory(candidates);
@ -2608,6 +2657,12 @@ int mfnestedhard(uint8_t blockNo, uint8_t keyType, uint8_t *key, uint8_t trgBloc
if (nonce_file_read) { // use pre-acquired data from file nonces.bin
if (read_nonce_file() != 0) {
free_bitflip_bitarrays();
free_nonces_memory();
free_bitarray(all_bitflips_bitarray[ODD_STATE]);
free_bitarray(all_bitflips_bitarray[EVEN_STATE]);
free_sum_bitarrays();
free_part_sum_bitarrays();
return 3;
}
hardnested_stage = CHECK_1ST_BYTES | CHECK_2ND_BYTES;
@ -2617,6 +2672,12 @@ int mfnestedhard(uint8_t blockNo, uint8_t keyType, uint8_t *key, uint8_t trgBloc
} else { // acquire nonces.
uint16_t is_OK = acquire_nonces(blockNo, keyType, key, trgBlockNo, trgKeyType, nonce_file_write, slow);
if (is_OK != 0) {
free_bitflip_bitarrays();
free_nonces_memory();
free_bitarray(all_bitflips_bitarray[ODD_STATE]);
free_bitarray(all_bitflips_bitarray[EVEN_STATE]);
free_sum_bitarrays();
free_part_sum_bitarrays();
return is_OK;
}
}
@ -2646,10 +2707,11 @@ int mfnestedhard(uint8_t blockNo, uint8_t keyType, uint8_t *key, uint8_t trgBloc
for (statelist_t *sl = candidates; sl != NULL; sl = sl->next) {
maximum_states += (uint64_t)sl->len[ODD_STATE] * sl->len[EVEN_STATE];
}
printf("Number of remaining possible keys: %" PRIu64 " (2^%1.1f)\n", maximum_states, log(maximum_states)/log(2.0));
// printf("Number of remaining possible keys: %" PRIu64 " (2^%1.1f)\n", maximum_states, log(maximum_states)/log(2.0));
best_first_bytes[0] = best_first_byte_smallest_bitarray;
pre_XOR_nonces();
prepare_bf_test_nonces(nonces, best_first_bytes[0]);
hardnested_print_progress(num_acquired_nonces, "Starting brute force...", expected_brute_force1, 0);
key_found = brute_force();
free(candidates->states[ODD_STATE]);
free(candidates->states[EVEN_STATE]);
@ -2669,6 +2731,7 @@ int mfnestedhard(uint8_t blockNo, uint8_t keyType, uint8_t *key, uint8_t trgBloc
// printf("Estimated remaining states: %" PRIu64 " (2^%1.1f)\n", nonces[best_first_bytes[0]].sum_a8_guess[j].num_states, log(nonces[best_first_bytes[0]].sum_a8_guess[j].num_states)/log(2.0));
generate_candidates(first_byte_Sum, nonces[best_first_bytes[0]].sum_a8_guess[j].sum_a8_idx);
// printf("Time for generating key candidates list: %1.0f sec (%1.1f sec CPU)\n", difftime(time(NULL), start_time), (float)(msclock() - start_clock)/1000.0);
hardnested_print_progress(num_acquired_nonces, "Starting brute force...", expected_brute_force, 0);
key_found = brute_force();
free_statelist_cache();
free_candidates_memory(candidates);

View file

@ -49,7 +49,7 @@ uint8_t default_3des_keys[KEYS_3DES_COUNT][16] = {
{ 0x00,0x11,0x22,0x33,0x44,0x55,0x66,0x77,0x88,0x99,0xAA,0xBB,0xCC,0xDD,0xEE,0xFF } // 11 22 33
};
#define KEYS_PWD_COUNT 10
#define KEYS_PWD_COUNT 6
uint8_t default_pwd_pack[KEYS_PWD_COUNT][4] = {
{0xFF,0xFF,0xFF,0xFF}, // PACK 0x00,0x00 -- factory default
@ -58,11 +58,6 @@ uint8_t default_pwd_pack[KEYS_PWD_COUNT][4] = {
{0xFF,0x90,0x6C,0xB2}, // PACK 0x12,0x9e -- italian bus (sniffed)
{0x46,0x1c,0xA3,0x19}, // PACK 0xE9,0x5A -- italian bus (sniffed)
{0x35,0x1C,0xD0,0x19}, // PACK 0x9A,0x5a -- italian bus (sniffed)
{0x05,0x22,0xE6,0xB4}, // PACK 0x80,0x80 -- Amiiboo (sniffed) pikachu-b UID:
{0x7E,0x22,0xE6,0xB4}, // PACK 0x80,0x80 -- AMiiboo (sniffed)
{0x02,0xE1,0xEE,0x36}, // PACK 0x80,0x80 -- AMiiboo (sniffed) sonic UID: 04d257 7ae33e8027
{0x32,0x0C,0x16,0x17}, // PACK 0x80,0x80 -- AMiiboo (sniffed)
};
#define MAX_UL_TYPES 18
@ -1129,9 +1124,9 @@ int CmdHF14AMfURdBl(const char *Cmd){
uint8_t isOK = resp.arg[0] & 0xff;
if (isOK) {
uint8_t *data = resp.d.asBytes;
PrintAndLog("\nBlock# | Data | Ascii");
PrintAndLog("-----------------------------");
PrintAndLog("%02d/0x%02X | %s| %.4s\n", blockNo, blockNo, sprint_hex(data, 4), data);
PrintAndLog("\n Block# | Data | Ascii");
PrintAndLog("---------+-------------+------");
PrintAndLog(" %02d/0x%02X | %s| %.4s\n", blockNo, blockNo, sprint_hex(data, 4), data);
}
else {
PrintAndLog("Failed reading block: (%02x)", isOK);
@ -1377,8 +1372,8 @@ int CmdHF14AMfUDump(const char *Cmd){
}
}
PrintAndLog("\nBlock# | Data |lck| Ascii");
PrintAndLog("---------------------------------");
PrintAndLog("\n Block# | Data |lck| Ascii");
PrintAndLog("---------+-------------+---+------");
for (i = 0; i < Pages; ++i) {
if ( i < 3 ) {
PrintAndLog("%3d/0x%02X | %s| | ", i+startPage, i+startPage, sprint_hex(data + i * 4, 4));

View file

@ -45,6 +45,7 @@
#include "cmdlfjablotron.h" //for jablotron menu
#include "cmdlfnoralsy.h"// for noralsy menu
#include "cmdlfsecurakey.h"//for securakey menu
#include "cmdlfpac.h" // for pac menu
bool g_lf_threshold_set = false;
static int CmdHelp(const char *Cmd);
@ -349,7 +350,8 @@ bool lf_read(bool silent, uint32_t samples) {
return false;
}
}
getSamples(resp.arg[0], silent);
// resp.arg[0] is bits read not bytes read.
getSamples(resp.arg[0]/8, silent);
return true;
}
@ -1055,6 +1057,12 @@ int CmdLFfind(const char *Cmd)
return CheckChipType(cmdp);
}
ans=CmdPacDemod("");
if (ans>0) {
PrintAndLog("\nValid PAC/Stanley ID Found!");
return CheckChipType(cmdp);
}
PrintAndLog("\nNo Known Tags Found!\n");
if (testRaw=='u' || testRaw=='U') {
//ans=CheckChipType(cmdp);
@ -1081,7 +1089,7 @@ int CmdLFfind(const char *Cmd)
if (ans>0) {
PrintAndLog("Possible unknown PSK1 Modulated Tag Found above!\n\nCould also be PSK2 - try 'data rawdemod p2'");
PrintAndLog("\nCould also be PSK3 - [currently not supported]");
PrintAndLog("\nCould also be NRZ - try 'data nrzrawdemod'");
PrintAndLog("\nCould also be NRZ - try 'data rawdemod nr'");
return CheckChipType(cmdp);
}
ans = CheckChipType(cmdp);
@ -1105,6 +1113,7 @@ static command_t CommandTable[] =
{"jablotron", CmdLFJablotron, 1, "{ Jablotron RFIDs... }"},
{"nexwatch", CmdLFNexWatch, 1, "{ NexWatch RFIDs... }"},
{"noralsy", CmdLFNoralsy, 1, "{ Noralsy RFIDs... }"},
{"pac", CmdLFPac, 1, "{ PAC/Stanley RFIDs... }"},
{"paradox", CmdLFParadox, 1, "{ Paradox RFIDs... }"},
{"presco", CmdLFPresco, 1, "{ Presco RFIDs... }"},
{"pcf7931", CmdLFPCF7931, 1, "{ PCF7931 CHIPs... }"},

View file

@ -23,10 +23,12 @@
#include "cmdmain.h"
#include "lfdemod.h"
#include "protocols.h"
#include "util_posix.h"
uint64_t g_em410xId=0;
static int CmdHelp(const char *Cmd);
void ConstructEM410xEmulGraph(const char *uid,const uint8_t clock);
int CmdEMdemodASK(const char *Cmd)
{
@ -216,11 +218,54 @@ int usage_lf_em410x_sim(void) {
return 0;
}
// Construct the graph for emulating an EM410X tag
void ConstructEM410xEmulGraph(const char *uid,const uint8_t clock)
{
int i, n, j, binary[4], parity[4];
/* clear our graph */
ClearGraph(0);
/* write 9 start bits */
for (i = 0; i < 9; i++)
AppendGraph(0, clock, 1);
/* for each hex char */
parity[0] = parity[1] = parity[2] = parity[3] = 0;
for (i = 0; i < 10; i++){
/* read each hex char */
sscanf(&uid[i], "%1x", &n);
for (j = 3; j >= 0; j--, n/= 2)
binary[j] = n % 2;
/* append each bit */
AppendGraph(0, clock, binary[0]);
AppendGraph(0, clock, binary[1]);
AppendGraph(0, clock, binary[2]);
AppendGraph(0, clock, binary[3]);
/* append parity bit */
AppendGraph(0, clock, binary[0] ^ binary[1] ^ binary[2] ^ binary[3]);
/* keep track of column parity */
parity[0] ^= binary[0];
parity[1] ^= binary[1];
parity[2] ^= binary[2];
parity[3] ^= binary[3];
}
/* parity columns */
AppendGraph(0, clock, parity[0]);
AppendGraph(0, clock, parity[1]);
AppendGraph(0, clock, parity[2]);
AppendGraph(0, clock, parity[3]);
/* stop bit */
AppendGraph(1, clock, 0);
}
// emulate an EM410X tag
int CmdEM410xSim(const char *Cmd)
{
int i, n, j, binary[4], parity[4];
char cmdp = param_getchar(Cmd, 0);
uint8_t uid[5] = {0x00};
@ -235,54 +280,146 @@ int CmdEM410xSim(const char *Cmd)
param_getdec(Cmd,1, &clock);
PrintAndLog("Starting simulating UID %02X%02X%02X%02X%02X clock: %d", uid[0],uid[1],uid[2],uid[3],uid[4],clock);
PrintAndLog("Press pm3-button to about simulation");
PrintAndLog("Press pm3-button to abort simulation");
/* clear our graph */
ClearGraph(0);
/* write 9 start bits */
for (i = 0; i < 9; i++)
AppendGraph(0, clock, 1);
/* for each hex char */
parity[0] = parity[1] = parity[2] = parity[3] = 0;
for (i = 0; i < 10; i++)
{
/* read each hex char */
sscanf(&Cmd[i], "%1x", &n);
for (j = 3; j >= 0; j--, n/= 2)
binary[j] = n % 2;
/* append each bit */
AppendGraph(0, clock, binary[0]);
AppendGraph(0, clock, binary[1]);
AppendGraph(0, clock, binary[2]);
AppendGraph(0, clock, binary[3]);
/* append parity bit */
AppendGraph(0, clock, binary[0] ^ binary[1] ^ binary[2] ^ binary[3]);
/* keep track of column parity */
parity[0] ^= binary[0];
parity[1] ^= binary[1];
parity[2] ^= binary[2];
parity[3] ^= binary[3];
}
/* parity columns */
AppendGraph(0, clock, parity[0]);
AppendGraph(0, clock, parity[1]);
AppendGraph(0, clock, parity[2]);
AppendGraph(0, clock, parity[3]);
/* stop bit */
AppendGraph(1, clock, 0);
ConstructEM410xEmulGraph(Cmd, clock);
CmdLFSim("0"); //240 start_gap.
return 0;
}
int usage_lf_em410x_brute(void) {
PrintAndLog("Bruteforcing by emulating EM410x tag");
PrintAndLog("");
PrintAndLog("Usage: lf em 410xbrute [h] ids.txt [d 2000] [c clock]");
PrintAndLog("Options:");
PrintAndLog(" h - this help");
PrintAndLog(" ids.txt - file with UIDs in HEX format, one per line");
PrintAndLog(" d (2000) - pause delay in milliseconds between UIDs simulation, default 1000 ms (optional)");
PrintAndLog(" c (32) - clock (32|64), default 64 (optional)");
PrintAndLog("samples:");
PrintAndLog(" lf em 410xbrute ids.txt");
PrintAndLog(" lf em 410xbrute ids.txt c 32");
PrintAndLog(" lf em 410xbrute ids.txt d 3000");
PrintAndLog(" lf em 410xbrute ids.txt d 3000 c 32");
return 0;
}
int CmdEM410xBrute(const char *Cmd)
{
char filename[FILE_PATH_SIZE]={0};
FILE *f = NULL;
char buf[11];
uint32_t uidcnt = 0;
uint8_t stUidBlock = 20;
uint8_t *uidBlock = NULL, *p = NULL;
int ch;
uint8_t uid[5] = {0x00};
/* clock is 64 in EM410x tags */
uint8_t clock = 64;
/* default pause time: 1 second */
uint32_t delay = 1000;
char cmdp = param_getchar(Cmd, 0);
if (cmdp == 'h' || cmdp == 'H') return usage_lf_em410x_brute();
cmdp = param_getchar(Cmd, 1);
if (cmdp == 'd' || cmdp == 'D') {
delay = param_get32ex(Cmd, 2, 1000, 10);
param_getdec(Cmd, 4, &clock);
} else if (cmdp == 'c' || cmdp == 'C') {
param_getdec(Cmd, 2, &clock);
delay = param_get32ex(Cmd, 4, 1000, 10);
}
param_getstr(Cmd, 0, filename);
uidBlock = calloc(stUidBlock, 5);
if (uidBlock == NULL) return 1;
if (strlen(filename) > 0) {
if ((f = fopen(filename, "r")) == NULL) {
PrintAndLog("Error: Could not open UIDs file [%s]",filename);
free(uidBlock);
return 1;
}
} else {
PrintAndLog("Error: Please specify a filename");
free(uidBlock);
return 1;
}
while( fgets(buf, sizeof(buf), f) ) {
if (strlen(buf) < 10 || buf[9] == '\n') continue;
while (fgetc(f) != '\n' && !feof(f)); //goto next line
//The line start with # is comment, skip
if( buf[0]=='#' ) continue;
if (param_gethex(buf, 0, uid, 10)) {
PrintAndLog("UIDs must include 10 HEX symbols");
free(uidBlock);
fclose(f);
return 1;
}
buf[10] = 0;
if ( stUidBlock - uidcnt < 2) {
p = realloc(uidBlock, 5*(stUidBlock+=10));
if (!p) {
PrintAndLog("Cannot allocate memory for UIDs");
free(uidBlock);
fclose(f);
return 1;
}
uidBlock = p;
}
memset(uidBlock + 5 * uidcnt, 0, 5);
num_to_bytes(strtoll(buf, NULL, 16), 5, uidBlock + 5*uidcnt);
uidcnt++;
memset(buf, 0, sizeof(buf));
}
fclose(f);
if (uidcnt == 0) {
PrintAndLog("No UIDs found in file");
free(uidBlock);
return 1;
}
PrintAndLog("Loaded %d UIDs from %s, pause delay: %d ms", uidcnt, filename, delay);
// loop
for(uint32_t c = 0; c < uidcnt; ++c ) {
char testuid[11];
testuid[10] = 0;
if (ukbhit()) {
ch = getchar();
(void)ch;
printf("\nAborted via keyboard!\n");
free(uidBlock);
return 0;
}
sprintf(testuid, "%010" PRIX64, bytes_to_num(uidBlock + 5*c, 5));
PrintAndLog("Bruteforce %d / %d: simulating UID %s, clock %d", c + 1, uidcnt, testuid, clock);
ConstructEM410xEmulGraph(testuid, clock);
CmdLFSim("0"); //240 start_gap.
msleep(delay);
}
free(uidBlock);
return 0;
}
/* Function is equivalent of lf read + data samples + em410xread
* looped until an EM410x tag is detected
*
@ -1202,6 +1339,7 @@ static command_t CommandTable[] =
{"410xread", CmdEMdemodASK, 0, "[findone] -- Extract ID from EM410x tag (option 0 for continuous loop, 1 for only 1 tag)"},
{"410xdemod", CmdAskEM410xDemod, 1, "[clock] [invert<0|1>] [maxErr] -- Demodulate an EM410x tag from GraphBuffer (args optional)"},
{"410xsim", CmdEM410xSim, 0, "<UID> [clock rate] -- Simulate EM410x tag"},
{"410xbrute", CmdEM410xBrute, 0, "ids.txt [d (delay in ms)] [c (clock rate)] -- Reader bruteforce attack by simulating EM410x tags"},
{"410xwatch", CmdEM410xWatch, 0, "['h'] -- Watches for EM410x 125/134 kHz tags (option 'h' for 134)"},
{"410xspoof", CmdEM410xWatchnSpoof, 0, "['h'] --- Watches for EM410x 125/134 kHz tags, and replays them. (option 'h' for 134)" },
{"410xwrite", CmdEM410xWrite, 0, "<UID> <'0' T5555> <'1' T55x7> [clock rate] -- Write EM410x UID to T5555(Q5) or T55x7 tag, optionally setting clock rate"},

View file

@ -21,6 +21,7 @@ extern int CmdAskEM410xDemod(const char *Cmd);
extern int AskEm410xDecode(bool verbose, uint32_t *hi, uint64_t *lo );
extern int AskEm410xDemod(const char *Cmd, uint32_t *hi, uint64_t *lo, bool verbose);
extern int CmdEM410xSim(const char *Cmd);
extern int CmdEM410xBrute(const char *Cmd);
extern int CmdEM410xWatch(const char *Cmd);
extern int CmdEM410xWatchnSpoof(const char *Cmd);
extern int CmdEM410xWrite(const char *Cmd);

View file

@ -349,7 +349,9 @@ int CmdLFHitagWP(const char *Cmd) {
c.arg[2]= param_get32ex(Cmd, 2, 0, 10);
num_to_bytes(param_get32ex(Cmd,3,0,16),4,htd->auth.data);
} break;
case 04: { //WHTSF_KEY
case 04:
case 24:
{ //WHTSF_KEY
num_to_bytes(param_get64ex(Cmd,1,0,16),6,htd->crypto.key);
c.arg[2]= param_get32ex(Cmd, 2, 0, 10);
num_to_bytes(param_get32ex(Cmd,3,0,16),4,htd->crypto.data);
@ -363,6 +365,7 @@ int CmdLFHitagWP(const char *Cmd) {
PrintAndLog(" 04 <key> (set to 0 if no authentication is needed) <page> <byte0...byte3> write page on a Hitag S tag");
PrintAndLog(" Hitag1 (1*)");
PrintAndLog(" Hitag2 (2*)");
PrintAndLog(" 24 <key> (set to 0 if no authentication is needed) <page> <byte0...byte3> write page on a Hitag S tag");
return 1;
} break;
}

View file

@ -96,8 +96,12 @@ int CmdIndalaDemod(const char *Cmd) {
uint8_t rawbits[4096];
int rawbit = 0;
int worst = 0, worstPos = 0;
// PrintAndLog("Expecting a bit less than %d raw bits", GraphTraceLen / 32);
//clear clock grid and demod plot
setClockGrid(0, 0);
DemodBufferLen = 0;
// PrintAndLog("Expecting a bit less than %d raw bits", GraphTraceLen / 32);
// loop through raw signal - since we know it is psk1 rf/32 fc/2 skip every other value (+=2)
for (i = 0; i < GraphTraceLen-1; i += 2) {
count += 1;

View file

@ -133,20 +133,21 @@ int CmdIOClone(const char *Cmd)
{
unsigned int hi = 0, lo = 0;
int n = 0, i = 0;
char ch;
UsbCommand c;
//if (1 == sscanf(str, "0x%"SCNx32, &hi)) {
// value now contains the value in the string--decimal 255, in this case.
//}
while (sscanf(&Cmd[i++], "%1x", &n ) == 1) {
hi = (hi << 4) | (lo >> 28);
lo = (lo << 4) | (n & 0xf);
}
PrintAndLog("Cloning tag with ID %08x %08x", hi, lo);
PrintAndLog("Press pm3-button to abort simulation");
if (sscanf(&Cmd[--i], "%c", &ch) == 1) {
PrintAndLog("Usage: lf io clone <tag-ID>");
return 0;
}
PrintAndLog("Cloning ioProx tag with ID %08x %08x", hi, lo);
c.cmd = CMD_IO_CLONE_TAG;
c.arg[0] = hi;
c.arg[1] = lo;

100
client/cmdlfpac.c Normal file
View file

@ -0,0 +1,100 @@
//-----------------------------------------------------------------------------
//
// This code is licensed to you under the terms of the GNU GPL, version 2 or,
// at your option, any later version. See the LICENSE.txt file for the text of
// the license.
//-----------------------------------------------------------------------------
// Low frequency Stanley/PAC tag commands
// NRZ, RF/32, 128 bits long (unknown cs)
//-----------------------------------------------------------------------------
#include "cmdlfpac.h"
#include <string.h>
#include <inttypes.h>
#include "proxmark3.h"
#include "ui.h"
#include "util.h"
#include "graph.h"
#include "cmdparser.h"
#include "cmddata.h"
#include "cmdmain.h"
#include "cmdlf.h"
#include "lfdemod.h" // preamble test
static int CmdHelp(const char *Cmd);
// by marshmellow
// find PAC preamble in already demoded data
int PacFind(uint8_t *dest, size_t *size) {
if (*size < 128) return -1; //make sure buffer has data
size_t startIdx = 0;
uint8_t preamble[] = {1,1,1,1,1,1,1,1,0,0,1,0,0,0,0,0,0,1,0};
if (!preambleSearch(dest, preamble, sizeof(preamble), size, &startIdx))
return -2; //preamble not found
if (*size != 128) return -3; //wrong demoded size
//return start position
return (int)startIdx;
}
//see NRZDemod for what args are accepted
int CmdPacDemod(const char *Cmd) {
//NRZ
if (!NRZrawDemod(Cmd, false)) {
if (g_debugMode) PrintAndLog("DEBUG: Error - PAC: NRZ Demod failed");
return 0;
}
size_t size = DemodBufferLen;
int ans = PacFind(DemodBuffer, &size);
if (ans < 0) {
if (g_debugMode) {
if (ans == -1)
PrintAndLog("DEBUG: Error - PAC: too few bits found");
else if (ans == -2)
PrintAndLog("DEBUG: Error - PAC: preamble not found");
else if (ans == -3)
PrintAndLog("DEBUG: Error - PAC: Size not correct: %d", size);
else
PrintAndLog("DEBUG: Error - PAC: ans: %d", ans);
}
return 0;
}
setDemodBuf(DemodBuffer, 128, ans);
setClockGrid(g_DemodClock, g_DemodStartIdx + (ans*g_DemodClock));
//got a good demod
uint32_t raw1 = bytebits_to_byte(DemodBuffer , 32);
uint32_t raw2 = bytebits_to_byte(DemodBuffer+32, 32);
uint32_t raw3 = bytebits_to_byte(DemodBuffer+64, 32);
uint32_t raw4 = bytebits_to_byte(DemodBuffer+96, 32);
// preamble then appears to have marker bits of "10" CS?
// 11111111001000000 10 01001100 10 00001101 10 00001101 10 00001101 10 00001101 10 00001101 10 00001101 10 00001101 10 00001101 10 10001100 10 100000001
// unknown checksum 9 bits at the end
PrintAndLog("PAC/Stanley Tag Found -- Raw: %08X%08X%08X%08X", raw1 ,raw2, raw3, raw4);
PrintAndLog("\nHow the Raw ID is translated by the reader is unknown");
return 1;
}
int CmdPacRead(const char *Cmd) {
lf_read(true, 4096*2 + 20);
return CmdPacDemod(Cmd);
}
static command_t CommandTable[] = {
{"help", CmdHelp, 1, "This help"},
{"demod", CmdPacDemod,1, "Attempt to read and extract tag data from the GraphBuffer"},
{"read", CmdPacRead, 0, "Attempt to read and extract tag data from the antenna"},
{NULL, NULL, 0, NULL}
};
int CmdLFPac(const char *Cmd) {
clearCommandBuffer();
CmdsParse(CommandTable, Cmd);
return 0;
}
int CmdHelp(const char *Cmd) {
CmdsHelp(CommandTable);
return 0;
}

17
client/cmdlfpac.h Normal file
View file

@ -0,0 +1,17 @@
//-----------------------------------------------------------------------------
//
// This code is licensed to you under the terms of the GNU GPL, version 2 or,
// at your option, any later version. See the LICENSE.txt file for the text of
// the license.
//-----------------------------------------------------------------------------
// Low frequency Securakey tag commands
//-----------------------------------------------------------------------------
#ifndef CMDLFPAC_H__
#define CMDLFPAC_H__
extern int CmdLFPac(const char *Cmd);
extern int CmdPacRead(const char *Cmd);
extern int CmdPacDemod(const char *Cmd);
#endif

View file

@ -44,7 +44,7 @@ int CmdSecurakeyDemod(const char *Cmd) {
//ASK / Manchester
bool st = false;
if (!ASKDemod_ext("40 0 0", false, false, 1, &st)) {
if (g_debugMode) PrintAndLog("DEBUG: Error - Noralsy: ASK/Manchester Demod failed");
if (g_debugMode) PrintAndLog("DEBUG: Error - Securakey: ASK/Manchester Demod failed");
return 0;
}
if (st) return 0;

View file

@ -19,6 +19,8 @@
#ifdef _WIN32
# define unlink(x)
#else
# include <unistd.h>
#endif
static serial_port sp;
@ -52,8 +54,7 @@ void ReceiveCommand(UsbCommand* rxcmd) {
byte_t* prx = prxcmd;
size_t rxlen;
while (true) {
rxlen = sizeof(UsbCommand) - (prx-prxcmd);
if (uart_receive(sp,prx,&rxlen)) {
if (uart_receive(sp, prx, sizeof(UsbCommand) - (prx-prxcmd), &rxlen)) {
prx += rxlen;
if ((prx-prxcmd) >= sizeof(UsbCommand)) {
return;
@ -129,7 +130,7 @@ int main(int argc, char **argv)
fprintf(stderr,"Waiting for Proxmark to appear on %s",serial_port_name);
do {
sleep(1);
msleep(1000);
fprintf(stderr, ".");
} while (!OpenProxmark(0));
fprintf(stderr," Found.\n");

View file

@ -38,7 +38,8 @@
#define COMPRESS_MAX_CHAIN 8192
#define FPGA_INTERLEAVE_SIZE 288 // (the FPGA's internal config frame size is 288 bits. Interleaving with 288 bytes should give best compression)
#define FPGA_CONFIG_SIZE 42336 // our current fpga_[lh]f.bit files are 42175 bytes. Rounded up to next multiple of FPGA_INTERLEAVE_SIZE
#define FPGA_CONFIG_SIZE 42336L // our current fpga_[lh]f.bit files are 42175 bytes. Rounded up to next multiple of FPGA_INTERLEAVE_SIZE
#define HARDNESTED_TABLE_SIZE (sizeof(uint32_t) * ((1L<<19)+1))
static void usage(void)
{
@ -46,6 +47,8 @@ static void usage(void)
fprintf(stderr, " Combine n FPGA bitstream files and compress them into one.\n\n");
fprintf(stderr, " fpga_compress -d <infile> <outfile>");
fprintf(stderr, " Decompress <infile>. Write result to <outfile>");
fprintf(stderr, " fpga_compress -t <infile> <outfile>");
fprintf(stderr, " Compress hardnested table <infile>. Write result to <outfile>");
}
@ -73,7 +76,7 @@ static bool all_feof(FILE *infile[], uint8_t num_infiles)
}
int zlib_compress(FILE *infile[], uint8_t num_infiles, FILE *outfile)
int zlib_compress(FILE *infile[], uint8_t num_infiles, FILE *outfile, bool hardnested_mode)
{
uint8_t *fpga_config;
uint32_t i;
@ -81,14 +84,21 @@ int zlib_compress(FILE *infile[], uint8_t num_infiles, FILE *outfile)
uint8_t c;
z_stream compressed_fpga_stream;
fpga_config = malloc(num_infiles * FPGA_CONFIG_SIZE);
if (hardnested_mode) {
fpga_config = malloc(num_infiles * HARDNESTED_TABLE_SIZE);
} else {
fpga_config = malloc(num_infiles * FPGA_CONFIG_SIZE);
}
// read the input files. Interleave them into fpga_config[]
i = 0;
do {
if (i >= num_infiles * FPGA_CONFIG_SIZE) {
fprintf(stderr, "Input files too big (total > %u bytes). These are probably not PM3 FPGA config files.\n", num_infiles*FPGA_CONFIG_SIZE);
if (i >= num_infiles * (hardnested_mode?HARDNESTED_TABLE_SIZE:FPGA_CONFIG_SIZE)) {
if (hardnested_mode) {
fprintf(stderr, "Input file too big (> %lu bytes). This is probably not a hardnested bitflip state table.\n", HARDNESTED_TABLE_SIZE);
} else {
fprintf(stderr, "Input files too big (total > %lu bytes). These are probably not PM3 FPGA config files.\n", num_infiles*FPGA_CONFIG_SIZE);
}
for(uint16_t j = 0; j < num_infiles; j++) {
fclose(infile[j]);
}
@ -253,6 +263,7 @@ int main(int argc, char **argv)
}
if (!strcmp(argv[1], "-d")) { // Decompress
infiles = calloc(1, sizeof(FILE*));
if (argc != 4) {
usage();
@ -272,11 +283,23 @@ int main(int argc, char **argv)
} else { // Compress
infiles = calloc(argc-2, sizeof(FILE*));
for (uint16_t i = 0; i < argc-2; i++) {
infiles[i] = fopen(argv[i+1], "rb");
bool hardnested_mode = false;
int num_input_files = 0;
if (!strcmp(argv[1], "-t")) { // hardnested table
if (argc != 4) {
usage();
return(EXIT_FAILURE);
}
hardnested_mode = true;
num_input_files = 1;
} else {
num_input_files = argc-2;
}
infiles = calloc(num_input_files, sizeof(FILE*));
for (uint16_t i = 0; i < num_input_files; i++) {
infiles[i] = fopen(argv[i+hardnested_mode?2:1], "rb");
if (infiles[i] == NULL) {
fprintf(stderr, "Error. Cannot open input file %s", argv[i+1]);
fprintf(stderr, "Error. Cannot open input file %s", argv[i+hardnested_mode?2:1]);
return(EXIT_FAILURE);
}
}
@ -285,6 +308,6 @@ int main(int argc, char **argv)
fprintf(stderr, "Error. Cannot open output file %s", argv[argc-1]);
return(EXIT_FAILURE);
}
return zlib_compress(infiles, argc-2, outfile);
return zlib_compress(infiles, num_input_files, outfile, hardnested_mode);
}
}

View file

@ -176,11 +176,12 @@ static inline uint32_t count_states(uint32_t *bitset)
}
static void write_bitflips_file(odd_even_t odd_even, uint16_t bitflip, int sum_a0, uint32_t *bitset)
static void write_bitflips_file(odd_even_t odd_even, uint16_t bitflip, int sum_a0, uint32_t *bitset, uint32_t count)
{
char filename[80];
sprintf(filename, "bitflip_%d_%03" PRIx16 "_sum%d_states.bin", odd_even, bitflip, sum_a0);
FILE *outfile = fopen(filename, "wb");
fwrite(&count, 1, sizeof(count), outfile);
fwrite(bitset, 1, sizeof(uint32_t)*(1<<19), outfile);
fclose(outfile);
}
@ -369,7 +370,7 @@ static void precalculate_bit0_bitflip_bitarrays(uint8_t const bitflip, uint16_t
bitflip, (1<<24) - count[odd_even],
(float)((1<<24) - count[odd_even]) / (1<<24) * 100.0);
#ifndef TEST_RUN
write_bitflips_file(odd_even, bitflip, sum_a0, test_bitarray[odd_even]);
write_bitflips_file(odd_even, bitflip, sum_a0, test_bitarray[odd_even], count[odd_even]);
#endif
} else {
printf("All %s states for bitflip property %03x are possible. No file written.\n", odd_even==EVEN_STATE?"even":"odd", bitflip);
@ -396,7 +397,7 @@ static void precalculate_bit0_bitflip_bitarrays(uint8_t const bitflip, uint16_t
bitflip | BITFLIP_2ND_BYTE, (1<<24) - count[odd_even],
(float)((1<<24) - count[odd_even]) / (1<<24) * 100.0);
#ifndef TEST_RUN
write_bitflips_file(odd_even, bitflip | BITFLIP_2ND_BYTE, sum_a0, test_bitarray_2nd);
write_bitflips_file(odd_even, bitflip | BITFLIP_2ND_BYTE, sum_a0, test_bitarray_2nd, count[odd_even]);
#endif
} else {
printf("All %s states for bitflip property %03x are possible. No file written.\n", odd_even==EVEN_STATE?"even":"odd", bitflip | BITFLIP_2ND_BYTE);
@ -481,7 +482,7 @@ static void precalculate_bit0_bitflip_bitarrays(uint8_t const bitflip, uint16_t
bitflip|0x100, (1<<24) - count[odd_even],
(float)((1<<24) - count[odd_even]) / (1<<24) * 100.0);
#ifndef TEST_RUN
write_bitflips_file(odd_even, bitflip|0x100, sum_a0, test_not_bitarray[odd_even]);
write_bitflips_file(odd_even, bitflip|0x100, sum_a0, test_not_bitarray[odd_even], count[odd_even]);
#endif
} else {
printf("All %s states for bitflip property %03x are possible. No file written.\n", odd_even==EVEN_STATE?"even":"odd", bitflip|0x100);
@ -508,7 +509,7 @@ static void precalculate_bit0_bitflip_bitarrays(uint8_t const bitflip, uint16_t
bitflip | 0x100| BITFLIP_2ND_BYTE, (1<<24) - count[odd_even],
(float)((1<<24) - count[odd_even]) / (1<<24) * 100.0);
#ifndef TEST_RUN
write_bitflips_file(odd_even, bitflip | 0x100 | BITFLIP_2ND_BYTE, sum_a0, test_bitarray_2nd);
write_bitflips_file(odd_even, bitflip | 0x100 | BITFLIP_2ND_BYTE, sum_a0, test_bitarray_2nd, count[odd_even]);
#endif
} else {
printf("All %s states for bitflip property %03x are possible. No file written.\n", odd_even==EVEN_STATE?"even":"odd", bitflip | 0x100 | BITFLIP_2ND_BYTE);

File diff suppressed because one or more lines are too long

Binary file not shown.

File diff suppressed because one or more lines are too long

Binary file not shown.

File diff suppressed because one or more lines are too long

Binary file not shown.

File diff suppressed because one or more lines are too long

Binary file not shown.

File diff suppressed because one or more lines are too long

Binary file not shown.

File diff suppressed because one or more lines are too long

Binary file not shown.

File diff suppressed because one or more lines are too long

Binary file not shown.

File diff suppressed because one or more lines are too long

Binary file not shown.

Binary file not shown.

File diff suppressed because one or more lines are too long

Binary file not shown.

File diff suppressed because one or more lines are too long

Binary file not shown.

File diff suppressed because one or more lines are too long

Binary file not shown.

File diff suppressed because one or more lines are too long

Binary file not shown.

View file

@ -0,0 +1,49 @@
ν<EFBFBD>λ<EFBFBD>λ°<EFBFBD>€§€¦¥-n  δο1πξΩΐWλM9”Γ/ΐ<><CE90>Δi<E28098>βC$EώΧ<CF8E>όχΧσ±οΗί¶=<1F>ήΏΎ<CE8F>ο~Ώ·<CE8F>{ΉλΗ<CEBB><CE97>ίύύ<<1F>ΎΫ¶pόΏχίοσψΏόϊzύ<7A>ίοΎΎόϋΝƒ<1F>ί¶ώΏoΏώ<CE8F>ώΰώ!ώΫv|·m%ψ―ίΟΗΏ~<0E>σx<1F>γίπήsα»y9γό67<36>ΠϊλΠ<CEBB>Έ―ϋϋGC<43>ΟGί}οθ<1F>?Ύχο<CF87>9ψKΧ<4B>Όω<CE8C>ΗϋΧ<CF8B>οϊ”πί¶2όΉόίΏ†<CE8F><EFBFBD>―ϋίΑ<CEAF>π?όώΨ<CF8E>ιρ?©λ!όΤσ?ερϋ^/…<1F>>Κγ΅Z<7F>=¥ωΟ}<>ϋΏ<CF8B>ώωΣς,Ζ??<>,?sΧΖί§ι<C2A7>Ώ<EFBFBD><CE8F>ϊΏιϊ<CEB9>7<EFBFBD>ϋ>‡>θδΏ¦ό•Ώi~Ι??ϋ?τ?ϊϊCό<7F>Θ<EFBFBD>:|<7C>·­}|<7C>ώΐΏ<><CEB2><EFBFBD>Ε<CF8C>ύ¶µο<73>^ω[^<5E>ωρ9ω;<1A><>+<2B>ο<13>KΣ_*ϊα‡τ―<CF84><E28095>Χλ¶­΄ώΦ“<CEA6>­φϋ§<CF8B>Η<EFBFBD>Σ¶™;<3B>ΪόΧ<CF8C><CEA7>ψώωΪω»~ό»βΔ?‰b<7F>―—<E28095><E28094>j<6A>Ω<EFBFBD><5A><6D>ω'<27><>ό?ψ<>ό?«ςΟΊ<CE9F><17>ώ?όRϋoVώΏVόώΗώ'ώ<><CF8E>όΑ<CF8C>ψω_δ<5F>BΫώ?νσ?Ϊη<CEAA>¬ϋ<C2AC>r<EFBFBD>ΣοσΟ?iΫ<69><CEAB><EFBFBD>γόη<>8<EFBFBD>Ηώ‡όw;π±<CF80>±<EFBFBD><EFBFBD>c<EFBFBD><13>Gώ—ΰ;9§<03>ϊόoόΠίήωμ?ψϊΫ£<CEAB>Ώϋύύ„ώΓΏ<CE93>συγ{ηΏϊϋ Η<>ύ”Ηο{yΌ~<ώο§<>‡<>ο·?G<>ώομθ――σχαψΏ<CF88>γσΧ—Ώώ<CE8F>Β<CEB6>Η»λΗη――;Πί:ώο]<5D>γώηΪ{ξ~u<><EFBFBD>ώοτ<CEBF>ηπ“ϊ<E2809C>{η«wΎ[<CEB2>!<21><4A>Τ~ύοη]ώ<>±υΧk<CEA7> <20>Π<EFBFBD>ϊτ<1F>?KιΏ†όOαί¶ώζΘ<CEB6>υΦ?φςΟςώΗώσμΟ1{V<56>σχΣoΞ£Ώ~~Όέ<7F>ξχ{ζώO<CF8E><4F>Χ³<CEA7>mι<6D>υψ<CF85>^ςO<CF82><4F>υχ<CF85>¶εϊ5<7F>ί¨ό<C2A8><EFBFBD>ί®¤ώτ?ϊ<1F>ό<7F>ψ<EFBFBD>ρ€?ψƒΏnό§%<25>h<EFBFBD>ό_/ώcKώCΫτ<CEAB>·<EFBFBD><C2B7>χ™ώύσχ»;ώ<>η<EFBFBD>Ηώ‡<CF8E>α<><CF8C><EFBFBD>ύO<4F>1φί~κψάόϋγΏΫΗηθΏ<><CF82><EFBFBD>k~Φ^<5E>Δ<EFBFBD>[υ<6F>?<3F>}πλγsφ'ςF<7F>0©ώm—Ώνγ¥ύ<C2A5><6C>΄ιί²ώ―νωΞυ§m<C2A7>b<EFBFBD>Ω¶<CEA9>π<EFBFBD><13>Η<EFBFBD>ώΰOώοHόgά<67>Ώjώ<6A>υό_β<CEB2><7F>ηό+η<>Ω<EFBFBD><71>σ<EFBFBD>Θ?μ[η<>Ι<EFBFBD>!<21>ϋ<>ό?ψ<>ό?ς<>π<EFBFBD>α<EFBFBD>Γ<EFBFBD>‡ώ<E280A1><0F>Γ<EFBFBD>πΏ5ώ<35>ϊzω£|ό<>η{qΚρέ¶ωσσο~ΗυΪψγϊο<42>ΟGΫΒρ<07>ΟΗρψm α‡ςί:ώΫvξrτ'y½Β~%ώοg¬ΏόΪϊoy~<7E>yKψ΄ΑηΫΞύ_μ:|θΟ…―-<2D>―Λ<E28095>o<1B>zώw^—δΏΞ<CE8F><CE9E>λφ<CEBB>jλ_?{ώίέ/ΕΏ=ψΥΖKο―·ώ[σ?dωΪϊO<CF8A><4F>ωω<CF89><CF89>Ύω>ζΞ<CEB6>XύS«ς<C2AB>ύϋ_Λπϋν<CF8B>p<EFBFBD>#]<5D>Μϋ―ψωΓώ<CE93>ηοmο<6D>΄ϋ―»<E28095>±i<C2B1>χΠ_gώ?kύέOώγ<CF8E>Γ<EFBFBD><EFBFBD>οΨπ?τ·Km<7F>γ<EFBFBD>Χ­ϋΚσ3Χ<33>υ=ώ2ψµϋ—ύΏ½ρiόOΫώκΗ?<3F>Ώ³ώz>zβ?«ω<C2AB>[γo³μ<C2B3>γ–μτ?ω_<CF89>ρλχ<>β<E28093>Ψν?βί¶ρ'<27>Οvόkt<6B>γ―χ™ωOuϋΏ<1C><<3C>ύΎwnL?Οέ<CE9F>­<C2AD>_<EFBFBD><5F>ΧΞ<7F><C2B6><47>“όΏ+ϊ<>ήΉ<CEAE>κχ?Ν<><CE9D><EFBFBD><EFBFBD><4F>Jφo―ύ'Ν<>Χ<EFBFBD><CEA7>β<EFBFBD>³β<C2B3>ο·<CEBF><EFBFBD>τ9κόύ„υ<03>ϊ ―—ϋώξUO τύ1>ό>Ώ9πγρ__ιηπ·<CF80>ΏΤ<CE8F>)ΕΏ&<26>jψ_ν<5F>ƒί®<CEAF> Χ¦ΏfύΓ»γ?cύ―[<5B>Ώξ<CEBE>ƒΏnύ7ψώ‡<CF8E>Οώη„ΓηήχήϋIαKΟώ―5ώ,¥<><C2A5>φ<EFBFBD>σΡ<CEA1>¤ρ_νυ―έ<E28095>fmύ_ΗΖϊΏs<CE8F>τ?ς<>
ω/“Ώσς_­ϊ<C2AD>Π<EFBFBD>vτ?τ‡ώψ<CF8E><EFBFBD><E28098>8<7F>Σsώ{FώυΊη<CE8A>­η<C2AD><72>σ<EFBFBD><CF83><EFBFBD>ηό?η<>9<EFBFBD>ΟωΞ<7F>c<EFBFBD>Ϋ:<3A>OύoΫη<CEAB>9<EFBFBD>ψ<7F>ϊ<EFBFBD><CF8A><EFBFBD>·yώ<1F>ώ?όΦϊφΨ<33>―{ώώΗώ·Y<C2B7><1F>ψƒΏέψύ_θ<5F>ύ­ϋ<C2AD>τϊ―Q<E28095>Τ¦<CEA4><C2A6>ϊΏΤ<CE8F>Υζ<CEA5>;Ι?{υ?Kώ±<CF8E>!<21><>ώΟΨ<CE9F>Ψ<EFBFBD>Δ<EFBFBD>±<EFBFBD><EFBFBD>#<23>ι<EFBFBD><CEB9><EFBFBD>ϊ[‰<>c<EFBFBD>Α<EFBFBD>Π<EFBFBD>ϊ<EFBFBD>Τ<EFBFBD>£ώγ*τ§ώεϋλ<CF8B><CEBB>ϋ<EFBFBD>Ηλ<CE97>­P<C2AD>¥„Kύ=Ή<><EFBFBD>ϊΤ<7F>¶W<C2B6>ύOύGκΏΩ­<CEA9>†ύ‡όc<CF8C>c[ώ―X<E28095>{<7B>ϊηΦϋ<CEA6>Τχ<73>―g<E28095>S<EFBFBD><53>ϊ<EFBFBD>Τ<EFBFBD>§ώΏ%ύΏ<CE8F>ο<EFBFBD>υ<EFBFBD>Kώ―Ϊϊ<E280BA>ƒώG<CF8E>γ<EFBFBD>Η<EFBFBD><CE97><EFBFBD><1F><>»υ<C2BB>ο·?ΏΌάό<CEAC>υΗ΅άwώχιρ>ύSγ¥πSϊ/ώΰώ/IεΛχC>εδ<CEB5>Y~Jρσοw
~<1D>ςψm;_<0F>Ώ<EFBFBD><CE8F>όΧηόόωφ?τ‡ώkΘ?/YώάϋΧvΏ»γ/•<>σζΏηχώ™<CF8E>m;<3B>O]wλ{&<26>§αΧπ©<CF80>O]χ<>ώ‡<CF8E>-σ?ψΫ¶<CEAB>Gβ?Ύ<>ξχ»}όα<CEB1>ύ?<3F>πGθ<47>IγeώΏtόΑ}_<>mϋ_<16>™Q<E284A2>v•ψOμοOΛΣψχΏίνγγί<CEB3>~―΄ώΫρχύξ<CF8D>υίo~~Ό}†ώΏ†~³<>ηέΟoGώϋρ«yϊΏ]ώϊϊ_Z<5F>ΑϊώOώ#σί>Ύ><3E>ΪλoϋϋΟΆύ‡<CF8D><E280A1>ψ<EFBFBD>„ώRό[θΧ ύΑό­ΰολ²ςηΤ_=ΎR<CE8E>Ο<EFBFBD>륤κ?ηρ/<2F>j><3E>ώί‡
ΏsΕ<17>»πωγώS-ρ«ψςψ—”ώ²υΏm<CE8F>ωοσοη­Ώ1ϊλπΏΤώ<CEA4>a<EFBFBD>jΦΏ΄.<2E>µϋΏiΛY<7F>·t<C2B7>7/-ύοW<CEBF>u&<26>#<23><>Ψ<7F>λΨ<CEBB>Οϋ<>ώψKι<4B>ύ<EFBFBD>ύ<0F>Γ<EFBFBD>Ίόoτ?ώ?όθΫϊώ‡<CF8E>α;όo=<3D>ρ<E28098><CF81>ηό<CEB7>xώ¤tύiη<7F>ύ5αίρόΛΜσ<><CEBB>³yώΥ§WΨ<57>=½?ΘΣ_<CEA3><5F>ί~ώΏ¶?κΉNώ<4E>¬σoιο<>­qώ…σ<CF83><7F>g<EFBFBD>ΓώΧΦxΞ<78>P<EFBFBD>σΧθ?Ξ<>#<23>ρ<EFBFBD>ΰ<EFBFBD>ƒώ¶όΨπ?τ§ώ υ<>¬Χ<CEA7>W¤Η<C2A4>yΗυ?<13>•κ<E280A2>Ιβ?cρΏuκ?¥ρ―ωίηΥ<CEB7>Ρρ<CEA1>KγgσμO<CEBC>ψρτ?υ<>©<EFBFBD>ϋΟΆύGόωOώ<4F>έψΧΘώοψέάϊ―:ύ¨<7F>ς<7F><CF82><EFBFBD>γ<EFBFBD>Υρ<CEA5>­S<C2AD>_<EFBFBD>¤ρς<>Ι<EFBFBD>ΧΝ<CEA7>—Ω<63>λΤ<CEBB>Η<EFBFBD>O<EFBFBD>Okρ<6B>Χ½θαγ<_ϊΊγ<CE8A>Χ<EFBFBD>ά·ιλµϋΗγ¥πkχο}>π<07>ΟΕ<CE9F>UΎ¤ψ<C2A4>_!ΌώµρυWί~ψ½χ‡ώΠ_‡ώΪυο<>Ώtύ―W<E28095>ΊV<CE8A>κ\λjώ:υίΰψώ·Ώuϋ<75>πΕόύ„ώΛ|ηίzω<13>ϋ‡γ<E280A1><CEB3><18>γϊ™ώ―ίΟΖ?„ύ}ϊoΫΉ<CEAB>MN_Ε}n¤τΧ<CEA7>[π―­ΏάΌΔφ<CE94>ϋ><3E>OΝυ―έ<E28095>f…υ/Α†ό»s<C2BB>τ?ς_ΊώΓΎi3δοYώ§ε2ϋ?τ?ϊϊΫ¥?ώβ?Uϋ‡λ\'ώ<>΅φ<CE85>Hό'ξ_2~ώrLώφ<CF8E>/Ϋ3²ώ/RωΟψ_}κϋ<CEBA>ήω—<CF89>??ΏζϊΣο—OΫχΉρe<CF81>Ώ<>Θώ/άΟHη_Wώ<57>μ<EFBFBD>ΒυΧ2εύίέψo<CF88><6F>ψ'ρ<4F>»εΏ΄ΧOmΛ<6D>Ρ΄t<7F>_{ώΙ<CF8E>#<23>ώ'<27>Ο<EFBFBD>ό³ξίΕ<CEAF><EFBFBD><0F><>e<EFBFBD><65>Μώ<E280BA><1B><EFBFBD>±<EFBFBD>±<EFBFBD>µΞ<C2B5>άύό ψƒ<CF88>gα<67>^ύ―-<2D>¥ϊ? ?ό®ΎώΠ_ώ<E280B9>ϊ_ΫvώώωHΧ—z><3E>υ¬Φ8<CEA6>2V<32>j<EFBFBD>ό—Β—ΦΏ=Σ?δ<>4<EFBFBD>¥υΟ|HΑkΕΏ4Ύτw><3E><55>υχzOρ<4F>σνυΝ<E28095><CE9D>#<23>Ζλ<CE96>=sη?5Ώώό§λίΩ”Ψ<7F>κρgΖί6ώ<36>ύ<EFBFBD>9ϋ?i<>΄+ϊ―½sύ[ΧΪτ³Ύώξ#<23>ηΕ<CEB7>µγΏΘθΏ|μ?μ?ό<>Π<EFBFBD>ύώ/ϊ_Ϊξ<CEAA>H<EFBFBD>Wλ<E280B9>ώ?τ<>΅<EFBFBD><CE85>Υώ?Θ?τΏ¬ώλΌώΏΪςίz<CEAF>_μ?δ<>=ω‡ό<E280A1>Υ<EFBFBD>zΜώ_gύKϋοJι<CEB9>ώΏιύ<CEB9>T<EFBFBD>λΨ<CEBB>θ<>ω'Υ<>:ϋλςύ―λ<E28095>+η?<3F>Ιί™ω<E284A2>νϊGκ<47>A<EFBFBD>£<EFBFBD>ρ<EFBFBD>γ<EFBFBD>Η<EFBFBD><CE97><EFBFBD><1F>ψƒ?ψ_<CF88>ΏτόΣ<ω―£<E28095>­Λθ<7F>ώ<EFBFBD>γ<EFBFBD><69>®δ<C2AE>³ξ<C2B3>Βώ‡<CF8E>αόίΰOώw«<77>qίC<CEAF>cλψ\όKώύ?i<ωψ<7F>{γί9~m|.ώΏΖϊ'ώ/ϋ,¥ίμηyχσΫ<CEAB>n=ΟΤ<CE9F>νςΧΧ<CEA7>ΫΦώόΉϊs<CF8A><73>Π£<CEA0>Θό·<CF8C>ΟΏφϊ[ΗώΖώ³h<C2B3>α<EFBFBD>Η<EFBFBD>όΑίzό_<1A>σ/―#<23><6D><12>c<EFBFBD>ΗωWβ?μ<>8<EFBFBD>ΟωδφΏUόΙ<CF8C>!<21>ϋ<>ό?ψ<>ό?ς<>π<EFBFBD>α<EFBFBD>Γ<EFBFBD>‡ώ·sώ ώ‡<CF8E>α<>=|ό<>ηγ:ΧΟΧ<CE9F>ό|ύΟ}›Ύ^»<^
Ώv<EFBFBD>ήηϋlό_½HΒώ'=<3D>¥λKzισχΓ<CF87>η―φ<E28095>έϊίώsαkΚwyώ·<<3C>ωλλ•Ομ<CE9F>Ο<CE8F>π<7F>λµρΗυ3ώ²όW©ό_©<5F>“λ_<CEBB>ο<15>~ώόΏ»<CE8F><C2BB>ΓΧΗ?Η<>©υWο_<CEBF>ω_ύKσ?dωΪϊO<CF8A><4F>q<EFBFBD><70>yn<79><6E>ηcξό<CEBE>Υ?µ(<28>°<EFBFBD>ΩίZΏήoΏ†/ιϊ<CEB9>ν—ϊχ_εηνί<CEBD>}ξώO»<4F>°ώώΗΊύ―K?λλο<CEBB>ς<1F>ώ?ό<CF8C>ΰ<EFBFBD>Γώƒ<CF8E>΅Ώeϋ_ί<5F>¨ ίΊύ76<37>σό<CF83>χ\<5C>sύΏ<CF8D>ώ<EFBFBD> <0B><>^όG<1A>Σ¶ΏΖπηίΕ<CE95>?<>¥ψΟ<5A>ΎψΩόύ<CF8C>{γΔ<7F>Ρ<EFBFBD>γ?-ροX^ΕςL:<3A>ΪςίzόϋΟ®ύGόωOώ<4F>έψ—d<E28094>γτΏDώϋ“mk·<6B>SρΟ<CF81>ψΰzτ<7A>ύ?w<>·Ϊώ<CEAA><CF8E>όΟόgλωΔ<7F>?Ι<>«ι<C2AB>Σί<CEAF>ψ<EFBFBD>ζΕΘ<7F>'<27>µό<C2B5>ϋoFώΏfό<17><><08>Μ<CE9C>λΨ<CEBB>Δ<EFBFBD><CE94>ρGΙψύ+σΚύ®6Ύφ=π<>όχΓOϋ<1F><><EFBFBD>|‰ύWΓ―αί¶<CEAF>.ϋ?4αCθ―M<E28095>ιΈ~µϋ<C2B5>Xύλ|ύι»γχωOο?βύ›σΔϋ<CE94>9ψηαΧρφ?π?όo<CF8C><6F>νβΟώ# ίϊ»υύ<CF85>σ/―KηyUϋΏ?νω1<E280BA>iωλδl|ύω<CF8D>7~]ύ/{ώ»Μ?ϊωΏΆό—όe<CF8C>‡ώ·®<C2B7>΅?τΗ<CF84>oYώΫ><3E> ώγό5<7F><01><7A>ωqήά<CEAE>σηόΏt^^:<3A>ΞΗ«<16><6A>λƒί<11><>=<3D><EFBFBD><E2809C>φόΛώιό?χΌ<CF87><CE8C>©λΏΠ~έwΩώΊv<CE8A>ηc.ό}<7D>µ<EFBFBD>· <20>OλΏϊω,―$τΧ<CEA7>5|kλ/7/­σΉβϊΧΎ®Νw<7F>π―;<3B>;―<>Η=Ο?<>ωίΦύOzΏ2gύ<67>οΏ<CEBF>φj|Ιώ?ΓΟ<CE93>o³<>Λφό―Ν<E28095>γϋο+ΦΏφώί<CF8E>ό£ώ'ώ?όψ<7F>μΦ<CEBC>·<>f¬?mϋ ώΗώ·m<C2B7>«―?ΰψ7”<37>οƒ<C692>ό_ >τ‡ώτ?Ώ<>ύΌσz<1C>Κ]ρ<>7>|?Ξ•Έωwµ²όϋ_5<5F>ύπΛγύο·Ν?7“¥Oηϋάωχk#<23>ΰ<1F>―}ήδπ«­ΏΦρΉΟmώΏ<CF8E>ό»ϋό[—vνέψ<CEAD>~όΫ:ώΨ<CF8E>ν<C2B6>}ε§[?~}Ψqωλί<CEBB>χ;Ό<>:λί®ώC©ό·ώβρmψ£<CF88><74>Ϊρ_δΏuϊ<75>Χ<18><>ϋ`<60>a<EFBFBD>α<EFBFBD>‡ώzτ_±ώΤ=κ_iΧίΌΎυω·΄ώ¥ώcι»nύg9~R<>Ώφ»Δ<C2BB>0―ώx?<3F>µώ<C2B5>χ¬?δϊgµϊ<C2B5>ύςK<CF82>΄ε
<EFBFBD>ρηηόΑΘ?δπeπµίµΧψήj^5<>ύπΛγΟΩ<CE9F>Νέ<6A>φτ<CF86>?ωwχω·+<2B>Ψ<EFBFBD>­η<C2AD>{§ό<C2A7>£¤ώτ?ϊ<1F>ό<7F>ψ<EFBFBD>ι<03>ώοτ<CF84>ώΠ<CF8E>ώίτ<CEAF>~oόΏ-<2D>tώΊφ7ό<0F>Ϋζϊ<7F>Ϊήμ{8ΎφΉχ½χ~Rψ<52>ίΗΛ}w<7F>Ϊύζΐ<CEB6>ΗΣ<CE97>—ώ―¥ώσ®_Π±~ΒψΑΎΛβρψ:<3A>ΏsύKβ'sζ_;ώ“£<E2809C>΅?<3F>λ£ϊ?/<2F><>Οί?­<>γρ5ύo]ώ<>χ<EFBFBD>“κ<E2809C>Z<EFBFBD>²<EFBFBD>>ΏΊ<CE8F><CE8A>ΥώΟΪτί¶¶υu<7F>Λ±υΧή<CEA7>PΫώΕώΓώΓ<CF8E>Oό‡ώΐΎΥώ<CEA5>τ<EFBFBD>΅<EFBFBD>ύ¬φ<C2AC>΅<EFBFBD>µmω_ο__~—ΞΏ6<CE8F>IρΣ<CF81>ω‡όώ]ϋ<>έ<19>OμΏ<CEBC>ύO<CF8D>Oψί.<2E>ύ<><CF8D><0F>ϊύ<0F>Γ<EFBFBD>πΏ%ώ·<CF8E><C2B7>ώ<>αό<CEB1>Ύ—σ'<27>οFσΏΚωίϊω<CF8A>δ<EFBFBD>Ϊ¦<CEAA>ΎΟΣίCψξώk<CF8E>YοόΟ;σ<>9<EFBFBD>λ<19>JΥ/<E280BA>W?<3F>#οg=<3D>_σόΩΊη<CE8A>-<2D><>γό?η<>Ω<EFBFBD><73>σ?6λ<36><CEBB><EFBFBD><EFBFBD>n“ΏξώΎΝµΞώϋ<>σ<EFBFBD><CF83><EFBFBD>Η<EFBFBD><EFBFBD><0F><>=<3D>φηΏ΅ΏMϊS<CF8A><0F>Η
uHVσΏYy—Ζ¤ρΏμ?i<>'ιω»Uκ<55>εγgΗυΡϊίµύ<C2B5>zρ?+φ?ϊ<>ό/κ<>Ω<EFBFBD><CEA9>c<EFBFBD>Ω¶<CEA9><C2B6>#<23>Ι<EFBFBD>³<1B>φ/<2F>³<EFBFBD>\―<>υ<>©<EFBFBD>β<7F>β<><>ήY<CEAE>ζ<7F>%<25><>όMϋwN<77>ϊQύ£<1D>Ε<EFBFBD>O<EFBFBD>O»ω!}<7D>ηΛΡ<CE9B><<>g<γο?>®K®<E28099><72>ς.ψW?Ώ6|θύuεΗωύχϋ<CF87>Χο<CEA7><CEBF>½η_ϊ'η<>Ϊύ―}~ψώ·Μ<C2B7>ΰoΣώΏwύi9|θ―[<5B>U[<5B>κΧ]…<>Βχ<CE92>ότΒ/<2F>χΏ_IώΞΓ<CE9E>ξσ<CEBE>ώGώkΤ<6B>Φ•ΏΦχθτ?τ·Kό<7F>ψ<EFBFBD>άωΞγ|bξόηόxΌ;<3B>/…<>Κ<EFBFBD>βί<CEB2>/­<>p―Xϊά<1B>ρΗΏrQ<72>υ<E284A2>ξχνλΏ4ΎMώKγORω―·<E28095><C2B7>C™όΫ¶6ψ-ρΏ–η=<3D>~ήϊKΩΜξώώyύ<79>Nω/«<>ΠfΊϋ<CE8A>ι<5F>ƒί“<CEAF><E2809C><EFBFBD><69>ν<EFBFBD>Χ<CEA7>γψ·ο<C2B7>|όcώΧ^<5E>ΦγoΔ?±±<7F>Λφyύ%µ<>υχ<CF85>Rό¥ϋ<C2A5>yσ<79><CF83><5F>Θ<EFBFBD>ƒ<EFBFBD>Ι<EFBFBD>λ§Ο§Λ?όίψ<CEAF>π<EFBFBD>α<EFBFBD>³θ<C2B3>g<E280BA>IΟ<49>hΗνς?φ?ηΟxΖ<73>ό/Ξ<>Cωί:ηOΦ‰Ωτ<CEA9>εθ_Ϊ+§~'Ο?Φ±<CEA6>Ι<EFBFBD>ηόη<>8<EFBFBD><47>όΛω<CE9B>Ψ<EFBFBD>Δ<EFBFBD><EFBFBD><13>'ώo[<5B>Υβ<CEA5>#ς«-ώ«<1D>ηό§Uϊ<13>ΗώΓ<CF8E>ύ­ϊ<C2AD>µϋΟhΒ?Ζ»οb<CEBF>ρυΟo}ώ­©<7F>Ω<EFBFBD>#ωύh]ΒλρχeωU§ίΥώ<CEA5><33>?υω«Ν³|ώΗόRώkΏϊοZ<CEBF>Νυλω‡ώΧ¦Ώ$ώ,<2C><>uδΏV<CE8F>ω‡όcΌφϊΧ±?ΧY<CEA7><59>?)ύtώζν<CEB6>¤ϊ_ΗώG<CF8E>λς<CEBB>ηΘΏ»ΟΏMω‡ώΧυ<CEA7>iΛίyϊGκ<47>A<EFBFBD>£<EFBFBD>ρ<EFBFBD>γ<EFBFBD>Η<EFBFBD><CE97><EFBFBD><1F>π<>όwκ<CEBA>ψΟ
φφτΗ<CF84><67><6F>§½<C2A7><C2BD>·<EFBFBD>ΊΆώό<0F>><3E>ƒΏmϋίΓρΗw―Ορυ~ξωKγχ½<^
?<1E>χS<1E>Γ<EFBFBD><CE93>Ώγϊθό»ϋ<1F><>ΑΘΣ_
??bϋό^ν<>ϊΧζEϋ_ϊόο<CF8C>?ιxΗ/m<>{ίΫξ§·ώGρ<47>K?½χ}~ΏΟηιό“ΒΟ<CE92>ιλς?Χ<>/<2F>ΟqωUΣ<55>Ήώg­ϊ??ΎMώZί<5A>­J<C2AD>υ<>έΎΟ]ΟGyώάύΦ°±<7F>ψ<7F>ρ<EFBFBD>ψΐηόΏµό_λωΔ<7F>Π<EFBFBD>Ϊφη<CF86>γ­η±<7F>³³<C2B3>ƒ<EFBFBD><C692>μoλπΙ<CF80>!<21>ϋ<>ό?ψ<>ό?ς<>π<EFBFBD>α<EFBFBD>Γ<EFBFBD>‡ώηό?ό<0F>Γ<EFBFBD><CE93>Λ<EFBFBD>__―|,?<3F>ιθΟςz<CF82>γ»mσύ<CF8D>ξχΊΎmαψ<17>ώψγϊΡ<CF8A>Δυyύ~.όxΌ»~Τgπηό<><CF8C>ςσ»QcψeψGΏ#ΧΏΨυ':ϊ!Ή~Ea<45>γλ?μ›|†_[<5B>ηη<CEB7><CEB7>?μΏ<CEBC>ϊ>…—ƒ_<C692><5F>άΌ΄Β‡ώΪτίχΉπc8ξώ©ωΤ<CEA4>ςόoYώs
<EFBFBD>πz¬<EFBFBD><EFBFBD><EFBFBD>Ύρgώz>ζδΏΞΰ?ύώοηυΪΣiϊϋπΚτ9ΫW¥ω/υίkΑ<>Ορίσ<51><CEB7>Jψ¥τGι~ηϋ―Έώ¥ηgΪΗkλΏ+<2B><>Nσo]ώ±<CF8E>`<60>o<19>Ϊώ§΄_<CE84>³<EFBFBD>Πέ<59>εν<CEB5>s<EFBFBD>α1ωλοβώΟ°<7F>Gι?Cώ•Ξ<E280A2><CE9E>­ΏΎσΏΘόψ<7F>π<EFBFBD>Yυ<59>a<EFBFBD>θo™ώ5<CF8E><6C>±Ο<C2B1>«ν<C2AB>Δ<EFBFBD>!σ_^q]Ϋ<>¦<EFBFBD><C2A6>;―Kγ?<3F>ψ<EFBFBD>¶ύw<CF8D>?¥ςΡςώσzό§ό®ο<C2AE>ίχψΫ,ϋΕψ<CE95>ύOώWOΌzΫζΖ<CEB6><57>[<5B><>c<EFBFBD>Ω¶<CEA9><C2B6>Ϋ†Oώ<4F>νψΧθώ§]<5D>χε?½ή<C2BD>¶ξ<C2B6>¦Η—μ<E28094>ηCbίHχ«ν<C2AB>ύψΏ¥ό?β<>ύΏ+ϊ<>dϋ―}—ψίzτΟ<CF84>ψω<>δ<EFBFBD>―”<E28095>ίk<CEAF>Iυ<49><15>όKΟΧω<>ΧΫ<CEA7>Δ<EFBFBD><CE94>λG½€ψύ+σΚύ®6Ύφ=π<>όχΓ—Κ<E28094>«αΧπΏΪ<CE8F>z5|θύµι―Yθξψί}ώ¥ώ‡9ψλΦί<CEAF>αΫόoiψΦί­ο<C2AD>Η<CF8D>y^ΥώoΕO{ώfΜΏf<CE8F>™uυΏμωο2<CEBF>θδ<7F><CEB4>ς<EFBFBD>]ς—ύϊίΊώ‡ώΠ<1F>ΏeωOύ?Ξ<>sώ†σ?ύηΏgΤ<67>[σό?ωΏ<CF89><CE8F>ηό?η<>9<EFBFBD>ΟωΞ<7F><73>σ<EFBFBD>ΨίΦΞ<CEA6><>ΝωΞ<7F>P<EFBFBD><50>ϊ<EFBFBD>Τ<EFBFBD>ηό?η<>ρ<EFBFBD>α<EFBFBD>Γ<EFBFBD><67>ηΈύ7cύ­yώί<12>c<EFBFBD>Ϋ®<CEAB>ίnό‡ώ/τ<><CF84>ώvύλυ<CEBB>~oύSλώ?κ<>Ϊ®<CEAA>»<1E>ίIώέΏώ―mωΗώƒόΫύ<CEAB>±<EFBFBD><EFBFBD><13>'ώOόί¦ό·ή<C2B7>έΊ<CEAD>Ο:ύmΗ<6D>±<EFBFBD>π<EFBFBD>Cκ<7F>σNύGζίΦϋ<1C>±¬ώ<C2AC>vύ—ώ£Οίη<CEAF>Χ®<CEA7>Gύo«υΠχΤ¤ώέϊoπσΝώΗ¶ό_±ώ·~ύsλύΪφΧν?uνκ<7F>S<EFBFBD><53>ϊ<EFBFBD>Τ<EFBFBD>·΅<C2B7>Χσ<CEA7>½³ώΏD<CE8F>Μρ<>Ρ<EFBFBD>ψ<EFBFBD>ρ<EFBFBD>γ<EFBFBD>Η<EFBFBD><CE97>θ§β9<CEB2>Η<E28095>g<γΧρ΅|?δSNώ<4E>εηµπ―~mψΠϊ―!?΄<>ξ<EFBFBD><CEBE>=ηί­Οσ{Λυyό_»<5F>5Ο<0F>Γ<EFBFBD>ωόmΫ<6D>ξό§σΈσ“ώoΖύΟξώώ™ΛΌ<CE9B>[
?<CF82>~ϋχ½ςπΗζ?ογ<CEBF>/…<>ΒΏDΙωciόA[<5B>κϋυγϊϋέϊρωΓύίχ;<3B>~—ΏχΗίΗχΧ^<5E>?εη<CEB5>qIγ?><3E>sΰ—Η—ξ[Άw<CE86>^νϊ³MώIαKoWώKκΜΠ<CE9C>ωϊuύ/­<>`}<7D>§M<C2A7>Τόυ¬<CF85>ςψ6ύΏοsΧ__ύϋΟ¶ύ‡<CF8D><E280A1>ψ<EFBFBD>ΟxΖίzΌτO‰λΆ¤λ?—<>Ώ<>Ό<16>N<EFBFBD><4E>Ύ<~%<25>)ύ―]W?ΏφϊΣβ<CEA3>υκΟΏΎuω―έ<E28095>M<4D>τϋΐΘ?δγµΗλΪ<CEBB>χΗ<CF87>ήσ<CEAE>ύoΣώ‡<CF8E>απG<CF80>γ<EFBFBD>Γ<EFBFBD>‡ώ·«<C2B7>αψώ·Η<C2B7>ΦσΑ<>σσΦΟ<CEA6>»όΞtώdx½?©΄ώµσ?Ι<>ώyόΗΰΗτ<CE97>ηΟΟ<CE9F>]'<27>_ηόΟ
η<EFBFBD>,<2C>υιύ|<7C>ιοΦ―ϋΏ_n^ώΏ{ο9<CEBF>S_Ϋ?<3F><>ώLϋόυσ<CF83><7F>·½`<60>oΞ<7F>P<EFBFBD>gΞωοφσΨ+<2B><>G<EFBFBD>qώίΊόΗ<CF8C><EFBFBD><0F><>M<EFBFBD>φόύ©<CF8D>Bύ?»υ<C2BB><34>¬γ<C2AC>Υ«Ώ·Jύ?Yόg,ώ·Bύ§ηγόήκ<CEBA>W<EFBFBD>GΗ<47>Σ7E<37>ψzoύο6ϋ_'ώGόύOύgκ<67><11>Ηώ³h<C2B3><11>Fώ[Ο<>³<1C><>νbϋy$<24>­ώ¨N<C2A8>κ<>S<EFBFBD><53>ϊ<EFBFBD>Δ<EFBFBD>©<EFBFBD>γ<E28095>[§ώΏT<CE8F>Hγ<><EFBFBD>―Y<E28095>_j<5F><6A>ϋ<EFBFBD>Χ¨<CEA7>oΧ<6F>O<EFBFBD>ρ<C2AB>Χ“Όd†ο?=δSϊΊ{ώΧ<CF8E>ά·ιλµϋΗγ¥πkχο}>π<07>ΟΕ<CE9F>ίo_ΫΦφ9|Iρ?ΏBx5όkγλ―2Ύύπ{ού΅Ώύεωί²ό‡»γ/]<5D>mρλήω—δΏΏΦη±ί?Γ?ΧΊ<CEA7>ƒ<EFBFBD>¶µΑo©Ώ<15>ΟΧί<CEAF>αψί.ώΦν<CEA6>Γίωχϊ?sπ<73>λεO<ξ<1F>>bό<62>λgϊΏ~?ώ<19>>τχιθKΧΏ&――β>7RϊkΫ<6B>ΧΦ_n^b{Δ}Ξ§ζϊ—ηΚβ+¬ ώ3δ_)ώ96<39>½ρOτ?ς_Gώ<47>ϋ¦Ν<C2A6>Ώgω<67>Λμ<CE9B>Π<EFBFBD>θθo—ώψ<CF8E><EFBFBD>Tν®s<C2AE>ψ<EFBFBD>‡Ϊ<E280A1>#ρ_<5F>μcωί+ϋΖ—ν™^όΟϋG‰όΏgό―<CF8C>>υύοόKΖ<4B><CE96>_sύiΛχ1<CF87>ΏΛη<CE9B>νϋάψ²<CF88>_d<7F>ξg¤σ―+<2B>αϊk™Ώςώοnό7Ο<37>Mό“ψ'φ<>ές_JφWΏύ―k<E28095>θ>Ώφό“<CF8C>όOώ<4F>UωgέΏ<CE8F><0F>ώ?Λώ?™ύ7#<23>_7ώ<0F>c<EFBFBD>c<EFBFBD>k<EFBFBD><6B>Ήϋωπ<07>ΟΒ<CE9F>½ϊ_[ώKυ~ψ]}<7D>ύ΅Ώύ¥υίό9ΜΥσοίW<CEAF>ο<EFBFBD>η_Ζϊ_Μ<CE9C><52>ϊwgϊ‡ό¦³΄ώ<CE84>Ο)x­ψ—Ζ—ώΞηΏJόί²ώ^ο)ώ>Ξό―½ώµω<C2B5>sδίxύΗηcξό§ζΧ<CEB6><CEA7>t<EFBFBD>›ςϋ_=ώΜψΫΖ<CEAB>±<EFBFBD>?g<>W•Ώ_Χ^<5E>Φυ<CEA6>6ύ¬―ΏϋΘ<CF8B>yρνψ/ςϊ―ϋϋ<0F>Ώ<7F>Λn<CE9B>_ϊ?ιΡ<CEB9>ώΧϊύ­Σ<C2AD>9<EFBFBD>­<7F>αΌώOσϊ/¦ϊe•ϊ<E280A2>Rω§έ<C2A7>«l?<3F>­Ώϋω‡ώ_ƒώcρηyύ<79>΄εΏέώΨΘ?«ςω―Ϋ<E28095>{<7B>υ<6F>Ρ<7F><CEA1>ό<EFBFBD>9ςO<CF82><4F><75>Φεϊ_Χ<5F>“Ώ3σ<33>Ϋυ<CEAB>Τ<EFBFBD>ƒώG<CF8E>γ<EFBFBD>Η<EFBFBD><CE97><EFBFBD><1F>?ώ/+ώOπ<07>Χ<CEA7><68>ΨΠϊΫυ<CEAB><>iο<69><6B>Ϋχ_cη<63>αψώμ<7F>σψΧηψϊΏ<CF8A><><>7<>ώψίοφρ9ϊ―<01>¬<EFBFBD>ώ~RΧCϋ?µ~<7E>~ϊζUϋ?χό?εη>ΚσηξWζ<57>Vψµρρ<39>ήΟΪλΏύyΣογλ<CEB3>οgόyΏ―ιί΄=7ώϋΰΧΗημOδ<CEB4>ό<EFBFBD>εΧύΫ.ΫΗχ<?ώΏΥθί²ώ·­έ<E284A2><35>¶ύύgΫώΓ<CF8E>Οωόΰώ<><CF8E>·“<C2B7>k=<3D><>ψϊίηΪ<CEB7>cώ/mϋ—ό/φ–χλρ?ςω‡ύOώω?Ψ<>Ψ<EFBFBD>π?όOώωψ<7F>π<EFBFBD>΅<EFBFBD>Ρ<EFBFBD>π?ό<0F>Γ<EFBFBD><52>ϊzω£|ό<>η{qΚρέ¶ωσσο~ΗυΪψγϊQ_ΑΗψwƒ<77>|„π·-ΐi…<69>|Μ…<1F>wΧ<77>ϊΎό·<CF8C><C2B7><EFBFBD>ϋo[ΨΕο<57>~Ζϊ«Α­<E28095>ηχ<CEB7>·„Oόpώ·νά<CEBD>S†ύοF<CEBF>Ήπµε<C2B5>σmγSΟ<53>ΞλόΧς•ώοώϊMΩΣ1ύ|x3ηΏΤλΌ~¶­}όσqξΏ•ζ<E280A2>όjγ¥χΧ[<5B>­ω²όmύ'Ε<>όόΟGίό?sη?<1E>|”ΗΫμΨ<7F>Z†ίo<CEAF>‡ϋιϊχο7g<37>Ο<CE8F>q<EFBFBD>ύςΏlυ<7F>Ώ\w<>cΣώο΅ΏΞόΦϊ»<CF8A>όΗ<CF8C><EFBFBD><0F>ί§ψ<C2A7>°<EFBFBD>ΰθo—ώΪώΗ―[χ?”ηg®<67>σ<>zόeπkχ/ϋ{γ?<3F>ψ<EFBFBD>¶ύΥ<CF8D>8υ|τΔVσ<56>·ΖίfΩ<66>+Ζ<><>θςΏ4γΧ<>-Ε<>±<EFBFBD>ΔΏmγ<4F>νψΧθώΗ_ο3σ<33>κφ9ώyϊ<>|οά<CEBF>~<7E>»<EFBFBD>[m<>Ώ<02><EFBFBD><E28095>l=<3D><>ψ<EFBFBD><57>½s<C2BD>Υο<CEBF><1B>!<21><>ό<EFBFBD>•μί^ϋO<CF8B><4F><1D>Ε<EFBFBD>?&<26>fΕ<66>ίo<CEAF><13>σzΉz m<>{_½χ“Β—ώόΑίώ±|‰εsϊz,?Ζρ?δΣρ<CEA3>~ <0A>Ϊψτuχό5όΗΰχήϊCϊ‡ύέψ\ύ΅sύ WKκ|ίάψuδ<75>ιϊOΟ<4F>tώSυ<53>~ΏΣγCϋϊX<CF8A>9<EFBFBD>Cμ?<3F>γΨηΏί)ψuόΛγ·ν|έ~ψώ·Ν<C2B7>ρ·n<C2B7>υ<02>~Βϊ<CE92>αο^υγΓοσχ›<03><>ϊΉ Ώ4<CE8F>EJmϋΏ†mύIύ<49>Ϊλ_»ώω
λ_ΏtύλΧE<EFBFBD>#<23>υδ-ώ1&Ϋγμ<>Π<EFBFBD>Φυ?τ·Kό<7F>Δ<CE94>τη:Χ3ό/]<5D>mόΫ <1E>:ώηψΟ¶•ς―Ξω“#ρ£πωJυfZζ―6Ύ\Ο¦<17>sό¨ώ<C2A8>ΑΕ―ςπ¥ρ/)ύ¥ςelώ%γΟΟ―Ήώ΄ε»υσΘέϊϊς<CF8A>ϊ<1F>η<EFBFBD>WX<57>Οc<7F>c<EFBFBD>KμχφΏ®ύ£ϋόΪσ?f?‡»Ιϊwϋ—mΩµ<7F><C2B5>Οό΄οΟZψO²<4F>ƒ<EFBFBD>οΘ<CEBF>σδ<CF83>[ςΟΊ<17>ώ?όύ2ϋ/½ώ\υ6ώ/σKΏύu><3E><>{Α<>Ψ<EFBFBD>Ψ<EFBFBD>γφ―”<E28095>οi<CEBF>?ψ*ώοΥ<CEBF>Ϊς_<CF82><5F>ΣπΓοκϋ'θύµθοΞΏΔυ®^4τkd…υ—^ηVό9τλKύ~<7E>ΗίϋχΧ®γ?_κΊ[ί3εΏ~~||έΘi:§ζίΡΏ^Ση<CEA3>ΌVόKγK²ϊ<C2B2>ιϊcn^Zκ®R<C2AE>Q‡<51>?Gώ<47>­<EFBFBD>xήfΜj~ύω<CF8D>ωΗ²όΓώW<CF8E>?3ώ¶ρμ<7F>ΟΩ<CE9F>οΕΧµΧΏuύ§M?λλο>ς^ό_;ώό‡ώkΑΗώΓώΓ<CF8E>ύίο<CEAF><CEBF>¨<EFBFBD>uχϊW<CF8A>ϊ§ϊυιoνυ/υϋq¤Ώ<C2A4>σχώ~λο§Χ<C2A7>uύη:ώ©xείΟ\<5C>ΏΏ^ψ©ω<C2A9>Η<EFBFBD>ι<32>/•5<7F>σοχ»ό<C2BB>cλ―ΗώAώ΅<CF8E>Χ <CEA7>XόYJ<59>
<EFBFBD>ϊϊ'<27>µυςΟ<CF82>όCώ‡φω ϋ³Ηώ_gύηνΝύ9<CF8D>ώRψcΏ<63>·<EFBFBD>“κϋύ―Λ<E28095><CE9B>#<23>¤ϊ_g<5F>o]ώ΅<CF8E>εόη1ω;3<>Ώ]<5D>Hύ?θτ?ώό<7F>ψ<EFBFBD>ρ<EFBFBD>Σ<EFBFBD><CEA3>ώοΰώτ§<7F> τ‡ώτ<CF8E>¦<EFBFBD>χ5ώΩωW9ώΊϋ?ψώ·Ν<C2B7>τ<EFBFBD>µl<C2B5>ώΒΎώ“η~<7E>µρΉώ<CE89>Ϊπ­¦<7F>+ύϋσί=CύQ<><7F>¬°ώ%ω<33>ί/<2F>oζόΛΰk?ΏMως³D<C2B3><44>Ι_wΏ«ϋ<C2AB>}ώώO—ώcσί>^Ϊ<>ςκυ§m<C2A7>b<EFBFBD>Ω¶<CEA9>π<EFBFBD><13>΅<EFBFBD>#ψƒ?ύ?ι<>C<EFBFBD>ϊ<><58>C<EFBFBD>kΫςί[ϊΧϋυκύ:χ3ϊΏλΚ<CEBB>:ώµυ—XΉοΓωΤ\<5C>Ϊό<CEAA>όCώa<CF8E>Ϋν<CEAB>wwό?―<>7φ?ύ?α»όo τ?ώ?όθτ?ό<0F>Γ<EFBFBD>Φψ<CEA6>|x>sώ<73>σ<EFBFBD>£ω“<CF89>υ¤<CF85><C2A4>τΧ„Οσ/σΞ<CF83>θη?[?<3F>;R<>ζω<CEB6>ϊ[νγλυ·Θ<C2B7>Χ¬ΏΒωΞ<><71>ύϋ[<>9<EFBFBD>Λη―±<E28095>9<EFBFBD><39>όΗ<CF8C>ƒ<EFBFBD>ϊ[τ<>a<EFBFBD>Α<EFBFBD>Πί.ύ©<CF8D>σΨόΟσήsύΟΓ¥ϊ#ρiόo…ϊOώO3Ξ<33>ιϊ<CEB9>eρ3ωώ_7ώgέώG<CF8E>Ϋ<EFBFBD><CEAB>P<EFBFBD>ΟϋΟ¶ύGόωOώ<4F>έψΧΨώo^ύΧϊΏR<CE8F><52>ϊ<EFBFBD>δ<EFBFBD><11>·Z<C2B7><5F>§½<C2A7>φ<7F>%<25><>ό<EFBFBD><35>Gμ?iώ<69>
υ<EFBFBD>ρ<EFBFBD>Σ<EFBFBD>Σr<EFBFBD>—ƒ<EFBFBD>ύυΦοpσWC£<ή­<CEAE>x<EFBFBD>ψ―wW'%όόϋwΑoΗ?=ήΥ_kΑ¬ϊC ϊ‡ο‡]ιΰ;[ρψ]Ώ<ή<>ήΥϋ$όο><3E>αϋ¶¥<C2B6><CE8F> ·<17>άsηρ<CEB7><CF81>αψί.ώΨ<CF8E>ώxη—<CEB7>―‡π?uΌυύί™/·­ν³tώΧ°<CEA7>λψ—<CF88>_oώFΗ<46>ίί{}-ύ/}ώϋΝ?ϊωΏ<CF89>όΧ“Ώψ<CE8F>Π<EFBFBD>υ?τ‡ώψ<CF8E>-ΚIώO <>ι9<CEB9>κ<EFBFBD>Ώ~*<2A>ό‰Ώ΄ώ<CE84>ΎrύSόό°Zό'Ώ<>ςοος…sϋ―R<E28095>—6ωκ<E280BA>R—Ώ<E28094>ψ“TώλνηΠ_*<2A>ϊαηπ<CEB7>ΗΧβϋ>wύΕτϋ»γΫ¶¶ώϋϋI]ο·?γρώω<CF8E>ώ£πγρψ<CF81>{θΏmiy0Ύι£<CEB9>ϋε<CF8B>ώνϋΏ4ώωω[aύ[<5B>Ώ<11>Δώ¶n<C2B6>Ηφϋ¨ύΩg<CEA9>kΩ?RόηΫΏ£σ<1F>'<27><>ό?ψ<>όΏήύΏω‡<CF89><1B>ώ?όsμΏYωWZφ—]ώΗώ'<27> ψΐΙ<CF80>"<22>ϊsώWϋό<CF8B>φω'ληϋίηΞΏ¶ύΟω?Ξ<><71>σφςΏΘ<CE8F>·<EFBFBD><C2B7><EFBFBD>ύOό<4F>ψ?ρβ<7F>6υ_kό³]ώχα―<15>ηό§Uϊ<13>ΗώΓ<CF8E> ύ­<CF8D>?ξ?qψ…^<5E>γλa<CEBB>‰O<1D>ϋ<EFBFBD>κ<EFBFBD>ΣΦ#5>ΧcUψΦηί<CEB7>ϊ—ϊ<E28094>¥οyωW§<57><>#Οίγ<CEAF>Χ~—ψfπ_ ~ό?<3F>µώ<C2B5>χ¬?δϊGώω%Υ?Ϊς?…<>ψσΏsώΰ?δςψ2ψΪοΪλ?|oµ?―<><E28095>~ψερ¥οημ<CEB7>ζξ?µν{ϊ-ώΏ<CF8E>ό»ϋόΫ•μ<7F>Φσ<CEA6>½SώΞΡ?R<>ϊύ<><CF8D><1F>ό<7F>ψ?€|ΰλΕZσ<5A>®…―<17>±$<24>΅?ϊ<1F> ώμψώ·κ<C2B7>Ζ<EFBFBD>oΥώίχpόΎ‡ώΓ}—ωγρϋ^/…Ώο}ώΟώΗόΧGηίέ<CEAF>ψόF<>ώRψρ<78>Θ<EFBFBD>«―<C2AB>η£υsο{ΫύτΦΏυψ<CF88>>ρωQύί&<26>¤πσγkϊίΊό—φ<E28094>“κ<E2809C>|<7C>²6ύ]<5D>?ϋΏUιί²ώ―ν9¶ώzϋjΫΏΨδΰ<7F><03>όί±ψ<C2B1>΄<56>υό_β<CEB2><7F>ηό+η<>Ω<EFBFBD><71>σ<EFBFBD>Μ?φ·­σ<C2AD>δ<EFBFBD><CEB4><EFBFBD>‡ύOώόOώωψ<7F>π<EFBFBD>α<EFBFBD>C<EFBFBD>ςω/ψώ‡<CF8E>νρ<CEBD>ΧΧ+ΛΟ:ϊ³Ό<C2B3>τψnΫ|<7C>ζΏϋ½®o[8ώ…§?ώΈώϊ>μ<>ςοίΉπγρΫΒηό<><CF8C>ςσ»QcψeψΫvξtτ'z½Β~E~<7E>λ?ξ›Γ―­<E28095>σsΕΟφ_I}<7D>ΒΛΑ/Οn^ZαCοϋ\ψ1<CF88>°<EFBFBD>W<<3C>Ϊς_<CF82><5F>Nα^<5E>υσσΡΜ_ΟΗ<CE9F>όΧό·n<C2B7>Ώ<EFBFBD>^¥~υ<65>ν«<CEBD>όΏ»<CE8F>_<EFBFBD><5F>c~(α<CEB1>¥ϋ<C2A5>οΏβϊ—<CF8A><E28094>i­<E28095>®xώ;ΝΏuωΗώƒύΏeόkϋ<6B><CF8B>~iΞώCw<43>e}<7D>§έ<C2A7>\<>ƒύ?J<>ςO»<4F><1F>ώ?όΨΦωϊ[¦Ν?Ϋομσ<CEBC>jϋ?ρΘό—W\ΧφΏiγ<69>Ξλ<CE9E>ψ<EFBFBD>4ώ§m<C2A7><6D>γOι~@9<>y=ώS~Χχ<CEA7>οϋHόmύΏbόΟύ<E28099>ώ'<27>«'^½msγ<73><>-Ε<>±<EFBFBD>ΔΏmΓ'<27>Οvόkt<6B>Σ®<CEA3>ϋς<CF8B>^οN[χΖ?Σγ<4B>σ!±o¤ϋΏΥφ<CEA5>+πΏ~όίRώρΛώίύ²ύΧΎKόo=ϊgFό‡ός<7F>WΚ<57>οµ<CEBF>¤ϊG;ώ<><CF8E>ΏEώ¥ηλ<CEB7>όΗλνβ<7F>Ηυ£_ΘίOΨ?δθOτzΉΟαο^υγΓοσχ›?<1E>υ•~.πΫψKχ?Rόkϋ<6B>ώW<CF8E><57>ƒίΎ<CEAF>ƒώΠ_ώ<E280BA>ύο<><CEBF><EFBFBD>υΏn<CE8F>ΗΊ<CE97>mώΊύ<CE8A>ΰψώ·‰?ϋ<>ώ <0A>{ί{ο'…/ύ=ϋΏV<CE8F>³”ώ«Ϊ<C2AB>ΟGΫzΖ?΄Χ<59>φnο<6E>Ό¶ώ―γ?cύλχF<7F>#<23>Χ<CEA7>2ω;οό<CEBF>U<EFBFBD>ϊί<CF8A>ώ‡ώΠ<1F>?ςΏ<CF82>ώnύΖψεΖσ<1F>Τ΄<CE84>ΛΏτΏmνρ£tύΏώσΧαϊo©_U:=zώ}Φωoύσ?γτ<CEB3>!Fα;ό[Ηωq=3έυ·Άόο<>yΧ­ΧμΛ_—ΝΏ6<CE8F>IρΣ<CF81>Ώχ_ΏΎώυ†ύ―έ<E28095>ηχ{Δώκµ<CEBA>µν ώΪπgΜ?υΏθ<CE8F><05><>a[ώYχ<59>β<EFBFBD>Γ<EFBFBD><EFBFBD>Ο®<CE9F>Ob<4F>Νθ<CE9D>£_<C2A3>ώΗώ§ώ/ώπβ?τ²Φ<C2B2> ϊγ<CF8A>£ώ/ώ?κ<>Ω¬<CEA9>g½ώ― <0C>Ωλ_><3E>ρ<78>R<EFBFBD>wζώ‡όϋO<4F>ύ<EFBFBD>ύOόϋ<>ψ?ςΏMώΟ<CF8E><CE9F>®<EFBFBD><C2AE><EFBFBD><EFBFBD>ϊ[‰<>c<EFBFBD>Α<EFBFBD>Πί&ύ©<CF8D>ΗιOύΛχΧ<CF87>χ?<3F>Χ<EFBFBD>[΅ώK <09>ϊ{r<><72>υ<>¨<EFBFBD>m―ώϊ<>ϊ<EFBFBD>Τ³[<5B> ϋωΗώΗ¶ό_±ώχυΟ­χ<C2AD>©ο<C2A9>ζΤ?_Οώ§ώ?υ<>©<EFBFBD>%<25>ί;λ<>—ό_µυ7'<27>ύ<>ώΗ<CF8E><CE97><EFBFBD><1F><><77>ίo~xΉω?λ<>C<EFBFBD>ΈοόοΣγ}ϊ§ΖKα§τ_8όΑό_Κο‡|ΚΙ<CE9A>³ό”βΘηίοό:ώερΫvΎ><19>1ψ―ΟωωσνθύΧ<CF8D>ώ^²όΉχ―ν~wΗ_*<2A>ηΝΟού35Ϋv<1E>ΊξΦχLώOΓ―αS<1B>Ίξ??ό<0F>π·m<C2B7><6D>Δ|<7C>έοwϋψΓ<CF88>ϋ4α<34>Π<EFBFBD>ΖΛόιψƒϋΎ><3E>ΪφΏ,ώ3£ών*ρ<>Ψί<CEA8>§ροΏΫΗΗΏ<CE97>ύ^iύ·γοϋέ¥λ?Ύί8όόx<CF8C>ϊ ύ ύf?Ο»<CE9F>ί<EFBFBD>όχγWστ»όυυΏ΄ώƒυύ<CF85>6ύGζΏ}|}ώµΧί:φ7φ<37><0F>?ρ ύ¥ψ·Π―ώ<ϊƒ?ψ[ΑίΧΟ©Ώz|¥<1C>9ΧKIΥΞγ_Τ|>ύΏ<0F><>/ώwασΗύ§ZβW-περ/)ύeλΫ¤σίχΌηίΟ[Χα©ύ?ΓώΥ¬i]ώkχΣ<CEA3>²ώoιώn^Zϊή―ώλLώGώ!<21>°<EFBFBD>Χ±<CEA7><67><>ύρ<CF81>ϋϋώ‡<CF8E>uωί.ώθόψ<7F>Π<EFBFBD>υ<0F>Γ<EFBFBD>vψίzώ#γ9<CEB3>Οω<CE9F>ρόIιϊΣΞ<CEA3>$<24> ϊkΒΏγω—™ηΦ9<CEA6>gσό«O―°?{z<7A>§Ώ4<CE8F>ΏύόmΤs<CEA4>ό<EFBFBD>Yηί<CEB7>ί·<CEAF><C2B7>[γό η<>8<EFBFBD>Οώ‡ύ―­ρ<C2AD><CF81>΅ώη―Ρ<CEA1><7F>γ<CF8E>Α<EFBFBD>ύmω<6D>°<EFBFBD>ΰθOύκ<>Y―<59>4―ώH<CF8E><48>σ<EFBFBD>λ&ώ+Υ<>ΕΖβλΤJγ_σΏΟ«<CE9F>£γ<C2A3>ΖΟζΩ<CEB6>:ρ<>θκ?S<><53>ψ?φ<><45>ψ7ς<37>ό?»ρύίρ»Ήυ_uϊ<75>P<EFBFBD><50>ϊ<EFBFBD>δ<EFBFBD><11>Η<EFBFBD>«γ<C2AB>[§ώΏT<CE8F>Hγ<><EFBFBD><E28095><>Ζς<CE96>Χ©<CEA7><C2A9><EFBFBD><EFBFBD>ώ<EFBFBD>Φβ<CEA6>―'zΡΓΗ<CE93>xΎτuΗ?―<>ΉoΣΧ<6B>ΗKαΧξίϋ|ΰώ<><EFBFBD>«IX<49>¤ό9|Iρ?ΏBx5όkγλ―2Ύύπ{ού΅Ώύµλήιϊ_―ώu­ώΥΉΦΥόuκΏΑ<CE8F>π?όoλφ<CEBB>αωϋ ύ—9ψΞΏυς'χΗ?Ηυ3ύ_Ώ<5F> <0B><>ϊϋτί¶s<C2B6><EFBFBD>Ύ<EFBFBD>ϋάHι―m<E28095>·ΰ_[Ήy‰νχ}8<><38>λ_»<5F>Ν
λ_<EFBFBD> ωwηώ?θδΏtύ‡}ΣfΘί³όOΛeφθτ?τ·Kό<7F>Δ<CE94>φΧΉNό<4E>Cν<43>ψOάΏdόόε<CF8C>όν_¶gdύ_¤ς<C2A4><CF82>ρΏ>ϊΤχ<CEA4>½σ/~~Νυ§-ίΗό<CE97>.<2E>οsγΛώ=ψΘ<CF88>ύ_Έ<5F>ΞΏ®όΩ<>…λ―eώΚϋΏ»ρί<<3C>7ρ<4F>Ψ<EFBFBD>i―<69>Ϊ<CEAA>£i<C2A3>θ>Ώφό“<CF8C>όOώ<4F>UωgέΏ<CE8F><0F>ώ?Λώ?™ύ7#<23>_7ώ<0F>c<EFBFBD>c<EFBFBD>k<EFBFBD><6B>Ήϋωπ<07>ΟΒ<CE9F>½ϊ_[ώKυ~ψ]}<7D>ύ΅Ώύ¥υΏ¶νόύσ‘®/υ|¤λY­qώe¬ώΥ<ω/…/­{¦Θi:Kλ<4B>ω<<3C>Χ<E2809A>i|ιο|ώ«Δ<C2AB>ου<CEBF>β<EFBFBD>ηγΜ<CEB3>Ϊλ_<5F>?Gώ<47>Χ<EFBFBD>{>ζΞj~ύωOΧΏ³)<29>°<EFBFBD>ΥγΟ<CEB3>Ώmόϋ<><CF86>ώiWτ_{ηϊ·®<C2B7>΄ιg}ύέGώΟ<CE9F>kΗ<7F>Π-ψΨΨψ<7F>΅<EFBFBD>ϋύ_τΏ΄έ<CE84>ώ―Χθ<7F>C<EFBFBD>«ύ<CF8D>θΧµεΏυώΏΨΘ?{ςω?«<>υ<EFBFBD>ύΏΞϊ—φί•<CEAF><E280A2>>ύΣϋ?©ώΧ±<CEA7>Ρ<EFBFBD>Ίό<CE8A>9ςO<CF82><4F><75>Φεϊ_Χ<5F>“Ώ3σ<33>Ϋυ<CEAB>Τ<EFBFBD>ƒώG<CF8E>γ<EFBFBD>Η<EFBFBD><CE97><EFBFBD><1F>ππΏιω§yς_G<5F>[—<>Πύ?Η<>ΣΎ]Ι<><67>…ύ<0F>Γ<EFBFBD>ψΏΑ<CE8F>όοV<CEBF>γΎ‡ώΗΦρΉψ—&όϊ<CF8A><78>π<EFBFBD>χΖΏsώόΪψ\ό<CF8C>υOό_φYJΏΩΟσξη·#<23>έz<CEAD>©<EFBFBD>Ϋε――<E28095>·­ύωsυη8<CEB7>΅G<CE85>ωo_<>νυ·<CF85>ύ<EFBFBD>ύgΡώΓ<CF8E><CE93><EFBFBD><EFBFBD>ψ/ψƒΏυψΏ4ώ3ζ_^GώΫΜ<CEAB>Ηώ<CE97>σ―ΔΨ<7F><71>σ<EFBFBD>Θ?μ«ψ“<CF88>φ?ωπ?ωδ<7F>α<EFBFBD>Γ<EFBFBD><EFBFBD>ύoηόό<0F>Γ<EFBFBD>¶ψ<C2B6>υD/zψψΟΗ<75>―;ωωϊ<CF89>ϋ6}½v<C2BD>~νώ½ΟχΩψΏz„ύOz>KΧ—τώ<CF84>ηοΟ_νU»?τΏύηΒΧοςόoyώσΧΧ+<2B>Ω<1F>{~<7E>ώ<EFBFBD>ΰΧkγ<6B>λgόeω―RωΏR<CE8F>'ΧΏ>ί<>*ώύόωw<7F>=‡―<E280A1><EFBFBD>?Sλ―6ήΏσΏώϊ—ζΘς΄υ<CE84><14>γώαόσά:<3A>ΟΗάω«jQώa<CF8E>³Ώµ~½ί~ _<>υUΫ/υοΏΚΟΫΏ?ϋάύ<CEAC>v<EFBFBD>aύύ<CF8D>uϋ_—~ΦΧί=ε?ώ?όψ<7F>>Α<>‡ύ<07>CΛφΏΎ<CE8F>QΎuϋolώηω?οΉώηϊ<CF8A>ύ;ώ<19>ώΌψ<CE8C>4ώ§m<6D>αΞΏ‹#9?~,<2C>Kρ<4B>µό<C2B5>}ρ³ωϋ<CF89>χΖ<CF87><CE96><EFBFBD>£<EFBFBD>-ΗZβί±Ό<C2B1>ε™tώµεΏυψ?φ<><>ψ7ς<37>ό?»ρ/ΙώΗι‰ό;φ'ΫΦn<CEA6>§β<C2A7>¥ρΑυθ<CF85>ξώoµύ<C2B5><><CF89>ωΟΦσ<CEA6><CF83><EFBFBD><7F><57>§Ώ<C2A7>ρ?Ν<CE9D><E280B9><EFBFBD><4F><6A>=φί<CF86>όΝψ/ώ<>ώ™<17>Χ±<CEA7><EFBFBD>γ<>:ρϋWζ•ϋ]m|νψο<CEBF>φ?<ϋ®†_ΓΏm<CE8F>hΒ‡ώΠ_ώηϊΣqύjχ<6A>±ϊΧωϊΣwΗ<77>ξσ<CEBE>ήΔϋ7η?<3F>χΟΓ―γί²<CEAF>,νΰψί:<3A>ΫΕ<CEAB>ύGΎυwλϋ?η_,_—Ξσ<CE9E>φ+~Ϊσ7cώΣςΧΙΩψϊσ1oόΊϊ_φόw™τ?ς<45>.ωΛώύo]<5D>Cθ<7F><CEB8>ί²ό·}ώόΗω<CE97>ώυπ5σ<35>βΌΉ9η/ΞωιΌΌtώ<74><CF8E>W-ώΥ<CEA5>ΧΏ'ώ6#ώ¥{ώ'5<>νω—)όΣωξy9<79>SΧ΅ύΊο²ύuνώΟΗ\ψϋ>k<>oAώ<41>ΦυσY^Iθ―-<2D>kψΦΦ_n^ZηsΕυ―}]<>ξ>Θ?ΰ_wώw^<5E><>{<7B>ώ¤σΏ­ϋ<C2AD>τ~eΞϊί¥ν<C2A5>Τψύ<7F>;ί4f<34>νψ_<5F>ΗχίW¬νύΏ5ωGύOόψ<7F>π<EFBFBD>Ω­<CEA9>3n<33>ΝXΪφό<>ύoΫώW_ΐ>πo(<28>ί<07>:ωΏύ5θ~<7E>ϋyηυ8>•»β?o|ψ~<7E>+qσοjeωχΏjώϋαΗϋίon&K<>ΞχΉσοΧFΑ?_ϋώΌΘαW[­γs<CEB3>ΧX<CEA7>Ϊό?ωwχω·.<2E>μΪ<CEBC>Ίρ?ύψ·uό±<CF8C><6D>ϋΚO·~όϊ°γςΧΏ<CEA7>οwx<77>uΦΏ]ύ7‡ώRω7oύΕγΫπG<CF80>ιΔ<CEB9>µγΏΘλτ<>ήF<CEAE>χΐώΓώΓ<CF8E>ύυθΏbύ©{ΤΏ<CEA4>®ΏyσoiύKύΗ<CF8D>wέϊΟrό¤ώνw‰<77>a^ύρ4όψ/~ώkύ<6B>οYΘ?τΟjυ<6A>ϋε—T<E28094><68>ώγΟ<CEB3>Ξωƒ<CF89><C692>Θ?ΰΛΰkΏk―<6B>π½ΥώΌjώϋαΗ—Ύ<E28094>³<EFBFBD>»<E280BA>Τ<CEA4>νι<CEBD>µψ<C2B5>οξσoWώ±<CF8E>[Ο<>χNω;G<>Hύ?θτ?ώό<7F>ψ<EFBFBD>ρ<EFBFBD>Σ<EFBFBD>ψΐ>ύίι<CEAF>ύ΅?ύΏι<CE8F>ύήψ[ώιόuνώ·Ν<C2B7>τ<EFBFBD>µ½<C2B5>Ψχp|νsο{ού¤π¥Ώ?ώ<>—ϋ<6<>ξώµϋΝ<CF8B><1F>§<EFBFBD>/ύ_Kύη]Ώ cύ„ρƒ}—Εβρηϊ—ΔOζΜΏvό'G<>CΧGυ^ώ¥<CF8E>Ώ~Z<>ΗγkϊίΊόο<>'Υ<>µώe5}~u<>?«ύ<C2AB>µιΏmmλ<6D>κώ—cλ―½<E28095>΅¶ύύ‡ύ‡<CF8D><E280A1>ψύ<17>|«ύ?ι<>C<EFBFBD>ϊ<>Xν<58>C<EFBFBD>kΫςΏήΏΎό.<2E>mώ“β§=πςωό»φ<C2BB>»3ώ<33>Ψϋ<>ώ<EFBFBD>πΏ]ώ·†?ϊ<1F>ώ?τ?ϊώ‡<CF8E>αKόo=<3D>ό9<CF8C>Βω<CE92>}/ηOί<>ζσΏυσ?Ι<>µM<C2B5>}<7D> <>Ύ‡πέύΧ8<CEA7>²ήω<CEAE>wζ?sώ7Χ<37>2<<>_6#<23>ΏΤ<CE8F>®~ώGή<47>ΞzώΏζω³uΟ<75>[:<3A>ΗωΞ<7F>³<EFBFBD>ηό?η<6C>?<3F>έ&έύ}k<E280BA>ύφ?η<>9<EFBFBD><39><EFBFBD><0F>ώ?{ώ?μ?ΞCτ§ώώ<>κ<>¬ζ³ς.<2E><>Hγ<CEA8>ώO<CF8E>σΤ<C2AB>ΛΗΟ<CE97>λ£υΏkϋ<6B>υβτ?ω_Τ<5F>³<1B>Ηώ³m<C2B3><11>Fώ“<CF8E>g7ώ%ν_:g<>Ή^<5E>κ<>S<EFBFBD><53>ϊ<EFBFBD>Δ<EFBFBD><><57>½³ώΏD<CE8F>Μ9<CE9C>Jώ?ω<><CF89>φο<CF86>ώυ£ϊG;ώ<CF8E><E280B9>ώ<EFBFBD>vσ?BϊΟ—£<E28094>ΟxΖί|\—$]<5D>ε\?ε]π―~~mψΠϊλΚ<CEBB>σϋοχ;―ί<1D>{ΟΏτOΞ<4F>µϋ_ϋόπ?όo™<6F>Αί¦ύοϊΣrψΠ_·ώ«¶ώΥ―?Ί
<EFBFBD>οι<EFBFBD>.„_οΏό<E28099><EFBFBD>έηύ<>όΧ¨<CEA7>­+­ο<C2AD>Π<EFBFBD>θθo—ώψ<CF8E>ρ<EFBFBD>Ήσ<CE89>ΗωΔάωΟρxw>+=^
?•<>ώΔΏ_Z<5F>α^±τΉ7>γ<>εΆλ3-?έοΫΧi|ό—Ζ<E28094>¤ς_o<5F>;‡ώ2ω·mmπ[β-Ο{ώύΌυ—²™έύόσϊ<CF83><CF8A>ς_V<5F>΅Νώtχ?ΣΏ<CEA3><CE8F>=Ώ'<27><1B>OL<4F><4C>ϊΫ<>•θ―-<2D>Ηρ<6F>ωψΗό―½ώ­Ηί<CE97>b<7F>b<EFBFBD>νσϋKj<4B>λο<CEBB>¥ψKχ<4B>σζ?=Ώδ<CE8F><EFBFBD><07><EFBFBD>ΧO<CEA7>O—ψΏρ<CE8F>α<EFBFBD>Γ<EFBFBD>gΡ<67>7Οώ“<CF8E>?Ρ<><CEA1>ΪεμΞ<7F>0<EFBFBD>ρ<EFBFBD>ηό?ω_<CF89><5F>‡ώσΏuΞ<75>¬<13>²ι<C2B2>ΛΡΏ΄WNύN<CF8D>¬c<C2AC><EFBFBD>Οω?Ξ<><71>ψ?ω<>σ<E28093>±<EFBFBD><EFBFBD><13>'ώOόί¶ώ«Ε?GδW[όW;ώΟωO«τ'ώ<>ύ‡<CF8D>ϊ[υ<><6B>Ρ<E2809E>Ε0γλ<CEB3>5ήϊό[_<>R<EFBFBD>³GςϋΡ8Ί„ΧγοΛς«NΏ«ύ<C2AB>9<fϊ<66><CF8A>σWgωό<CF89>ω¤όΧ~<7E>τίµώλΧςύ―MIόY:<3A>λΘ­ώcπςωΗxνυ―c®³ώ¥ιόΝΫ<CE9D>IυΏ<CF85>ύ<EFBFBD>ώΧε<CEA7>Οw<7F>ςύ―λ<E28095>ΣΏστ<CF83>Τ<EFBFBD>ƒώG<CF8E>γ<EFBFBD>Η<EFBFBD><CE97><EFBFBD><1F>?ώ/ΰψοΤ<CEBF>:ρ<>μ/μ?θ<><CEB8>Ο¦<CE9F>ίΊ<CEAF>O{<7B>?o<>uEύ ψώ<>Ϋφ<CEAB>Ύ‡γ<E280A1>ο^<5E>γλ!όάσ—Ζο{yΌ~<ώο§<>‡<>1ΗυΡωwχ?><3E>ƒ§Ώ~<~Δώφω)ΌΪ<>-τ―Ν<E28095><CE9D>φΏτωί9<39>ρ<EFBFBD>_Ϊ>χΎ·έOoύ<6F>β5—~zο9ϊό~<7E>ΟΣ<CE9F>θ<EFBFBD>6ω'…<><5F>Φε®<7F>_8<5F>γς«¦<C2AB>ΟZυ~|όµΎ<C2B5>[•ώ-λF<7F>»}<7D>»ώ<C2BB><CF8E>ςόΉϋ­a<C2AD>b<EFBFBD>Ω¶<CEA9>π<EFBFBD>γ<EFBFBD><>ΟωkωΏΦσ<CEA6><CF83><EFBFBD>΅<EFBFBD>µνΟΗ[Ο<>b<EFBFBD>gg<67><07>1<EFBFBD>ΨίΦα<CEB1>φ?ωπ?ωδ<7F>α<EFBFBD>Γ<EFBFBD><EFBFBD>ύΟωψώ‡<CF8E>?—<>ΏΎ^ωX~ώΣΡ<CEA3>ευ¤ΗwΫζϋ7<CF8B>έοu}ΫΒρ/<ύρΗυ£?‰λ<E280B0>ςϊύ\ψρxwύ¨ΟΰΟ?ψ?εηw£ΖπώΚπ<CE9A>~G®±λOtτCrύ<72>Β>ΗΨ7ω Ώ¶ώΟΟ?Ψ9υ}
/Ώ<<3C>Ήyi…ύµιΏοsαΗpάύSσ©-<2D>εωί²όηώαυX??}γΟόυ|ΜΙ<CE99>ΑϊύίΟλ?΄§Στχαιs¶―Jσ_κΏΧΊ<7F><CE8A>γΏη£Ξ<C2A3>1?”πKι<4B><CEB9>ύΞχ_qύKΟΟ΄<CE9F>ΧΦW<<3C><>ζίΊόc<CF8C>Αώί2ώµύOiΏ4g<34>΅»<CE85>²Ύ<C2B2>ΛΫ<CE9B>ηώΓcςΧί<CEA7>Δύ<CE94><57>`<60><><EFBFBD>†ό+<2B><>[<7F>ψ<EFBFBD>π<EFBFBD>α<EFBFBD>³κ<C2B3>Γώ³Ξ<C2B3>Πί2ύkώΩ~<7E>c<EFBFBD><63><57><EFBFBD>CζΏΌβΊ¶<CE8A>M<1B>w^—Ζ¤ρ?mϋοJε£εύηυψOω]ί<>Ώο#ρ·Yφ<59><CF86>ρ?Kφ?ϊ<>ό―<CF8C>xυΝ<C2B6><CE9D>―Έ<E28095>·<14>Ηώ³m<C2B3><11><0A>ό?ΫρΡύO»ώοΛz½;mέ<1B>L<EFBFBD><>Ο‡ΔΎξ<E28098><56>―ΐ<E28095>ϊρΔ<7F><57>Ιφ_ϋ.ρΏυθ<CF85>ρς<>Ι<EFBFBD>_)<29>ΏΧώ“κνψ+ώ<>ω—<CF89>―+ς―·<E28095><EFBFBD>Χ<>~!?a<><61>£?Ρλε>‡Ώ{Υ(}<>ΏΟίoόxόΧWϊΉΐόmγ<>Hρνjψ_}ώg ~ϋώϊCmϊkφ?Ό;ώ3Φ<33>Ίύλώ·9ψλφ<CEBB>ƒ<EFBFBD>αψί&ώμNψ7|ξ}ο½<CEBF>Ύτχμ<CF87>ΟRϊ―j<E28095>?mλI<1A>Π^<5E>eω?ΪΈ½<CE88>σΪϊΏ<CF8A><CE8F><EFBFBD>υ―ί<E28095>ύ<>ό_KώΛδοΌσθϊCό<7F>Θ<EFBFBD>vϊ»υγ—ώ½ΰS<CEB0>ΡFώo.<2E><><EFBFBD>ύ¶µΗ<C2B5><CE97>υ<EFBFBD>ϊΟ_‡λΏ¥~UιόυθωχYηΏυΟ<CF85><CE9F>Σ†όοπoδ<7F>ΕυΜtΧί<CEA7>ςΏοόώη]·^<5E>±/]6<>Ϊό'ΕO{ώήύϊϊΤ?΅ώφΏv<CE8F><76>ίοϋ«ΧώΧ¶$ψkΓ<6B>1<EFBFBD>Τ<EFBFBD>Ά<EFBFBD>όoΉώ‡mωgέ<67><EFBFBD><0F>ώ?»ώ?‰ύ7£<37><C2A3>~ύ_ψϋ<>ϊΏψΐό‰<CF8C>Π<EFBFBD>ΙZ<CE99><><CEB8><EFBFBD>ϊΏψ<CE8F>¨<EFBFBD>g³ώ<C2B3>υϊΏ2όg―ωόΗγ©<CEB3>Kύί™ϋςο? >φ?φ?ρμβ<7F>Θ<EFBFBD>6ω?7ώ»bώ7ώ?θo%ώ<>ύ<07>Cτ§ώυW¤?υ/ί_<CEAF><6F><^<5E>o…ϊ/%ό[κοΙύ<CE99>kΤ<6B>£ώ·½ϊ?θκ?R<>Νnύ7μ?δϋΫςΕϊίkΤ?·ή<C2B7>§Ύ<C2A7>S<E280BA>|=ϋ<>ϊ<EFBFBD>Τ<EFBFBD>§ώ?υ<>-ι<>•όο¬<CEBF>ΥΦί<CEA6>ότ?ϊ<1F>ό<7F>ψ<EFBFBD>ί­<CEAF>Ώύω=ΰεζ<CEB5>¬?ύγΎσΏO<CE8F>χι<CF87>/…<><E280A6>αππI*_Ύς)'<27>ΟςS<CF82><53>!<21>ΏSπλψ—ΗoΫωzψόeόΗΰΏ>ηηΟ·<CE9F>΅?τ_Cώω{ΙςηήΏ¶ϋέ©ό<C2A9>7<EFBFBD>=ΏχΟΤlΫy|κΊ[ί3ω? Ώ†Om|κΊ<CEBA>όπ?όo™<6F>Αί¶ύ?<12>ρύwΏίνγ<0F><73>Ρ„?B<>O/σ<>¥γξϋϊόkΫ<6B>²ψΟ<CF88>ϊ·«ΔbZ<7F>ΖΏ<CE96>ύn<1F>ώχ{¥υί<CF85>Ώοw—®<E28094>ψ~γπσγύλ3τ<33>ύ<ο~~;ςί<CF82>_ΝΣ<CE9D>νςΧΧ<CEA7><CEA7>ϊΦχΪτ<>φρυωΧ^λΨίΨν<>Δ$τ—βίBΏ^ψσθώΰo_—•?§ώκρ•r|ζ\/%U<>9<EFBFBD>i|Pσωτ<CF89>>όSψ<53>+Ύψί…Οχ<>j‰_µΐ—ΗΏ¤τ—­<E28094>m“Ξίσ<CEAF>?oύ<6F>Ρ_‡<5F>¥φ<C2A5> ϋW³ώ¥uω―έ<E28095>M[ώΛϊΏ¥ϋΈyiι?xΏϊ―3ωω‡όΓώ_Ηώ<CE97>a<61>Ψ<EFBFBD>χΗ_JμμψώΧε»ψ£<CF88>ρ<EFBFBD>α<EFBFBD>C<EFBFBD>ΫΦ<CEAB>π?ό<0F>Ϋαλω<CEBB><CF89>ηό?η<>Ησ'¥λO;<3B>“ό/θ― <09><>η_f<5F><66>Yηό<CEB7>Νσ―>½ΒώμιύA<CF8D>ώ<EFBFBD>ό<EFBFBD>φσ<CF86>µύQΟ<75>g<EFBFBD>Kίrώo<CF8E>σ/<2F><>γό?ϋφΏ¶Ζsώ‡ϊ?<3F>ΏF<CE8F>ω<><CF89><07>τ·ε<C2B7>Γώƒ<CF8E>΅?υ<5F>g½ώΣΌϊ#=ώΟ;®<>™ψ―T<E28095>O<16><>­S<C2AD>)<29>Ν<7F>>―ώ<E28095><CF8E><EFBFBD>_?gκΔ<CEBA><CE94><EFBFBD>£<EFBFBD>©<EFBFBD>Lύ?β<>Ψν?βίΘς<7F>μΖΏFφΗοζΦΥι<CEA5>κ<7F><EFBFBD><1F><EFBFBD><E28095>o<EFBFBD>ϊ<EFBFBD>Rύ#<23><><EFBFBD><EFBFBD>OώΏnώΏΜώΛ<>_§ώ?ώϊZ<5A>Ώ<EFBFBD>θxjχόp<7F>λ\<5C>μλ<CEBC>ΧΥπ―~~mψΠϊkΡΏΝ~©εO<CEB5><4F>Ώ;ώw<CF8E><77>¶ϊUωϊiσπ―ΑΏξωαψώ·‰Ώuϋ<75>πWύύ„ώ«άxηίzω<13>λµρΗυΥΰC<CEB0>ΈoΝΎ—4dκw<CEBA>ωΧΤΏ-ψΧΦ_n^RpRίkσίΉ<CEAF>Μσ<E28098>cύoςύgVX<56>όο><3E>θδΏ¦όΧΏμ<CE8F>Π<EFBFBD>Φυ?τ·Kό<7F>ΔaώΓ<CE93><E28098>Ύ>ϋώρx)όΪύΑϋ—λισ“µώ'©ώ9γωOi‰θϊ£΄¬<CE84>Ϊψ²ώ—Ε<E28094>δφΗ
ώ<EFBFBD>qϊKε<EFBFBD>v<EFBFBD>§τz®ΏήϋλΙ<EFBFBD>#3΄σπΗμOw<4F>3ύSφ―ώό<7F>¥ύ<CF8D>Ώ^Z―cϋΏ<ύυε<1D>Ϊϊ«ο<C2AB>όόοσ|j®λρ<37>ΨΗΨ<CE97><7A>υνώσμ_Νώ―δ<E28095>ΩΞ<CEA9>³Ξ<C2B3>Φσ<CEA6>μΚ?λώ_όψ<7F>π<EFBFBD><59>Ιμ§ϊS7ώ<0F>c<EFBFBD>sώη®ηOΟxΖλΙ<CEBB>χΑΏϊωµαCθ―A<E28095><41>Τ½<CEA4>ήsυ•βϊ_ξ|IyΌ<79>}\u<7F>σ/ωϊPmΧ¥τ“Β»<>£Θy:Ο<><CE9F>Ϊ_ ΏΡΏσϊ{½§ωΏeύ¥Η»ψΘ<7F>Ϊλ_<5F>?Gώέ}ώmΚ?μΝψίρoλψc<CF88>Ϋή<CEAB>IκΏ¶ΧW­ΥgΥ]<5D>υίϊKείΌυ7―ώ―=ύχήψΏvόωύϋπ΅<~ώ?φφώθ―ι<E28095>ϊϋ)χ―r<E28095>λYλ?¦ Ώ¥E­δ<7F>Η[<5B>λλ_κnι<6E>Sλ?“—_uϊ]ν<>Οα<31>χ<>Ιυιkν<6B>36<33>)<29>µίΏ½<CE8F>Ο<<3C>Νυλω‡ώΧ¦Ώ$ώ,<2C><>
<EFBFBD>ϊϊ'<27>ας<>ρZλ_Ηώ\gύK<CF8D>¤τΣω·<E280BA>“κϋύ―Λ<E28095><CE9B>#<23>ξ><3E>ϊ_Χ<5F>§-ηι©<>ύ<>ώΗ<CF8E><CE97><EFBFBD><1F>ό_ΐ>πί©<CEAF>uβ?+Ψ_ΨΠ<1F><>M<EFBFBD>Ώu<CE8F><75>φώήώλ<CF8E>ϊπ?ό<>ωόώ¶ν<C2B6>}Ηί½>ΗΧCψΉη/<2F>ίχςx)όxόίOy|<0E><63>λ£σοξοχ\ΚΣ_
??bϋό^ν<>ϊΧζEϋ_ϊόο<CF8C>?ιxΗ/m<>{ίΫξ§·ώGρ<47>K?½χ}~ΏΟηιό“ΒΟ<CE92>ιλς?μζλΟΤυ~ωUΣ<55>±όμΥ<CEBC>ωρΧϊώoUϊ·¬<C2B7>Τό§ΞΏ—ζίη®Ώη£<ξ~kΨΏΨν<>ψ<EFBFBD>|ΰsώίZώ―υό?βθmϋsΕρΦσΏΨ<CE8F>ΩΩ<CEA9>ΑΜ?φ·uψδ<CF88><CEB4><EFBFBD>‡ύOώόOώωψ<7F>π<EFBFBD>α<EFBFBD>C<EFBFBD>ώ‡<CF8E>α<EFBFBD>Οε<CE9F>――W><><E28093>tτgy=ιρέ¶ωώΝχ{]ί¶pό OόqύθOβϊΏΌ~?~<ή]?κ3ψσώΟGωωέ¨1ό<31>Ώ2ό£ίλ_μϊύ<>\ΏΆ°Ορ<CE9F>υφM>Γ―­<E28095>σsΕΟφ_N}<7D>ΒΛΑ/Οn^ZαCοϋ\ψ1w<>Τ|jΛyώ·,<2C>9…x=ΦΟΟGίψ3=sς_gπ<67>~<7E>χσϊνι4ύ}xeϊ<65>ν«<CEBD>ό—ϊοµΰ<C2B5>ξ<EFBFBD>ηψοω¨σΜ%όRϊ£tΏσύW\<5C><>σ3νγµυίΟ§ω·.<2E>Ψ°<7F>·<EFBFBD>m<7F>SΪ/ΝΩθξΏ¬ο<C2AC>ςφ<CF82>Ή<EFBFBD>π<EFBFBD>όυχ?q<>ηφ?Ψ<>£τ<C2A3>!<21>ΗΦ_ίω_δ?ώ?όψ<7F>¬ϊ<C2AC>°<EFBFBD>¬σ?τ·L<C2B7><4C>¶ί<C2B6>Ψη<CEA8>Υφβ<7F><CEB2>ω/―Έ®νΣΖ<CEA3><CE96>Χ¥ρiόOΫώ;Η<>Rωhy<68>y=ώS~Χχ<CEA7>οϋHόmύΏbόΟύ<E28099>ώ'<27>«'^½msγ<73><>-Ε<>±<EFBFBD>ΔΏmΓ'<27>Οvόkt<6B>Σ®<CEA3>ϋς<CF8B>^οN[χΖ?Σγ<4B>σ!±o¤ϋΏΥφ<CEA5>+πΏ~όίRώρΛώίύ²ύΧΎKόo=ϊgFό‡ός<7F>WΚ<57>οµ<CEBF>¤ϊG;ώ<><CF8E>ΏEώ¥ηλ<CEB7>όΗλνβ<7F>Ηu^ΌxΩ}Ες%µλWΓΏϊωµαCθ―ωςk+¥Ύ<C2A5><CE8E>®$ο><3E>~}/}ζό±<>@<40>ώΥΟ<0F>Γ<EFBFBD>¶ωί6ώΦ_G½ΐψ½υχµογλ«Α·ώϊ<E28099>¤σ­ΧΦ<CEA7>Τ<EFBFBD>¦½ώµλ<C2B5>®°ώ%ψί}ώΡ<CF8E>ΘMω―-Ω<7F>΅<EFBFBD>­λθo—ώψ<CF8E><EFBFBD>ψω…q~bϊzοόΦξ<1F>Β―έΏχω>®[½ξz£„υ<E2809E>rω—ηό©ψ?>¬<>—®2“?<3F>Β―6ΎτrΟ<72>ώΎ%~$yIγWsΖ<73>Σ_*<2A><>σ_<5F>ΓΏ4ώΌfΛλEΊώzο―'<27>­<EFBFBD>@ώλΦ<CEBB>Σ—<CEA3>Τ<EFBFBD>ΠΜ?^aύ[><3E><>}<7D>ύΫW¥σ—cφgΩώΧµΟ³ΏηΝκόkm<6B><50>δνgωϊίΝxώΪ«†<C2AB>τ<05>kσ<6B>uω£WΓ<57>Ώ<EFBFBD>·%<25>¬ϋρ<7F>α<EFBFBD>Γ<EFBFBD><67><>fθOMϋ ώΗώΗώW_<5F>g<γo(<28>ί<07>κηΧύ΅ΏύΟu®^οΗΉ
νύϊR®ΎRyΌ<79>½{>ύϊw1~ρσµ_—<5F>O
μz<EFBFBD>ώ!oδι<kώk5όF<CF8C>τλ<CF84>ιΧΤδ<CEA4>Οw<7F>ςϋ_3ώ·FόΫ:ώΨ<CF8E>¶χ.^βlΒΧϊI_ο•―µϋ―°ώ-λΏ9τ—ΚΏyλ/½Ύjψ£<CF88>ή<1F>Χ<EFBFBD><CEA7>"<22>΅ώ#τ<>ηΟΟ<CE9F>ΗώΓώΓ<CF8E>ύ5ύ_<CF8D>υ§ξ]<5D>κώγ­ΟΏυυ/υ?ϋq¤Ώ<C2A4>σχρυψ{έϊΟuόsxΜτ<CE9C><CF84>ύΤη―6ΟςωσΜ«?^»ϊοZ<CEBF>Νυλω‡ώΧ¦Ώ$ώ,<2C><>
<EFBFBD>ϊϊ'<27>ας<>ρZλ_Ηώ\gύK<CF8D>¤τΣω·<E280BA>“κϋύ―Λ<E28095><CE9B>#<23>ξ><3E>ϊ_Χ<5F>§-ηι©<>ύ<>ώΗ<CF8E><CE97><EFBFBD><1F>?ώϊρβΕώοτ<CF84>ώΠ<CF8E>ώίτ<CEAF>ΎΖ<CE8E>#³_εψλΪίπ?όo<6F>ι<EFBFBD>υχγϊ<CEB3>8<EFBFBD>αρwΌάη±ώ“ξώµϋΝ<CF8B><1F>ΟχΏ<CF87>οίφΉχΥ{?)όφίΣ<CEAF>•ώΏΗ<CE8F>Ο?ΗωA<CF89>7γρwΏηΨ*λ_™3<E284A2>ΪωO<CF89>ΎΗόεθ?¦?στLλοvψmγkϊίΊόο<>'Υ<>µώg5ύu<7F>ΏΟί<CE9F>ι<EFBFBD>ΏVΏΎ¶<CE8E>―ξ9¶ώΪϋjΫΏΨν<>Δθ<7F>Θu®[ξ<>I<EFBFBD>ϊ<>Π<EFBFBD>Ηf<CE97>ϊ_Ϋ<CEAB>qέϊT<CF8A>ϊm+υΉ—ΞΏ®ό―γ_[ΉyIΑI}<0F>!<21><>\·Ψ<C2B7>οξψN<7F>ϊΒ<7F>vωί&ώθόψ<7F>Π<EFBFBD>θψώ‡<CF8E>­ρΏυόGπηΕω—ί™Ξ<E284A2><CE9E>―χζ/εΧ³vώ'ω_ΠΏ„<CE8F>όήϋk<CF8B>Ρ;<3B>£<EFBFBD><C2A3>lύό―£Ώ<C2A3><CE8F><EFBFBD>λ?Χ<><EFBFBD><E28094>(χ―«<E28095><C2AB>φΏ#<23>_σόΩ
η_8<EFBFBD>ΗωΫ/φ<>Vρηόυ$ηΏΫδo<~¥σΟΤ<CE9F>αόΏuω<75><CF89><0F>ώ?‹ώ?μ?ψϊΫ¥?υ<>ΪυGΦX<CEA6>zψ―T<E28095>o$ώ#<23><>­P<C2AD>I<EFBFBD><49>iΖω?]<5D>Hίtό,Όή_<CEAE>»΄<C2BB>Χ<EFBFBD><CEA7><59>Ρ<EFBFBD>¶_Τ<5F>³<1D>Ηώ³m<C2B3>ρBώ“<CF8E>g7ώUΫ<55>ΔφσXώ_iώυϋΏR<CE8F><52>ϊ<EFBFBD>Τ<EFBFBD>'ώoΡ<6F>«ν<C2AB>Σ®<CEA3>/Υσ―δ<E28095><EFBFBD><EFBFBD><E28095>?n<>IυΟ
υ<EFBFBD>ρ<EFBFBD>Σ<EFBFBD>Σnώ―T<EFBFBD>σ[ξώ―ωwς/ΝRψ)ωοΓ<CEBF>ωόΑό]ύβγ»m+Αύ~>ώ­πsψ<73>Ηυ—ΓZ0γψηα»y9γό67<36>ΠϊλΠ<CEBB>Έ―ϋϋGC<43>ΟGί}οθ<1F>?Ύχο<CF87>9ψKΧ<4B>Όω<CE8C>ΗϋΧ<CF8B>οάΎ!<21><>¶•αΟε<CE9F>~ψ5όύϊjρσΖχ†<CF87>αψί2ώΨ<CF8E>ρψΏ<CF88>ΤυVοβeόGαΗγ<CE97><CEB3>ςxθ<78>ΦΟGiώs<CF8E>¥τ_Ηώ/γ<>ώ΄<ρΟΟ<CE9F>Ξϊ?ΛΟάυ<CEAC>ΎρχiϊηοΏ<CEBF>ώοΓ_ΊώηΝ<CEB7>ΎΟ΅ϊω―)<29>Gεo<CEB5>ΟΟώύ<>ώ‡ώΠ<1F>?ςΏίηίmk<1F>£?πο<05>ψ<EFBFBD>'βίρΏmνϋΗ<CF8B><CE97>ΏWώΧ~|Nώ<4E>ΖΏζΚ<CEB6>ϋΔ<CF8B><CE94>τ—Κ<E28094>~ψ!ύλγγυΊm+­Ώυδ«ύώ©γρ<CEB3>΄ν_ζΞΏ6<CE8F>µβ?ΎΎvώ®<1F>®ψρ<4F>Ψ<EFBFBD>λεΏ΄Ϊ_cφΏύ#Ε_ΎtώΙ<CF8E>#<23>ώ'<27>Ο<EFBFBD>ό³ξ<C2B3>Ε<EFBFBD><EFBFBD><0F><>]<5D><>Τώ<E280BA><15><EFBFBD>±<EFBFBD><EFBFBD>γ<EFBFBD>π'ώCώωΏΠί¶<CEAF>Oϋό<CF8B>φω'λώΏάητϋόσOΪφ?η<>8<EFBFBD>Ηω?Ξ<>±<EFBFBD>!<21>έμβ<7F>Ψ<EFBFBD>Δ<EFBFBD><EFBFBD>%ψNΞιΐΏ><3E><1B>τ·wώϋώ‡ώφθξ<7F>υϊ_ϋOδϊW”Ζο{yΌ~<ώο§<^―<>YωωGα§ϊ_εϊ¬LλψΏwύ<77>ϋ<EFBFBD>kοΉϋΥύ<CEA5>uϊΏΣ<CE8F><CEA3>ΓOκ<4F>ο<EFBFBD>―ήωnύύ<CF8D><CF8D>a†ό+ω?RϋυΏ<CF85><77>ΗΦ_―ύƒόC<CF8C>λΣ<ώ,¥<>ς?…Ϋϊ›#<23>Χ[<5B>ΨΘ?Λϋ[ψΟ³?ΗμYύύΟίOΏύ9<CF8D>ώRψωρώu<CF8E>»ίο™ϋ?©ώ_Οώ·¥<C2B7>Χγ<CEA7>{Ι?©ώΧί<CEA7>Ϋθ<7F>Υό£ςwfώ»ώϊΠ<7F>θό<7F>ψ<EFBFBD>ρ<EFBFBD>γ<EFBFBD>Η<EFBFBD>ώΰώΊρ<CE8A>ό£yς½ψ<C2BD>ύmΣήώ3ήgϊχΟίοξψ<CF88><7F>ϋώ‡<CF8E>νπ?ώφ?-ώΗΨϋ©γsσο<CF83><CEBF>ύn<1F>£<EFBFBD>πΙ<CF80>#ώ―ωY{ύ<13>oΥΏi{nώόχΑ<CE91>ΟΩ<CE9F>Θ<EFBFBD>ύΓ¤ϊ·]ώ¶<CF8E>—φ<E28094>³ν<C2B3>Σ¦ΛϊΏ¶<CE8F>ε;Χ<>¶ύύgΫώΓ<CF8E><1F>ψƒ?ωΏ#ρ<>q<EFBFBD><71><EFBFBD>ωΦσ<7F><71>σ<CF83><E28095>g<EFBFBD>ΗωΞ<7F>#<23>°<EFBFBD>m<EFBFBD><6D>'<27>‡ό?μς<7F>ΰς<7F>Θ<EFBFBD>Γ<EFBFBD><EFBFBD><0F>ϊ<>sυ<0F>Γ<EFBFBD>Φψ<CEA6>λλε<CEBB>ςρ?<3F>οΕ)ΗwΫζΟΟΏϋΧkγ<6B>λ/Ύ ρώέΰ?!όm ΗpZα?sαΗγ·-„ΚλψoΫΉ<CEAB>ΙΡ<CE99>δυ
ϋ•ψΏ<EFBFBD>±ώjπkλΏεωύη-αΣ?<3F><>m;χq°λπ΅<CF80>έθ?Ύ¶όΏ.Ύm|κωίy]<>:Cώ―Ϋ<E28095>«­ύμωw<7F>½<14>φΰW/½ΏήϊoΝ<6F><CE9D>ε?hλ?)ώηη>ϊζ<CF8A>ω<EFBFBD>;<3B>cυO­Κ?φ?μ-Γο·<CEBF>Γ}<7D>tύ‡}3gμΏβηϋ<CF8B>Ώ·½<C2B7>Σξ?ΌξώΗ¦ύίC<43>ω<EFBFBD>¬υw?ω<><CF89><0F>ώΏOρ<4F>a<EFBFBD>Α<EFBFBD>Πί.ύµύ<C2B5>+^·ξ(ΟΟ\<5C>ηύΦ<CF8D>υψΛΰΧξ_φ<5F>φΖ¤ρ?mϋ«<1F>pώΞϊλωθ‰<CEB8>¬ζ<C2AC>o<EFBFBD>ΏΝ²<CE9D>W<EFBFBD><57><59>Ρ<EFBFBD>δiΖ―Wά<57>[<5B><>c<EFBFBD>Ω¶<CEA9><C2B6>ΫΖ<CEAB>ό?ΫρΡύ<CEA1>Ώήgζ?Υν<CEA5>σ<>τ<>ωήΉ1ύ<w<>·Ϊώώ_;<3B>Ωzώρ<><4F>®θ<C2AE>{ηώ«ί<C2AB>47ώCώ?ω<>+ΩΏ½φ<C2BD>4<EFBFBD>_;ώ<CF8E>Ν<CF8E><CE9D>Ώίώ'ώΠη¨πχΦ8κ3Ό^ξsψ»W=<3D><>χΗψπϋόύζΐ<CEB6>Η<> όΑί6ώR<CF8E>§<14><>ό«αµ<7F>w ~»ώƒώΠ_ώ<E280BA>υο<><CEBF><EFBFBD>υΏnύ<6E>Ί<EFBFBD>aώΊυίΰψώ·‰?ϋ<>ώ <0A>{ί{ο'…/ύ=ϋΏΦψ³”ώ«Ϊ<C2AB>ΟGΫzΖµΧΏv<CE8F>µυ<1D>λ<>ΞύΠ<7F>Θ<EFBFBD>+δΏLώΞΛµκ<C2B5>C<EFBFBD>ΫΡ<CEAB>Πϊγ<CF8A>Gώsώψ<><CF88>αόOΟωοωΧλ<CEA7><CEBB>·<EFBFBD><C2B7>ΛωΞ<7F><73>σ<EFBFBD><CF83><EFBFBD>ηό?η<>9<EFBFBD><39>ύoλό?υΏm<CE8F><6D>ηόυ<>ακ<7F>sώίζωόψ<7F>π<EFBFBD><59>Ωc<CEA9>ΝθΎξωψϋίfύό?ΰώvγ΅<7F>τ·ξ<C2B7>Σλ<CEA3>½FύSώ?κ<>R<EFBFBD>W<57>ο$<24>μΥ<CEBC>ύ,ωΗώ‡όwϊ?c<>c<EFBFBD><13>Ηώ'ώ<>ό§<CF8C>;ώ?θo%ώ<>ύ<07>Cκ<7F>S<EFBFBD><53>ϊ<EFBFBD>«Π<C2AB>ϊ—ο<CEBF><>·Bύ—ώ-υχδώ<CEB4><35>Q<EFBFBD>Ϋ^ύτ?υ©<>f·ώφς<>ύ<EFBFBD>mωΏbύο<35>[ο<><53>Ν©Ύ<7F>ύOύκ<7F>S<EFBFBD><53>ϊ<EFBFBD>τ<E28093>JώΏwΦ<77>/ωΏjλoNώϊύ<><CF8D><1F>ό<7F>οΦ<CEBF>ΏίώόπrσΦ‡ώqίωί§ΗϋτO<CF84>ΒOιΏp ψƒ?ψΏ$•/ίω”“<E2809D>gω)Ε<><CE95>ΟΏί)ψuόΛγ·ν|=|ώ2ώcπ_<CF80>σσηΫ<CEB7>Πϊ―!<21>ό½dωsο_Ϋύξ<CF8D>ΏTώΟ<CE9F><E280BA>ίϋgj¶ν<>uέ­ο™ό<E284A2>†_Γ§6>uέώ·Μ<C2B7>ΰoΫώ<>ψώ»ίοφρ<CF81><39>hΒ΅<>'<27>—ω<E28094><CF89>ρχ}}ώµνYόgFύΫUβ?±Ώ?-Oγί<CEB3><><C2B7><EFBFBD>ϋ½<CF8B>ϊoΗίχ»KΧ|Ώqψωρώυϊ<>ϊΝ~<7E>w?ΏωοΗ―ζι<CEB6>vωλλλϋ?mϊ<6D>Μϋψϊόk―Ώuμoμ?‹φώβ?ϊKρo΅_/όyτπ·Ώ―ΛΚ<CE9B>SυψJ9>s®—<E28094><E28099><EFBFBD>ΗΏ4>¨ω|ϊώ)όΞοΒη<CE92>ϋOµΔ―ZΰΛγ_RϊΛΦ<CE9B>¶IηΏοyΟΏ<CE9F>·ώΖθ―Γ<E28095>†ύ«Y<C2AB><59>ΊόΧξ<CEA7>¦-<2D>eύί<CF8D>ύάΌ΄τΌ_ύΧ™ό<E284A2>όCώa<CF8E>―c<E28095>Ο°?Gμ<47>ϋγ/¥?φ?φ?ό<0F>λςΏ]όΡ<CF8C>ψ<EFBFBD>π<EFBFBD>΅<EFBFBD>ψώ‡<CF8E>νπΏυόGΖ<73>σ<EFBFBD>γω“<CF89>υ§<CF85><C2A7>τΧ„Ησ/3Ο<33>¬sώΟζωW<CF89>^aφτώ Oϋω<CF8B>Ϊώ¨η:ω<>³ΞΏ¥Ώo9<6F>·ΖωΞ<><71>ύϋ_[γ9<CEB3>Ξ_£<5F>8<EFBFBD><38>όΗ<CF8C>ƒ<EFBFBD>ϊΫς<CEAB>a<EFBFBD>Α<EFBFBD>Π<EFBFBD>ϊ/Τ<>³^<5E>i^ύ‘<1E>ηΧ<>LόW<CF8C><57>'<><E280B9>Ε<EFBFBD>Φ©<CEA6>ΖΏζ<CEB6>W<EFBFBD>GΗ<47>/<2F><>Ν³?uβΔ<7F>Ρ<EFBFBD>Τ¦ώρμ?‹φρoδ?ωvγ_#ϋΏγwsλΏκτ<CEBA>΅ώ?υ<>Ι<EFBFBD><><CF8E>WΗ<57>·Nύ©ώΖΘ<7F>'<27>_7<5F>_f<5F><66>ε<EFBFBD>―S<E28095><1F>?ύ?­Ε<C2AD>_OτΆ‡<CE86><E280A1>ρ|ιλ<CEB9>^<5E>sί¦―Χξ<1F>Β―έΏχωΐό?<17>W-°ώIωsψβ~…πjψΧΖΧ_e|ϋαχήϊCϊkΧ?Ό;ώ<>υΏ^ύλZύ«s­«9ψλΤƒ<7F>αψί.ώΦν<CEA6>Γσχϊ/sπ<73>λεO<ξ<1F>>bό<62>λgϊΏ~?ώ<19>>τχιΏmηώ79}χΉ<CE89>_ΫώoΑΏ¶ώrσΫ#ξϋp>5ΧΏv<CE8F>ΦΏ<04>ςοΞύΠ<7F>Θιϊϋ¦Ν<C2A6>Ώgω<67>Λμ<CE9B>Π<EFBFBD>θθo—ώψ<CF8E><EFBFBD>Tν®s<C2AE>ψ<EFBFBD>‡Ϊ<E280A1>#ρ<>ΈΙψωΛ1ωΫ7ΎlΟΘϊΏHε<48>=γ}τ©ο<C2A9>{η_2ώόό<CF8C>λO[Ύ<>ω<EFBFBD>]>qlίηΖ—ύ<E28094><CF80>#ϋΏp?#<23>]ω?²<> Χ_Λό•χwγΏyώoβ<6F>Δ?±<>ο<CEBF><E28093>^?µ-<2D>GΣώΡ}~νω'<27><>ό?ψ<>ό?«ςΟΊ<17>ώ?όύ2ϋoFώΏnόώΗώΗώΧ:<3A>σώ<><EFBFBD>{υΏ¶ό—κ<E28094>4όπ»ϊώ ϊC-ϊKλmΫωϋη#]_κωHΧ³ZγόΛXύ«yς_
_Z<EFBFBD>φL<EFBFBD><EFBFBD>?<3F>tΦ?σy <15><>ψ<EFBFBD>ίωόW‰<57>[Φίλ=Ε<>ΟΗ<CE97>µΧΏ6<CE8F><EFBFBD>ό<>χ|Μ<><CE9C>Τόϊσ<CF8A>®gSώa<CF8E>«Η<C2AB>Ϋψ?φ<>ημ<CEB7>¤ύΣ®θΏφΞυo]<5D>Οϊϊ»<CF8A>ό<EFBFBD><17>Χ<EFBFBD><CEA7>"<22>΅<EFBFBD>Zπ±<CF80>°<EFBFBD>π<EFBFBD>C<EFBFBD>χϋΏθ<69>#ύ_-®ϊ<7F>Π<EFBFBD>‡ώ?Vϋ<56> <20>Π<EFBFBD>²ϊ―σϊ<CF83>λύ±<7F><C2B1>φδςV<7F>λ1ϋ<CF8B>υ/νΏ+¥<><>¦χRύ―c<E28095>£<EFBFBD><75><73>T<EFBFBD>λμ<CEBB>­Λ?τΏ®<CE8F><EFBFBD><E28095><&<67>·λ©<>ύ<>ώΗ<CF8E><CE97><EFBFBD><1F>?ώόΰώΰ=ώ<>σOσδΏ<CEB4>ώ·.<2E>΅?ϊ<CF8A><7F>§}?Ί<CE8A>ΟΊ<CE9F> ϋώ‡<CF8E>ρƒ?ωί­ώΗ}ύ<>­γsρ/Mψ#τ<>¤ρδ<CF81>α<EFBFBD>ο<EFBFBD>ηόωµρΉψ<CE89>λ<>ψΏμ³”~³<>ηέΟoGώ»υ<S<>·Λ__<5F>o[ϋσηκΟqώC<CF8E>ώ#σί>Ύ><3E>ΪλoϋϋΟΆύ‡<CF8D><1F>ρλρiόgΜΏΌ<CE8F>ό·™<C2B7><4B>ύη_‰<5F>°<EFBFBD>γό?η<>Ψ<7F>Vρ'<27>‡ό?μς<7F>ΰς<7F>Θ<EFBFBD>Γ<EFBFBD><EFBFBD><0F>ϊίΞω/ψώ‡<CF8E>mρ<6D>λ‰^τπρ?<3F><>λ\?_wςσυ?χmϊzνώρx)όΪύ{<7B>ο³ρυ" ϋ<>τ|–®/ιύ¥Οί?<3F>ΏΪ«vθ/ϊΟ…―)ίεωίςόη――W>³?>χόώύ<CF8E>Α?®ΧΖΧΟψΛς_¥ς¥ώO®<>Uόϋωσ<CF89>ξώ{_<1F>¦Φ_mΌ=ζύυ/Ν<><CE9D>ε?hλ?)ώΗύΓω?ζΉuώ<75><CF8E>Ήσ?V<>ΤΆόΓώgkύzΏύΎ¤λ«¶_κί<7F>·φΉϋ?νώΓϊϋλφΏ.ύ¬―Ώ{Κόψ<7F>π<EFBFBD>}<>ϋώ‡ώ–ν}<7D>£&|λφίΨόΟσήsύΟυ<CE9F>ώϋw.ό3ώ!όyρiόOΫώΓ?<3F>Gr~όXώ—β?kω<6B>ϋβgσχ<CF83>ο<EFBFBD><CEBF><11>G<EFBFBD>[<5B><>΄ΔΏcyΛ3ιόkΛλρμ?»φρoδ?ωvγ_ύ<E28099>Σ<EFBFBD>ωwμO¶­έώOΕ?KγƒλΡ<CEBB><47>άύίjϋ<6A><77>=σ<>­η<C2AD><11><>$<24>―¦<E28095>O<4F><CEB2><17>!<21><>ό<EFBFBD>Υς<CEA5>{μΏω<><CF89>ρ<5F>#ό3/ώ―c<E28095><13>?Ζu$γχ―Μ+χ»ΪψΪχΐ>πί?νx>rς%φ?\ Ώ†Ϋώ»μ<C2BB>Π„ύ΅Ώ6ύΟυ§γϊΥξ<CEA5>cυσυ§ο<C2A7><CEBF>έη?½<><C2BD>χoΞο?ζΰ<CEB6>‡_ΗΏe<CE8F><59>ΐ<EFBFBD>πΏuώ·<>4|λοΦχΞΏXΎ.<2E>ηUν<55>΄ηoΖό§ε―“³ρυηcήψuυΏμωο2<CEBF>θδ<7F><CEB4>ς<EFBFBD>]ς—ύϊίΊώ‡ώΠ<1F>Ώeωoϋό3ψ<33>σ<EFBFBD>Υόόλα<6B>ΕyssΞ_<CE9E>σ<EFBFBD><CF83>yyιό;―Zό«-<2D>~OόmFόKχόOjώΫσ/Sψ§σ<C2A7>άσrώ§®<C2A7>BϋuίeϋλΪύ<CEAA><CF8D>Ήπχ}Φώί‚ό?­<>κη³ΌΠ_[ώΧπ­­ΏάΌ΄Ξη<CE9E>λ_ϋΊ6<CE8A>έ}ώ<>ΐΏξόοΌώχ<<3C>όIη[χ?ιύΚ<CF8D>υ<37><4A>©ρ<> ?wΎiΜώ/ΫπΏ6<CE8F><36>οΏ―X<E28095>Ϊϋ<6B>ϊ<EFBFBD>ψ<EFBFBD>π<EFBFBD>α<EFBFBD>³[<5B>gάώ±ώ΄νϋί¶ύ―Ύώ€|ΰίPώΏώuς5ψΠϊkΠ<6B>όώχσΞλq|*w=Δήψπύ8WβζίΥΚςοΥόχΓ/<2F>χΏί6<CEAF>άL><3E>οsηί―<CEAF>8<Ύφύy<1F>Γ―¶ώZΗη>―±ώµω<C2B5>οξσo]ώΩµ<CEA9>uγϊρoλψc<CF88>Ϋ¶<CEAB>χ=”<>nύψυaΗε―<E28095>ίοπώ묻ϊoύ¥ςoήϊΗ·α<C2B7>ώΣ‰<CEA3>kΗ<7F>Φι?^<5E>½<EFBFBD>ώaό?ξ?€ύ‡ύ‡<CF8D>ϊλΡΕϊSχ¨¥]σ:ψΦηί<CEB7>ϊ—ϊ<E28094>¥οΊυ<CE8A>εψIύ<49>Ϊο<12>ΓΌϊγρ_όόΧϊ<CEA7>ί³ώ<C2B3>θ<7F>Υκ<CEA5>χΛ/©ώΡ<CEA1>Η<CF8C><CE97><EFBFBD>σ<07>!<21><>ΐ—ΑΧ~Χ^<5E>α{«ύyΥόχΓ/<2F>/}?g<>7w<37>©m<C2A9>ΫΣ<CEAB>kρ<6B>ύδίέηί®όc<CF8C>·<EFBFBD><C2B7>ο<EFBFBD>ςw<CF82>ώϊΠ<7F>θό<7F>ψ<EFBFBD>ρ<EFBFBD>γ<EFBFBD>§<EFBFBD>π<>|ϊΏΣ<CE8F>ϊCϊΣ<7F>ϋ½ρ<C2BD>¶όΣ9ψλΪίπ?όo<6F>ι<EFBFBD>k{<7B>±οαψΪηήχήϋIαKό/χylώέύkχ?O<>_ϊΏϊΟ»~AΗϊ γϋ.γλό<CEBB>Ξυ/‰<>ΜνψO<CF88>ώ‡ώ<®<>κ<EFBFBD>ΌόK?΄ώ<CE84>ΗΧτΏuω?ή<>O<EFBFBD><4F>kύΛjϊόκώVϋ?kΣΫΪΦ<CEAA>Υύ/ΗΦ_{<7B>Cmϋϋϋ<0F>?ρϊ/ψVϋ<CF8B><7F>‡ώ?τ<>±Ϊ<C2B1>‡ώΧ¶ε½}ω]:<3A>Ϊό'ΕO{ώΰ?δςψwν<77>wgό?±<>"φ?ύ?α»όo τ?ώ?όθτ?ό<0F>Γ<EFBFBD>ψίzώ#ψsώ…σ<E280A6>ϋ^Ξ<>Ν<>λη<7F>kώϋ>~L<>}α»ϋ―qώe½σ?οΜζόo®<6F>ex>(UΏlFώ©<7F>]ύό<CF8D>Ό<EFBFBD><CE8C>υόΝσ<67><CEBB>·tώ<74>σ<EFBFBD><CF83><EFBFBD>g<EFBFBD>ΟωΞ<7F>Ψ¬<CEA8>3~ώ»MώΊϋϋ6ΧμΞ<7F><1F>ώ?όφόΨ<CEA8><7F>†ώ6ιOύ?ό+Τ!YΝ<59>fε]<1A>Ζ<E28098><56>¤ύ<C2A4>¤ηο<56><EFBFBD><E28094>ΧΧφ<CEA7>λΕ<CEBB>¬Ψ<C2AC>θςΏ¨<CE8F>g7ώ<37>ύgΫώ#ώ<>ό'<27>ΟnόKΪΏtΞώs½ώ?Τ<>§ώ?υ<><EFBFBD>[<5B><>―θ<E28095>{gύ‰ώ™sώ•ός<7F>5νί9ύλGυ<47><17>?ύ?νζ„τ=<3D>/G<>σό1<CF8C>ρ<EFBFBD>Ώ<EFBFBD>ψΈ.IΊώΛΉ~Κ»ΰ_ύόΪπ΅?τΧ•ηχίοw^Ώ;ώχ<CF8E>ι<7F><CEB9><EFBFBD>kχΏφωαψί2<CEAF>ƒΏMϋ<4D>ήυ§επ΅ΏnύWmύ«_tώ ίsςΣ<CF82>]Ώ<ή<>~%ω;<0F>»Οω―Q<E28095>[WώZί<5A>΅<EFBFBD>Ρ<EFBFBD>Πί.ύρ<CF8D>γ<EFBFBD>sη;<3B>σ‰Ήσ<CE89>γρξ|VzΌ~*<2A> ό‰΄ώΓ½bιso|Ζ<1F>ΚE=ΦgZ~Ίί·―<C2B7><E28095>ψ6ω/<2F>?IεΏήώwύeςoΫΪΰ·Δ<C2B7>Z<EFBFBD>χόϋyλ/e3»ϋψηυ<CEB7>;εΏ¬ώCύιξ¦9<7F>{ ~Oώ7ώ<37><CF8E>ώ¥υ<>+Ρ_[ώ<>γίΎ<CEAF>σρ<CF83>ω_{ύ[<5B>Ώ<11>ΔώΕώ/Ϋη-φ—ΤώΧί<CEA7>Kρ—ξ<E28094>ηΝz~Ι<>#<23>ώ'<27><EFBFBD>><3E>.<2E>πγ<7F>Γ<EFBFBD><EFBFBD>ΟΆ<CE9F>o<EFBFBD>ύ'=Ά<1D>µΛ<C2B5>Ψ<EFBFBD><CEA8><EFBFBD>a<γΟωςΏ8<CE8F>ύ-ζλ<7F>?Y'ώeΣ<65>—£i―<69>ϊ<EFBFBD><<3C>XΗώ'<27><>σ<CF83><7F>γόρς<7F><>c<EFBFBD><13>'ώOό<4F>ψΏmύW<E280B9>Θ―¶ψ―vό<76>σ<EFBFBD>Vιϋ<0F>?τ·κ<C2B7>Χξ?£ <09>οΎaΖΧ?kΌυω·Ύώ¥ώg?<3F>δχ£qt ―Ηί—εW<CEB5>~Wϋ<57>sxΜτ<CE9C><CF84>ύΤη―6ΟςωσHω―ύώιΏkύ7Χ―?δϊ_ώψ³tώΧ<CEA7>Ηΰ?δς<>ρΪλ_Ηώ\gύK<CF8D>¤τΣω·<E280BA>“κϋύ―Λ<E28095><CE9B>#<23>ξ><3E>ϊ_Χ<5F>§-ηι©<>ύ<>ώΗ<CF8E><CE97><EFBFBD><1F>ό_ΐ>πί©<CEAF>uβ?+Ψ_ΨΠ<1F><>M<EFBFBD>Ώu<CE8F><75>φώήώλ<CF8E>ϊπ?ό<>ωόώ¶ν<C2B6>}Ηί½>ΗΧCψΉη/<2F>ίχςx)όxόίOy|<0E><63>λ£σοξ#O)όxό<78>ύνσSx=΄<>[θ_<5F>νισΏsώ¤γΏ΄}ξ}o»<6F>ήϊΕk.ύτήsτωύ><3E>§Ρ<>mςO
??Ύ¦<CE8E>­Λ<C2AD>\<5C>Ώp>ΗεWM<57>ηϊ<CEB7>µκ<C2B5>όψ6ωk}<7D>·*ύ[Φ<><CEA6>ώwϋ>wύ=εωsχ[ΓώΕώ³m<C2B3>α<EFBFBD>Η<EFBFBD><03>σ<EFBFBD>Φς­η<C2AD><11>C<EFBFBD><6B>+<2B>·<EFBFBD><C2B7>ΕώΟΞώώcώ±Ώ­Γ'<27>‡ό?μς<7F>ΰς<7F>Θ<EFBFBD>Γ<EFBFBD><EFBFBD><0F>ϊ<>σ<EFBFBD>π?ό<0F>.<2E>}½ς±όό§£?ΛλI<CEBB>οΝχoώ»ίλϊ¶…γ_xϊγ<CF8A>λGΧ<>ευϋΉπγρξϊQ<CF8A>Α<EFBFBD>π>ΚΟοF<CEBF>αό•αύ<>\<5C>bΧ<62>θθ‡δϊ…}<7D><67>°oς~mύ<6D><CF8D>+~ώ°<CF8E>rκϋ^~yώsσ<73>
ϊkΣίηΒ<CEB7>αΈϋ§ζS[ώΛσΏeωΟ)όΓλ±~~>ϊΖ<CF8A>ωλω<CEBB><EFBFBD><>τϋΏ<CF8B>ΧhO§ιοΓ+Σηl_•ζΏΤ<05>t<EFBFBD>?ΗΟG<CE9F><47>c~(α<CEB1>¥ϋ<C2A5>οΏβϊ—<CF8A><E28094>i­<E28095>®xώ;ΝΏuωΗώƒύΏeόkϋ<6B><CF8B>~iΞώCw<43>e}<7D>—·<E28094>Ού‡Ηδ―Ώ<E28095>‰ϋ?―°<E28095>Αώ¥<> ωW:<3A>;¶ώϊΞ<CF8A>"<22>ρ<EFBFBD>α<EFBFBD>Γ<EFBFBD>gΥ<67>‡ύg<CF8D><67>΅ΏeϊΧό³ύώΗ><3E>―¶<E28095><13>ΜyΕum<75>οΌ.<2E><>HγΪφί9ώ”ΚGΛϋΟλρ<CEBB>ς»Ύ<C2BB>ίGβo³μ<C2B3>γ–μτ?ω_=ρκm<1B>_q<5F>o)ώ<>ύgΫώ#ώmγ_£ϋ<C2A3>vύί—<CEAF>τzwΪΊ7ώ™<5F><C2B2>‰}#έ<>­<C2AD>_<EFBFBD><5F>υγ<CF85>ς<E28093><CF82><EFBFBD><>®θ<C2AE>νΏφ]βλΡ?3β?δ<><EFBFBD>ΏRώ―ύ'Υρ<57>-ς/=_Wδ?^o<><13>υβχ―Μ+χ»ΪψΪχΐ>πί_*®†_Γ<5F>j<EFBFBD>λΥπ΅?τΧ¦Ώfύ΅»γχω—ϊζΰ―[ ώ‡<CF8E>mσΏ]όΩ¤α[·Ύ<C2B7>kυKηyUϋΏ?νω1<E280BA><31>ύgΦΥ<CEA6>²ηΏΛό£<CF8C><EFBFBD>+Κ<>wΙθλϊϊCό<7F>ε?υ<>8<EFBFBD>ΟωΞ<>τ<EFBFBD><CF84><EFBFBD>Q<EFBFBD>oΝσ<CE9D>δ<EFBFBD><72>σ<EFBFBD><CF83><EFBFBD>ηό?η<>9<EFBFBD>ΟωΞ<7F>c[;<3B>o¥ώ7η<37>9<EFBFBD>κ<7F>S<EFBFBD><53>σ<EFBFBD><CF83><EFBFBD>Η<EFBFBD><EFBFBD><0F><>¥ώ<C2A5>γφί<CF86>υ·ζω<4B>ύo»ώ?π<>|»ρϊΏΠ<CE8F>ϊΫυ<CEAB>­Χ<C2AD>ϋ½υO­ϋ<C2AD>¨<EFBFBD>k»ώο'ωw<CF89>ϊΏ¶εϋς<>Ζώ'ώOό<4F>ψ?ρςίz<CEAF>wλώ?λτ·<1D>ΗώΓ<CF8E>ύ©<CF8D>Ο;υ™[οΗ²ϊsΪυ_Jψ<4A>><><7F>_»ώυΏ­Φ<C2AD>AίS<CEAF>ϊovλΏΑΜΫςΕϊίϊυΟ­χ<C2AD><69><>Τµ<CEA4>©<EFBFBD>κ<7F>S<EFBFBD>ί†ώ_Ο<5F>χΞϊ<CE9E>ύ3Η<33><CE97>ώG<CF8E>γ<EFBFBD>Η<EFBFBD><CE97><EFBFBD><1F><>»υ<C2BB>΅?<3F>N<EFBFBD>η<Ύ<1E><>ρ<EFBFBD>gό]Η‡ςύ<CF82>O9ω<7F>ΧΒΏώωµαCθΏ†όΠώ»;ώχ<CF8E>·>Οο-ΧηρνώΧ<?ό<0F>π·m<C2B7>»σ<C2BB>ΞΰΞOϊΏχ?»ϋϋg.σώo)όx|Ι<>ύϋνί<CEBD>υΚΓ<><78>~
<EFBFBD>ύ%η<>¥ρmύ«οΤ<7F><CEA4>μ{θοΗηχίοόϋ]ώή|ί_{ύ<>ύ”<CF8D>?Ζ%<25><>ψόΟ<CF8C>__Ίo‰ήyzµλΟ6ω'…/ύ½]ω/©<>1C<31>ηλ?ΤυΏ΄ώƒυύ<CF85>6ύSσΧ³ώΛγΫτ<CEAB>ΎΟ]}υotν_μ?Ϋφώβ?βωc<γλρ<CEBB>?iό%®®<E28099>\zώςψπZό;9~Rψςψ•tώ¥τΏvύ]ύόΪλO<4F>Χ«?<3F>^ψΦεΏv<CE8F>7mώΣο?<00>!<21><><EFBFBD>Χ―kή<1F>{Ο?φΏMϋώ‡<CF8E>Αύ<><CF8D><0F>ϊί®ώ‡<CF8E>αψί<1E>[ΟΞΟ[?<3F>ος;Σω“αυώό¥<CF8C>ϊΧΞ<CEA7>$<24> ϊηρƒΣ?<3F>??<3F>w<EFBFBD>ό<CF8C>σ?+<2B><>³|ώΥ§χσq¦Ώ[Ώξ<CE8F>~}Έyω<79>ξ½ηόOm|m<>@ώΏώω3νσΟ<CEA6>qώίφώ<CF86>ύΏ]ό9<CF8C><43>9ηΏΫΟc―tώύΗωλς<1F>ώ?όΨπ?τ§ώ υ<>μΦ<CEA6>¬?²<><C2B2>W―ώή*υ<>dρ<64>±ψί
υ<EFBFBD><EFBFBD><EFBFBD>σ<>}^ύ<1D>}βλ½υΏΫμ<CEBC>ψρτ?υ<>©<EFBFBD>ϋΟΆύGόωo=<3D>Οrό«¶<C2AB>νηόΏ¶ϊ£:ύ¨<7F>κ<7F><13>§ώΏ<CF8E><CE8F>o<EFBFBD>ϊ<EFBFBD>Rύ#<23><><EFBFBD><EFBFBD>OώΏfύ©ύ7ξ^£ώΏ]<5D>?ύ?­Ζ<C2AD>_OςΎ<>τ<EFBFBD>Oιλξω_<CF89>sί¦―Χξ<1F>Β―έΏχωΐό?<17>Ώ}ύm[Ϋηπ%Ε<>ό
αΥπ―<EFBFBD>―ΏΚψφΓο½?τ‡ώ:τ—ηΛςξ<>Ώtύ·Ε―{η_<5F>ώZ<CF8E>Η~<7E> <0C>\λjώΫΦΏ¥ώV<>_ ώ‡<CF8E>α»ψ[·<>ηίOθ<4F>ΜΑ­—?ρΈ8ώω<CF8E>ρ<>ι<EFBFBD>ϊύ\ψgόCψΠί§<CEAF>΅/]<5D><>ΌΎ<CE8C>ϋάHι―m<E28095>·ΰ_[Ήy‰νχ}8<><38>λ_<CEBB><5F>)‹¬°ώ%ψΟ<CF88>¥ψηΨόχΖ?Ρ<>Θωξ6Cώ<43>εZ.³<>C<EFBFBD>£<EFBFBD>΅Ώ]ϊγ<CF8A>'ώSµΈΞuβ<75>j<><6A>Δ|ύ5²<C2B2>ε―όν_¶gzρ?ο<><CF82>ρΏ>ϊΤχ<CEA4>½σ/~~Νυ§-ίΗό<CE97>.<2E>οsγΛώ=ψΘ<CF88>ύ_Έ<5F>ΞΏ®όΩ<>…λ―eώΚϋΏ»ρί<<3C>7ρ<4F>Ψ<EFBFBD>)Ω_ύφΏ®ύ£ϋόΪσωπ?ω<56>u<EFBFBD>.ώ?όψ<7F><>dφί<CF86>όέψ?ό<>ύ<EFBFBD>ύ―uώηξη_ΐό? <0B>χκmω/Υ<>αwυύτ‡ώZτ—Φση0W?ΜΏ_ύΏw<CE8F>λ1OώKαKλί<CEBB>ιςG<CF82>Ξ<EFBFBD>ϊw>¤ΰµβ__ϊ;<3B><>*ρΛϊ{½§ψ<C2A7>ω8σΏφϊΧζ<CEA7>Ογυ<1F><>Ήσ<CE89><CF83>_ώΣύolΚυψ3γo<1B>Ηώ<CE97><CF8E>ύ_Uώ^|]{ύ[ΧΪτ³Ύώξ#<23>ηΕ<CEB7>µγΏΘθΏ|μ?μ?ό<>Π<EFBFBD>ύώ/»ύι<7F>¤Gϊ_λχ<CEBB>Ρμ<CEA1>µN<C2B5>η4ώµώ‡σϊ?ΝλΏ<CEBB>κ—Uκ<55>#ρ<48>v<EFBFBD>―²ύ<¶ώzμδϊ ϊ<>Ε<EFBFBD>ηυ<CEB7>Σ<CEA3><76>a<EFBFBD>!<21>¬Κ?δΏn<CE8F>οuΦΏΝώΧτ<CEA7>E<EFBFBD><6B>ηΘ?©ώΧΩ<CEA7>[—θ]<5D>_9<5F>yLώΞΜ<CE9E>oΧ?R<>ϊύ<><CF8D><1F>ό<7F>ψΏ¬ψ?ΑόΧΐ_'ώ£m<C2A3>c<EFBFBD>AθoΧ<6F><6F>§½<C2A7><EFBFBD><CEAF><7F><7F>αψό±<CF8C>Ογ_<CEB3>γλ<CEB3>ώοΰςψάόϋγΏΫΗηθΏό³ώϋϋI]ν<>Τϊύϋι<CEB9>Uν<55>άσ<CEAC>ύ”<CF8D><E2809D>ω(Ο<>»_™<5F>[αΧΖ<CEA7>ύ”Ηηδ<CEB7>{?k―<6B>φηMΏ<4D><EFBFBD>Ώ<EFBFBD>πηύΎ¦Σφάόωοƒ_<1F>³?<>}ς?_sτo»όmίσόψ<CF8C>Λϊί¶v<C2B6>enώΧXΪφ/φ<><0F>?ηπ€?ψsώίNώ―υό?βθ<7F>}<7D>k<6B>ωΏ΄ν_ςΏΨ<CE8F><59>­Η<C2AD>Θ?δφ?ω?δ<>`<60>c<EFBFBD>Γ<EFBFBD>π?ωδ<7F>α<EFBFBD>Γ<EFBFBD>‡ώG<CF8E>Γ<EFBFBD>π?ό<0F><4B>λλε<CEBB>ςρ?<3F>οΕ)ΗwΫζΟΟΏϋΧkγ<6B>λG}ΰί ώσΒί¶pό§ώσ1~<ή]?κsψςί:ώΫvξΌma?Ώ_±<5F>ϋλ―Ώ¶ώ[<5B>ίή>mπΓωί¶s<C2B6>η°L>τΏύηΒΧ<CEA7>ΧεΟ·<CE9F>O=<3D>;―Kς_gΘ<67>UϊΏϋλ7eOΗτσαΝ<CEB1><CE9D>R<EFBFBD>­σϊΩ¶φρΟΗΉ<CE97>V<EFBFBD><56>{π«<CF80>—ή_oύ·ζΘς΄υ<CE84><14>σσ?}σ<>|Μ<><CE9C>σQo[ώ±<CF8E>a<EFBFBD>k~Ώύξs¤λίΏί<CE8F>ύWόό><3E>Η}:Ω<>υΛ<CF85>²ύΥ{ώrέύ<CEAD>MϋΏ‡ώ:σ<>ο<1F>ώ?ό<CF8C>β<EFBFBD>Γώƒ<CF8E>΅Ώ]ϊkϋWΌnέ<6E>P<EFBFBD><50>ΉώΟϋ­<CF8B>λρΑ―έΏμ<CE8F>ν<EFBFBD><CEBD>HγΪφW?ώαό<CEB1>υΧσΡ<13>YΝ<59>ίe<E280BA><18>³d<C2B3>£<EFBFBD>Ι<EFBFBD><CE99><EFBFBD>_―Έ<E28095>·<14>Ηώ³m<C2B3><11><EFBFBD>γ_£ϋ½ΟΜ<CE9C>Ϋ<EFBFBD>εψηy|θ<>σ½scϊyξώoµύ<C2B5>
όΏvώ³υό?β<><CEB2>δ<EFBFBD>]Ρ<>χΞύWΏ<57>inό‡ός<7F>{ν?iώΏvό<17><><EFBFBD>ό<15>ΏύOό<4F> Ολεκ1΄}ξ}υήO
_ϊ{πψΗς%–Οιλ±όΗ<><CE97>OΗ<4F>cψ5|jγΣΧέσΧπƒί{θύuθφtγsυ‡Ξυƒ\-©σ}sγΧRό¥λ?=<>ωOΥϊύN<CF8D>νλc}ζό±<>@<40><>a<EFBFBD><61>~§ΰΧρ/<2F>ί¶σu<CF83>ωαψί6<CEAF>ΫΖίΊύΤ όϋ λζΰ‡Ώ{Υ,}<>ΏΟίoό3ώιηώ<E2809A>ό)ύµν<C2B5>ώµυ'υj―νϊη+¬ ώ<>υ―_<E28095>ύ<>όΧ<CEA7>µψΗ<CF88>όm<CF8C>°<7F>C<EFBFBD>[Χ<>Πί.ύρ<CF8D><13>©<EFBFBD><C2A9>λ\ΟπΏtύ·ρo/όyό<79>ιψ<CEB9>γ?ΫVΚΏ:ηO<CEB7>Δ<EFBFBD>Βη+Υi™ΏΪψr=^όΟρ£ϊ«ΏΏΚΓ—ΖΏ¤τ—Κ—±ω—<CF89>??ΏζϊΣ–οΦΟ? <20><75>ιΛκh<7F>^aύ[><3E><>ύ<EFBFBD>ύ/±ίgΨ<67>Ίφ<CE8A>ξσkΟ<6B><CE9F>ύξn$λίν_¶md<6D>Υ6>>σΣΎ?kα?ΙώώΏ#<23>Ο<CE9F>λν<CEBB>mΙ?λώ]όψ<7F>π<EFBFBD><59>ΙμΏτϊsύΥΫψΏΜ/ύφΧωόξ<05>c<EFBFBD>c<EFBFBD><63>ΫΏRώΏ§ύ ώΰ<CF8E>©ψΏW<CE8F>©ώOΓΏ«ο<C2AB> ?τΧΆΏ;<3B>Χ»zΡΠ―Φ_z<5F>[ρηΠ―/υϋ}|οί_»ώ]<5D>_ό|©λn}Ο<CE9F>Rψωρρu|‰ώ!¤ι<C2A4><CEB9>G<7F>zύM<CF8D>RπZρ/<2F>/ύΙκ?¦λ<C2A6>Ήyi©?ΈJύGώ<>ω7¶ώγy1<E280BA>©ωυη?ζΛςϋ_=ώΜψΫΖ<CEAB>±<EFBFBD>?g<>W•Ώ_Χ^<5E>Φυ<CEA6>6ύ¬―ΏϋΘ<CF8B>yρνψ/ςϊ―ϋϋ<0F>Ώ<7F>K£ώΧέλ_Iλ<49>κΧ<CEBA>Τ¦ΏuόµΧΏΤ<CE8F>νΗώ~Ξίϋϋ­Ώ<C2AD>^<5E><>Υυ<CEA5>λψ§β•?sύ<73>ώύzα§ζ?<1E>ϋ<EFBFBD>¦Λ <0C>ΏTώΥό©ΟΏίος<CEBF><CF82>­Ώϋω‡ώ_ƒώcρg)ύΧ<CEA7>)όλλo<CEBB>όΧΦ<CEA7>ΨΘ?{ςωΪη3μΟϋ<CF8B>υ<EFBFBD>·7Kφη<ϊKα<4B>ύ~ήώO<CF8E><4F>τΏ.<2E><EFBFBD>ό“κ<CEBA>ύΏuω‡ώΧυ<CEA7>σ<E280A2>ΗδοΜό<CE9C>vύ#υ<> <EFBFBD>Ρ<EFBFBD>ψ<EFBFBD>ρ<EFBFBD>γ<EFBFBD>Η<EFBFBD>O<EFBFBD>#ϊΏƒ?ψΣ<CF88><CEA3>ώ/ΠϊΣ<CF8A>ώίΧψdη_εψλξ<CEBB>ΰψί6<CEAF>Σ<EFBFBD>Χ²ύψ ϋϊO<CF8A>ϋyΦΖηϊjΓ·ώ™ώ―τ<E28095>νΟ υGmό9ώ³Βϊ—δ<E28094>Νθ~ΏόΏ™σ/ƒ―ύό6εΘΟύ;&έύ®ξ<C2AE>χωϋ?]ϊ<>Νϋxi<78>Λ«Χ<C2AB>¶ύύgΫώΓ<CF8E>Oό‡ώ<E280A1>ΰώτ<CF8E>¤<EFBFBD>ύθ<7F>c­<63>ύ―mΛ<6D>}oι_οΧ«χλάΟθ<CE9F>®+<2B>λψΧΦ_n^byδΎηSsύkσω‡ύo·<6F>ίέρ<CEAD>ΌώίΨ<CEAF>τ<EFBFBD><EFBFBD>νςΏ-όΡ<CF8C>ψ<EFBFBD>π<EFBFBD>΅<EFBFBD>Ρ<EFBFBD>π?ό<0F>[γςαωΜωΞ<7F><CE9E>ζOJΧ“vώ'ω_Π_ώ=ΟΏΜ;<3B>£<EFBFBD><C2A3>lύόο<48>™η?Fκoµ<6F>Χί"<22>_³ώύ
η_8<EFBFBD>Ηωφ?μo-~ζόυ,<2C>ΏΖώηό?ς<1F>ώ?θoΡ<6F>‡ύ<07>C»τ§ώ<C2A7>νΟcσ?Ο<>yΟυ?<0F>•κ<E280A2><CEBA>Δ¤ρΏκ?Iϊ?Ν8<CE9D>§λ<C2A7>ΕΟδϋέψ<CEAD>ύo;ώCύ?Ϋρμ?Ϋφρoδ?ωvγ_cϋΏyυ_Wθ<57>κ<7F><EFBFBD>GόίjύM<7F><4D>φώKΪ<4B>Y~ώ•ός<7F>ΧΘ<CEA7>±<>¤ω<C2A4>+Τ<>Η<EFBFBD>O<EFBFBD>OΛύ_ΧoXΏΓΝί™<CEAF>] <0A>ςx·ώγύπ<>όuΰΏή]<5D>”π<E2809D>ροίΏ<1D>τxW³ύ5θΎv¥ƒοlΕγw!όςx<CF82>{Wμ“πΏϋό‡οΫώΛύn6ώ1ά^όsΟ<73>Ηώ‡<CF8E>α»ψc<CF88>ϋγ<CF8B>_*ΎΒ<>ΤρΦχgΎά¶¶Ο<C2B6>ω_Γώ―γ_~~½ω~ουµτΏτωο7<CEBF>θδ<7F>:ς_Oώβ<CF8E>C<EFBFBD>[Τ<>Πϊγ<CF8A>·(<28>%ω?-πύώ§ηό«3ώRψ©όπ'ώ ό<>ϊwϊΚυOρσΓjρ<6A>όώΛΏΏΛΞνΏJύ_Ϊδo<CEB4><6F>K]ώJγORω―·<E28095><C2B7>C©όλ‡<CEBB>Γ?_<5F>νϋάυΣ?μ<>νz<CEBD>oΫΪϊοο'u½ίώ<CEAF>Ηϋη<4A>Β<EFBFBD>Ηγ<CE97>ο΅<CEBF>¶¥εΑψώ¥<CF8E>ώο<CEBF>cψ·ο<C2B7><CEBF>ψηηo…υo=ώFόϋΫΊύΫο£φg<CF86>ύ―e<E28095>Hρ<48>o<EFBFBD><6F>Ξ<<3C>ό?ς<>ΰς<7F><7A>ώoόψ<7F>π<EFBFBD>Yυ<59>Ν±<CE9D>fε_iΩ_vωϋ<>ό/ΰψΐ'<27>ό_θΟω_νσ?Ϊη<CEAA>¬<EFBFBD><C2AC>ν<CEBD>;<3B>Ϊφ?η<>8<EFBFBD>Ηω?Ξ<>ΩΛ<CEA9>"<22>ίvώ?φ?ρβ<7F>Δ<EFBFBD><EFBFBD>ΫΤ­ρΟvωί‡ΏVό<56>σ<EFBFBD>Vιϋ<0F>/τ·J<C2B7>Έ<EFBFBD>Δαz}<7D>―‡ύ'>uόοw<CEBF>N[<5B><>Τψ\<5C><>Uα[<5B>Kλ_κ?Ύηε_<CEB5>ώοπ<CEBF><CF80><<><7F>_ϋ]β<CEB2>Αρ_όόΧϊ<CEA7>ί³ώ<C2B3>θMψsδ—T<E28094><68>ώγΟ<CEB3>Ξωƒ<CF89><C692>Θ?ΰΛΰkΏk―<6B>π½ΥώΌjώϋαΗ—Ύ<E28094>³<EFBFBD>»<E280BA>Τ<CEA4>νι<CEBD>µψ<C2B5>οξσoWώ±<CF8E>[Ο<>χNω;G<>Hύ?θτ?ώό<7F>ψ<EFBFBD>ρ<EFBFBD>γ<EFBFBD><><17>iΝΎ^όΗ’ό‡ώθό/ψ<>±<EFBFBD>αψί<CF88><CEAF><1B>ΏUϋίΓρϋϊχ]ζ<CEB6>Ηο{yΌώΎχω?sψσw\<1F>w<7F>γσ?yϊKαΗγΙ<CEB3>#<23>―Ύώ<CE8E><CF8E>ΦΟ½οmχΣ[<5B>Φγ<CEA6>9ϊΔgδGυό“ΒΟ<CE92>ιλς_Ϊ<5F>O<EFBFBD><4F>σύΛΪτ<CEAA><75><6C>ΛϊΏ¶<CE8F>εΨϊλν¨m<C2A8>b<EFBFBD><EFBFBD><E28098><EFBFBD><EFBFBD>ψ?π<>|ςΗβ?<3F>ψΣZωΦσ<7F><71>σ<CF83><E28095>g<EFBFBD>ΗωΞ<7F>3<EFBFBD>Ψί¶Ξ<C2B6><EFBFBD>φ?ωπ?ωδ<7F>α<EFBFBD>Γ<EFBFBD><EFBFBD>ύ<>ΙηΏΰψώ·Η<C2B7>__―|,?<3F>ιθΟςz<CF82>γ»mσύ<CF8D>ξχΊΎmαψ<17>ώψγϊλϋ°<CF8B>ΛΏηΒ<CEB7>Ηo[?<3F>π>ΚΟοF<CEBF>αό•αoΫΉ<CEAB>ΡΡ<CEA1>θυ
ϋω}Nf¬<66>Έor Ώ¶ώΟΟ?Ψ%υ}
/Ώ<<3C>Ήyi…ύµιΏοsαΗpΒώ_ρ|jΛyώ·,<2C>9…x=ΦΟΟGίψ3=sς_gπίΊύ<CE8A>Bz•ϊΥιs¶―Jσ<4A>ξώ<>ω΅„_J”ξwΎ<77><CE8E>λ_z~¦}Ό¶ώ»βωο4<CEBF>Φεϋφ<>ρνJϋ¥9ϋέύ—υύ<CF85>v<EFBFBD>sύύφ<>(ύgΘ?νώΧΘόψ<7F>π<EFBFBD>Yυ<59>a<EFBFBD>θo™ώ5<CF8E><6C>±Ο<C2B1>«ν<C2AB>Δ<EFBFBD>!σ_^q]Ϋ<>¦<EFBFBD><C2A6>;―Kγ?<3F>ψ<EFBFBD>¶ύw<CF8D>?¥ϋεόηυψOω]ί<>Ώο#ρ·Yφ<59><CF86>ρ?Kφ?ϊ<>ό―<CF8C>xυΝ<C2B6><CE9D>―Έ<E28095>·<14>Ηώ³m<C2B3><11><0A>ό?ΫρΡύO»ώοΛz½;mέ<1B>L<EFBFBD><>Ο‡ΔΎξ<E28098><56>―ΐ<E28095>ϊρΔ<7F><57>Ιφ_ϋ.ρΏυθ<CF85>ρς<>Ι<EFBFBD>_)<29>ΏΧώ“κνψ+ώ<>ω—<CF89>―+ς―·<E28095><EFBFBD>Χ<>~!?a<><61>£?Ρλε>‡Ώ{Υ(}<>ΏΟίoόxόΧWϊΉΐόmγ<>Hρνjψ_}ώg ~ϋώϊCmϊkφ?Ό;ώ3Φ<33>Ίύλώ·9ψλφ<CEBB>ƒ<EFBFBD>αψί&ώμNψ7|ξ}ο½<CEBF>Ύτχμ<CF87>ΟRϊ―j<E28095>?mλI<1A>Π^<5E>eω?ΪΈ½<CE88>σΪϊΏ<CF8A><CE8F><EFBFBD>υ―ί<E28095>ύ<>ό_KώΛδοΌσθϊCό<7F>Θ<EFBFBD>vϊ»υγ—ώ½ΰS<CEB0>ΡFώo.<2E><><EFBFBD>ύ¶µΗ<C2B5><CE97>υ<EFBFBD>ϊΟ_‡λΏ¥~UιόυθωχYηΏυΟ<CF85><CE9F>Σ†όοπoδ<7F>ΕυΜtΧί<CEA7>ςΏοόώη]·^<5E>±/]6<>Ϊό'ΕO{ώήύϊϊΤ?΅ώφΏv<CE8F><76>ίοϋ«ΧώΧ¶$ψkΓ<6B>1<EFBFBD>Τ<EFBFBD>Ά<EFBFBD>όoΉώ‡mωgέ<67><EFBFBD><0F>ώ?»ώ?‰ύ7£<37><C2A3>~ύ_ψϋ<>ϊΏψΐό‰<CF8C>Π<EFBFBD>ΙZ<CE99><><CEB8><EFBFBD>ϊΏψ<CE8F>¨<EFBFBD>g³ώ<C2B3>υϊΏ2όg―ωόΗγ©<CEB3>Kύί™ϋςο? >φ?φ?ρμβ<7F>Θ<EFBFBD>6ω?7ώ»bώ7ώ?θo%ώ<>ύ<07>Cτ§ώυW¤?υ/ί_<CEAF><6F><^<5E>o…ϊ/%ό[κοΙύ<CE99>kΤ<6B>£ώ·½ϊ?θκ?R<>Νnύ7μ?δϋΫςΕϊίkΤ?·ή<C2B7>§Ύ<C2A7>S<E280BA>|=ϋ<>ϊ<EFBFBD>Τ<EFBFBD>§ώ?υ<>-ι<>•όο¬<CEBF>ΥΦί<CEA6>ότ?ϊ<1F>ό<7F>ψ<EFBFBD>ί­<CEAF>Ώύω=ΰεζ<CEB5>¬?ύγΎσΏO<CE8F>χι<CF87>/…<><E280A6>αππI*_Ύς)'<27>ΟςS<CF82><53>!<21>ΏSπλψ—ΗoΫωzψόeόΗΰΏ>ηηΟ·<CE9F>΅?τ_Cώω{ΙςηήΏ¶ϋέ©ό<C2A9>7<EFBFBD>=ΏχΟΤlΫy|κΊ[ί3ω? Ώ†Om|κΊ<CEBA>όπ?όo™<6F>Αί¶ύ?<12>ρύwΏίνγ<0F><73>Ρ„?B<>O/σ<>¥γξϋϊόkΫ<6B>²ψΟ<CF88>ϊ·«ΔbZ<7F>ΖΏ<CE96>ύn<1F>ώχ{¥υί<CF85>Ώοw—®<E28094>ψ~γπσγύλ3τ<33>ύ<ο~~;ςί<CF82>_ΝΣ<CE9D>νςΧΧ<CEA7><CEA7>ϊΦχΪτ<>φρυωΧ^λΨίΨν<>Δ$τ—βίBΏ^ψσθώΰo_—•?§ώκρ•r|ζ\/%U<>9<EFBFBD>i|Pσωτ<CF89>>όSψ<53>+Ύψί…Οχ<>j‰_µΐ—ΗΏ¤τ—­<E28094>m“Ξίσ<CEAF>?oύ<6F>Ρ_‡<5F>¥φ<C2A5> ϋW³ώ¥uω―έ<E28095>M[ώΛϊΏ¥ϋΈyiι?xΏϊ―3ωω‡όΓώ_Ηώ<CE97>a<61>Ψ<EFBFBD>χΗ_JμμψώΧε»ψ£<CF88>ρ<EFBFBD>α<EFBFBD>C<EFBFBD>ΫΦ<CEAB>π?ό<0F>Ϋαλω<CEBB><CF89>ηό?η<>Ησ'¥λO;<3B>“ό/θ― <09><>η_f<5F><66>Yηό<CEB7>Νσ―>½ΒώμιύA<CF8D>ώ<EFBFBD>ό<EFBFBD>φσ<CF86>µύQΟ<75>g<EFBFBD>Kίrώo<CF8E>σ/<2F><>γό?ϋφΏ¶Ζsώ‡ϊ?<3F>ΏF<CE8F>ω<><CF89><07>τ·ε<C2B7>Γώƒ<CF8E>΅?υ<5F>g½ώΣΌϊ#=ώΟ;®<>™ψ―T<E28095>O<16><>­S<C2AD>)<29>Ν<7F>>―ώ<E28095><CF8E><EFBFBD>_?gκΔ<CEBA><CE94><EFBFBD>£<EFBFBD>©<EFBFBD>Lύ?β<>Ψν?βίΘς<7F>μΖΏFφΗοζΦΥι<CEA5>κ<7F><EFBFBD><1F><EFBFBD><E28095>o<EFBFBD>ϊ<EFBFBD>Rύ#<23><><EFBFBD><EFBFBD>OώΏnώΏΜώΛ<>_§ώ?ώϊZ<5A>Ώ<EFBFBD>θE<1F>γω<CEB3>Χ<1D>ΌώηΎM_―έ?/…_»οσ<CEBF>?ψ.ώ―Z$aύ“ςηπ%Ε<>ό
αΥπ―<EFBFBD>―ΏΚψφΓο½?τ‡ώ:τΧ®xwό¥λ½ϊΧµϊWηZWsπΧ©<CEA7><06>Γ<EFBFBD>πΏ]ό­Ϋ<C2AD>‡/ζο'τ_ζΰ;<3B>ΦΛ<CEA6>xά?<1C>|ΔψΧΟτύ~.ό3ώ!|θοΣΫΞύorϊ*ξs#¥Ώ¶ύίmύεζ%¶Gάχα|j®νώ7+¬ ώ3δί<CEB4>ϋ<EFBFBD> <EFBFBD><EFBFBD><E28098>υφM!Ος?-—Ω<E28094>΅<EFBFBD>Ρ<EFBFBD>Πί.ύρ<CF8D><13>©Ϊ?\η:ρ<>µ<>Gβ?q<>ρσ—cς·o|Ω<>υΚ<E28098>{Ζ<>ϊθSί<53>χΞΏdόωω5Χ<35>¶|σ<>»|βΨΎΟ<CE8E><>υΰ#<23>α~F:<3A>Ίςd<7F>®Ώ–ω+ο<>ξΖσόίΔ?‰b<7F>ί-<2D>¥½~j[ώ<>¦ύ£ϋόΪσωπ?ω<56>u<EFBFBD>.ώ?όψ<7F><>dφί<CF86>όέψ?ό<>ύ<EFBFBD>ύ―uώηξη_ΐό? <0B>χκmω/Υ<>αwυύτ‡ώZτ—Φ<E28094>Ϊ¶σχΟGΊΎΤσ®gµΖω—±ϊWσδΏΎ΄ών™ώ!¤ι,­ζσ@
^+ώ¥ρ¥Ώσω―<12>·¬ΏΧ{<7B><><EFBFBD><EFBFBD>3<EFBFBD>k―<6D>ω7^<5E>οω<CEBF>;<3B>©ωυη?]<5D>Ξ¦όΓώW<CF8E>?3ώ¶ρμ<7F>ΟΩ<CE9F>Iϋ§]Ρν<7F>λίΊώΣ¦<CEA3>υυwω?/ώ―<1D>EώC<CF8E>µΰc<CEB0>a<EFBFBD>α<EFBFBD>‡ώοχΡ<7F><CEA1>v<EFBFBD>GϊΏZ\<5C>τ<EFBFBD>΅<EFBFBD>ύ¬φ<C2AC>Aώ΅<CF8E>eυυ<CEB7>Υ<CEA5>Φϋ<CEA6>b<EFBFBD>!<21>μΙ<>¬ώΧ<63>:λ_ΪWJ<57>ϋτ<CF8B>Mο<4D>¤ϊ_ΗώG<CF8E>λς<CEBB>ηΘ?©ώΧΩ<CEA7>[—θ]<5D>_9<5F>yLώΞΜ<CE9E>oΧ?R<>ϊύ<><CF8D><1F>ό<7F>ψ?ΐόΑ<CF8C>zό¥η<C2A5>ζΙύo]ώCτ<7F><1C>Oϋ~t%<25><>u<EFBFBD>φ?ό<0F>γ<EFBFBD>ςΏ[ύ<>ϋϊ[Ηηβ_<CEB2>πGθ<47>IγΙ<CEB3>Γ<EFBFBD>ί<1B>Ξωσkγsρ<73>5Φ?ρΩg)ύf?Ο»<CE9F>ί<EFBFBD>όwλy¦ώo—ΏΎώί¶φηΟΥ<CE9F>γό‡ύGζΏ}|}ώµΧί:φ7φ<37><0F>?ώ?βΏΰώΦγ<CEA6><CEB3>ψΟ<CF88>yωo3<6F>—ψϋ?ΞΏ<12>a<EFBFBD>ΗωΞ<7F>#<23>°<EFBFBD>­βOώωΨ<7F>δ<EFBFBD>Α<EFBFBD>δ<EFBFBD><EFBFBD><EFBFBD><0F>ώ?τΏ<CF84>σ_π?ό<0F>Ϋβ<CEAB>Χ½θαγ<ΧΉ~ΎξδηλξΫτυΪύγρRψµϋχ>ίgγ<67>κEφ?ιω,]_<>ϋK<CF8B>Ώ~<µWνώΠ<CF8E><> _SΎΛσΏεωΟ__―|f|ξωύϋ<CF8D>ƒ\―<><>ρ—εΏJε<4A><4A>\<5C>ϊ|<7C>«ψχση<CF83>έύχΎ>ώ9ώL­ΏΪx<CEAA>zΜ<7A>ϊλ_<CEBB><5F>ΠΦ<52>ϋ‡σΜsλό?¬ώ©Eω‡ύΟώΦϊυ~ϋ5|IΧWmΏΤΏ<CEA4>*?o<>ώμsχΪύ‡υχ?Φν]ϊY_χ”<CF87>ψ<EFBFBD>π<EFBFBD>α<EFBFBD>ϋ<04>φόύ-Ϋ<>ϊώGMψΦνΏ±ω<C2B1>η<EFBFBD>Όηϊ<CEB7>λ<EFBFBD>ύχο\ψgόCψσβ?<3F>ψ<EFBFBD>¶ύ5†8<7F>.<2E>δόψ±ό/ΕΦς<CEA6>χΕΟζο<CEB6>ί<1B><>ώ·<1C>i‰Ης*g<E28093>ωΧ<CEA7>Φγ<CEA6>Ψvν?βίΘς<7F>μΖΏ$ϋ§<>οΨ<CEBF>l[»ύ<C2BB><CF8D>ΖΧ£<CEA7><C2A3>θ<EFBFBD>ΉϋΏΥφ<CEA5>οδ<CEBF>{ζ?[Ο<><>Iώ_M<5F><4D>ώώkΔ<6B>4/ώCώ?ω<>«ε<C2AB>χΨ<33>5γΏψ<CE8F>Gψg^ό_Ηώ'ώ<CF8E>?κHΖο_™Wξwµρµο<C2B5>|ΰΏ<>π|δδKμΈ~ <0A>¶ύwΩ<77>΅ ϊC<6D>λOΗυ«έ<C2AB>Ηκ_ηλOί<1D>»Οz<7F>οί<CEBF><CEAF> ήΜΑ?Ώ<>Λώ³΄<C2B3><CE84><EFBFBD>αλόoiψΦί­ο<C2AD><CEBF>±|]:Ο«Ϊ<C2AB>­ψiΟί<CE9F>ωOΛ_'gγλΟΗΌρλκΩσίeώΡ<CF8E>Θ<EFBFBD>ε<>»δ/ϋ?τΏuύύ΅?ώΛςίφωgπη<>«ωψΧΓΧΜ<CEA7>σζζ<CEB6>Ώ8η<38>¥σς<CF83>ωw>^µψW[ώ_ό<>ψΫ<CF88>ψ—ξω<CEBE>Τό·η_¦πOη<4F>ΉηεόO]<5D>…φλΎΛφΧµϋ?sαοϋ¬ύΏωZ<7F>ΥΟgy%΅Ώ¶ό―α[[Ήyi<79>ΟΧΏφumώ»ϋό!<21>έωίyύ?ξyώω“Ξ<E2809C>¶ξ<CEBE>ϋ•9λo|<7C>•¶<E280A2>Sγ<4B>~ξ|Σ<>ύ_¶?ΰί_±ώµχ<C2B5>Φδυ?ρ<>α<EFBFBD>Γ<EFBFBD>g·ώΟΈύ7cύiΫ_π?φΏmϋ_}ύψΐΏ΅όόλδ<CEBB>jπ΅?τΧ <CEA7>ωύοη<CEBF>ΧγψTξz<CEBE><7A>Όραϋq®ΔΝΏ«•εί<CEB5><CEAF>ωο‡_οΏmώΉ™,}:ίηΞΏ_q<04>x|νϋσ> ‡_mύµ<CF8D>Ο}^cύkσ<6B>ύδίέηίΊό³k<C2B3>λΖ<CEBB>τγίΦρΗώ·m<C2B7>ο{(?έϊρλΓ<CEBB>Λ_<CE9B>ώΏίαύΧY<CEA7>vυίϊKείΌυ<17>ύ§<13>Χ<EFBFBD><CEA7>"<22>­ΣΌώ{ύΓψάϋϋ<0F>Χ£<CEA7><C2A3>υ§ξQ<CEBE>J»ώζuπ­ΟΏ¥υ/υKίuλ?Λρ“ϊ<E2809C>µί%ώ‡yυΗΣπγΏψω―υ<E28095>Ώgύ!<21>Π?«Υ<C2AB>ο—_Rύ£-<2D><53>?<3F>ώCώ!<21>€/ƒ―ύ®½ώΓχVϋσ<CF8B>ωο‡__ϊ~ΞώoξώSΫώ·§<C2B7>Χβ<CEA7>ϋΙΏ»ΟΏ]ωΗώo=<3D>ί;εού#υ<> <EFBFBD>Ρ<EFBFBD>ψ<EFBFBD>ρ<EFBFBD>γ<EFBFBD>Η<EFBFBD>O<EFBFBD>ψτ§<7F> τ‡ώτ<CF8E>¦<EFBFBD>χ{γ<>mω§sπΧµΏαψί6<CEAF>Σ<EFBFBD>ΧφώcίΓρµΟ½ο½χ“Β—ώώψ;^ξσΨό»ϋΧξ7~<<3C>ώΏτ-υ<><CF8D>υΖφ]<>ΗΧω<CEA7><CF89>λ_?™3<E284A2>Ϊρ<CEAA>ύύy\Υ<>yω—~ώvψiύ<1F>ιλςΌ<7F><CE8C>T<EFBFBD>Χϊ—ΥτωΥύ<CEA5>¬φΦ¦<CEA6>¶µ­<C2B5>«ϋ_<CF8B>­Ώφώ‡Ϊφ/φφώβ?τ_­φ<C2AD>¤<EFBFBD>ύθ<7F><63>ύ―mΛ<6D>z<EFBFBD>ϊς»tώµωO<CF89><4F>φόΑΘ?δποΪ<CEBF>οΞψb<7F>ϊΒ<7F>vωίώθόψ<7F>Π<EFBFBD>θψώ‡<CF8E>-ρΏυόGπηό η<>χ½<CF87>?y|7<><37><55>ΦΟ<CEA6>$<24>Χ6ύχ}.ό<>ώϋΒwχ_γόΛzηή™<CEAE>Μωί\<5C>Λπ|P<><>ό<EFBFBD>R<EFBFBD>»ϊωy<>;λω<CEBB><CF89>ηΟΦ=<3D>oιόη<>9<EFBFBD>Οώ<CE9F>σ<EFBFBD><CF83><EFBFBD>±Y<C2B1>gόόwόuχχm®uφ?Ψ<><CEA8><EFBFBD>ηό?ώ?όψ<7F>μω<CEBC>°<EFBFBD>8<EFBFBD> ύm<CF8D><6D>ϊψ?V¨C²<43><C2B2>ΝΚ»4ώ#<23><>­`<60>Iϋ?IΟί­R<C2AD>/?;®<>Φ<EFBFBD>®ν<C2AE>Χ<CEA7><59>Ρ<EFBFBD>δQ<7F>ΟϋΟ¶ύGόωOώ<4F>έψ—΄ι<7F>ύηzύ¨<7F>κ<7F><13>·<10>_Ρ<5F>χΞϊ<CE9E>ύ3ηό+ω<>δ<EFBFBD>kΪΏsϊΧ<CF8A>κνψ/ώϊΪΝ<CEAA>ι{<_<>ώηωc<γ<>ρq]tύ—sύ”wΑΏϊωµαCθ―+?ΞοΏίοΌ~wόο=<3D><>?9<>ΧξνσΓ<CF83>πΏeώφ<E280BA>½λOΛαCέϊ―ΪϊWΏώθ*όΎηδ§<CEB4>»~yΌ<79>ύJςwώw<CF8E>τ?ς_£ώ·®όµΎ<C2B5>C<EFBFBD>£<EFBFBD>΅Ώ]ϊγ<CF8A>Η<EFBFBD>ηΞwηsη?ΗΰΗγέω¬τx)όTώψ<13>f|iύ‡{Ε<>ηήψ<CEAE>?ώ•Ο΄όtΏo_<6F>¥ρmς_’Κ½ύοϊΛδί¶µΑo‰<6F>µ<οωχσΦ_Κfvχ?πΟλ<CE9F>wΚYύ‡6ϋΣέ<CEA3>L<EFBFBD>rώχό<>όoό?1ύKλl<7F>WΆΏ¶όΗΏ}<7D>ηγσΏφϊ·#ώ‰ύύ_¶Ο[μ/©ύ―Ώ<E28095>—β/έ<>Ο<CE9F>τό<CF8C>όOώ_?}>]ώα<CF8E>Ζ<EFBFBD><EFBFBD><0F><>E<EFBFBD>ί<ϋOzώD;ώk—<6B>±<EFBFBD>9<EFBFBD>ΓxΖ3<CE96>σ<EFBFBD>δϊ[Μ<>Φ9²NόΛ¦<CE9B>/G<><47>^9υ;yώ±<CF8E>ύOώ?η<>8<EFBFBD>Ηω?β<>δ<EFBFBD><>Ηώ'ώOό<4F>ψ?ρΫϊ―<16>_mρ_νψ?η?­<><C2AD>ψ?φώθoΥ<6F>―έFώ1ή}Γ<>Φxλσo}ύKύΟ~ΙοGγθ^<5E>Ώ/Λ―:ύ®φ<C2AE>ηπ<CEB7>ι<EFBFBD><CEB9>ϋ©Ο_m<5F>εσ?ζ?<3F>ς_ϋύΣΧϊo®_Θ?τΏ6ύ%ρgιό―#<23>µϊ<C2B5>ΑΘ?δγµΧΏ<CEA7>ύΉΞϊ—ώIι§σ7o<37>'Υ<>:φ?ϊ_—<5F>?Gώέ}ώmΚ?τΏ®<CE8F>O[ώΞΣ?R<>ϊύ<><CF8D><1F>ό<7F>ψΏ€|ΰΏS<CE8F>λΔV°Ώ°<CE8F> ?ώ?›ώλώ?νύ<CEBD>ΌύΧυψ<7F>σωόmΫ<6D>ϋ<1E>?Ύ{}<7D>―‡πsΟ_ΏοερρψΏ<CF88>ςψώΗόΧGηίέ<CEAF>ψόF<>ώRψρψϋΫη§πzh<7A>·ΠΏ6<CE8F><><CEAA>ηηόIΗ;~iϋάϋήv?½υ?<3F>Χ\ϊι½ηθσϋ}>O?Ά<>Ϋδ<CEAB>~~|M<>[—<>Ήώα|<7C>Λ―<CE9B>ώΟυ?kΥ<6B>ωρΧϊώoUϊ·¬<C2B7>ύοφ}ξϊ{>Κσηξ·†ύύgΫώΓ<CF8E><CE93><EFBFBD>ψΐ<>­ε<C2AD>ZΟ<5A>#ώ‡ώΧ¶?Wo=<3D>ύ<E280B9><CF8D>ύόΗόc[‡OώωΨ<7F>δ<EFBFBD>Α<EFBFBD>δ<EFBFBD><EFBFBD><EFBFBD><0F>ώ?τ?η<>αψώ<><>ϊzεcωωOGΧίmοίόwΏΧυm ΗΏπτΗΧ<>ώ$®<>ΛλχsαΗγέυ£>ƒ?<3F>ΰ<EFBFBD>|”<>ί<EFBFBD>Γψ+Γ?ϊΉώΕ®?ΡΡΙυ+
ϋΟX<CE9F>aίδ3όΪϊ??Wόόa<CF8C>εΤχ)Όόςόηζ¥Χ¦<CEA7>ΎΟΓqχOΝ§¶ό—ηΛς<CE9B>Sψ‡Χcύό|τ<>?σΧσ1'<27>u<06>ιχ?―<>Π<EFBFBD>NΣί‡W¦ΟΩΎ*Ν©<7F>^ ώιώ<CF8E><7F><EFBFBD><EFBFBD>:<3A>ΗόPΒ/¥?Jχ;ίΕυ/=?Σ>^[<5B>]ρόw<CF8C>λς<CEBB>ύϋΛψΧφ?¥ύ<C2A5><CF8D>ύ‡ξώΛϊώ/o<><6F>ϋ<0F>Ι_<5F>χ^a<>ƒύ?J<>ς―tώwlύυ<CF8D><CF85>γ<CF8E>Γ<EFBFBD><EFBFBD>Ο<EFBFBD><CE9F>ϋΟ:<3A>CΛτ―ωgϋύ<CF8B>}ώ_m<5F><>ς<EFBFBD>λΪώ7mόίy]<1A>Ζ<E28098>΄νΏsό)•<>χ<E28093>Χγ?εw}<7D><>Ύ<EFBFBD>ΔίfΩ<66>+Ζ<><>θςΏzβΥΫ67ώΏβώίRόϋΟ¶ύGόΫ6|ς<>lΗΏFχ?νϊΏ/<2F>ιυξ΄uoό3=Ύd<CE8E>?ϋFΊ<46>[m<>Ώ<02>λΗ<CEBB><><11>·μ<C2B7>]Ρ<>ν»Δ<C2BB>Φ£Θ<7F>'<27>¥ό<C2A5>^ϋO<CF8B>΄γ―ψ<E28095>[δ_zΎ®ΘΌήώ'ώ\?ϊ…όύ„ύC<CF8D>ώD―—ϋώξUO τύ1>ό>Ώ9πγρ__ιηπ·<CF80>Ώt<CE8F>#ΕΏ¶<CE8F>©αυω<CF85>νϋ?θύµι―Ω<E28095>πξψΟX<CE9F>λφ¬ϋίζΰ―Ϋ<E28095>ώ‡<CF8E>αψ³<CF88>9αίπΉχ½χ~Rψ<52>ί³<CEAF>kυ?KιΏ<CEB9>ύ<EFBFBD>|΄­'iόC{ύ—ε<E28094>h<EFBFBD>αφώΟ<6B>:ώ3ΦΏ~<7E>gτ?ς-ω/“ΏσΞ<CF83>Yυ<59>΅<EFBFBD>νθθύρ<CF8D>#<23>ΫιοΦo<CEA6>_n|9<>ψχOύGωΏΉόK<CF8C>χΫΦ?JΧ<4A>λ?®<>ϊU¥σΧ£ηίg<CEAF><67>Φ?<3F>3N<33>ςgΎΓΏuό<CF8C>Χ3Σ]+Κ<>Ύσϋ<CF83>wέzύΗΎόuΩόkσ<6B>?νω{<7B>υλλP<7F>„ϊgΨ<67>Ϊύ~ΏGμ―^ϋ_Ϋώΰ― ΖόS<CF8C>ώ_πΏεϊ¶ε<C2B6>u<EFBFBD>/ώ?όψ<7F>μϊ<CEBC>$φί<CF86>ώ?ϊυαμκ<7F>β<EFBFBD>π'ώC<CF8E>'kύ<6B> ?ώ?κ<>β<EFBFBD>£ώ<C2A3>ΝϊΦλ<CEA6>Κπ<CE9A>½ώεσ<1F>§ώ/υΘΏ<CE98>$ψΨ<CF88>Ψ<EFBFBD>Δ<EFBFBD>±<EFBFBD><EFBFBD>#<23>Ϋδ<CEAB>άψο<CF88>ωίψ<CEAF> Ώ•ψ?φόύm<CF8D><6D>ϊΤ\‘ώΤΏ|ύΏq<CE8F>σxύΏκΏ”πo©Ώ'χ<>―Q<E28095><51>ϊίφκ<CF86> <EFBFBD>©<EFBFBD>Hύ7»υί°<CEAF><C2B0>μ<6C>λ―Q<E28095>άz<CEAC><7A>ϊώoNύσυμκ<7F>S<EFBFBD><53>ϊ<EFBFBD>Τ<EFBFBD>·¤<C2B7><57>½³ώΙ<7F>U[Π<7F>θό<7F>ψ<EFBFBD>ρ<EFBFBD>γ<EFBFBD>·ώ<C2B7>ύφηχ€—<E28094>³ώ8τ<38>ϋΞ<CF8B>>=ή§~J<>…cΐόΑ<CF8C>%©|ω~Θ§<CE98>ό?ΛO)ώ‡|ώύNΑγ_Ώmηλασρƒ<>ϊ<EFBFBD><CF8A>?ίώ‡ώΠ ωηο%Λ<>{<7B>Ϊξwwό¥ςήόχόή?S³mηρ©λn}Οδ<CE9F>ρ©λώσΓ<CF83>πΏeώΫφ<CEAB>Ηχίύ~·<>Ο±<CE9F>Gώύ?iΌΜ<CE8C><EFBFBD>ολσ―m<E28095>Λβ?3κί®<12>‰ύύiy<1A>ώχ»}|όϋίο•Φ;ώΎί]Ίώγϋ<CEB3>ΓΟ<CE93>χ―ΟΠ<CE9F>ΧΠoφσΌϋωνΘ?~5O<35>·Λ__<5F>Kλ?Xί<58>dώΫΗΧη_{ύ­cc<7F>Y΄<59>π<EFBFBD><13>Π_<CEA0> ύzαΟ£?ψƒΏό}]Vώ<56>ϊ«ΗWΚρ™s½”Tύη<ώ¥ρAΝηΣ<CEB7>ϋπOαw®ψβ>ά<CEAC>%~Υ_<1E><EFBFBD>_¶ώ·M:<3A>}Ο{ώύΌυ7Fώ—Ϊ<E28094>3μ_Νϊ—ΦεΏv<CE8F>7mω/λ<>ξ?ΰζ¥¥<C2A5>ΰύκΏΞδδςϋϋ†ύ9b<39>ί)ύ±<CF8D>±<EFBFBD>αψ_—<5F>νβ<CEBD>ώΗ<CF8E><EFBFBD>ύo[<5B>Γ<EFBFBD>π?όo‡<6F>­η?2<>σ<EFBFBD><CF83><EFBFBD>Ο<>”®?νόOςΏ Ώ&ό;<3B>™yώg<CF8E>σ6ΟΏϊτ
ϋ³§χyϊKσ<4B>ΫΟ<CEAB>ΧφG=ΧΙ<CEA7><CE99>uώ-ύ}ΛωΏ5ΞΏpώ<70>σ<EFBFBD>μΨ<7F>ΪΟωκ<>ύΗωδ?ώόΠί<CEAF>ϋώ‡ώΤ΅ώ<CE85>υϊOσκ<CF83>τψ?οΈώgβΏRύ?Yόg,ώ·Nύ§4ώ5<CF8E>ϋΌϊ?:ώiόl<CF8C>ύ©<13><>ώ§ώ3υ<33><CF85><EFBFBD>c<EFBFBD>Y΄<59><CE84>#<23>Ι<EFBFBD>³<1B>Ω<>Ώ›[<5B><55>υ<>©<EFBFBD>ρόΏ:ώΏuκ<75>Kυ<4B>4ώCώ?ω<>Ίω<CE8A>2ϋo,<2C><EFBFBD>ϊ<EFBFBD>ψ<EFBFBD>ι<EFBFBD>i-ώ<>γ©έσόΑu®sύ³―K_WΓΏϊωµαCθ―E<E28095>6ϋ¥?9>ώξψί}ώΫκWελ§ΝΓΏ<06>Ίη‡<CEB7>αψί&ώΦν<CEA6>Γ_υχϊ―rγ<72>λεO<®ΧΖΧύγΎ5ϋ^<5E><>©ίIη_S<5F>¶ΰ_[ΉyIΑI}―Νηώ3ΟGN~<7E>υΏΙχ<CE99>YaύKπΏϋό£<CF8C><EFBFBD><E28098>ς_[ώ²<CF8E>C<EFBFBD>[Χ<>Πί.ύρ<CF8D><13>yεb„ωG~BϊϊμϋΗγ¥πkχμ_®§ΟOΦϊ<CEA6>¤ϊη<CF8A>η?¥%Άλ<CE86><CEBB>²ώkγΛϊ_’Ϋ<>Ηι/•Ϊύ<CEAA><CF8D>λEΊώzο―'<27><>\ΜΠ~ΜΓ³?έύΟτOΩΏRψgόρ<CF8C>—φ<E28094>aώzi½<69>ν<EFBFBD>ςτΧ<CEA7>uόkλ―Ύ<E28095>σσΏΟσ©Ήώ­Ηί<CE97>bc<>λυ?Φ·Ο³5ϋΏ<CE8F>g;<3B>Ο:<3A>[Ο<>³+<2B>¬ϋρ<7F>α<EFBFBD>Γ<EFBFBD><67><>fθOέψ?ό<>ύΟω<CE9F>»<EFBFBD>?a<γ―'<27>ί<07>κηΧύ΅Ώύ<>Sχ*zΟΥW<CEA5>λΉσρώχqύΥ5ΞΏδλCµ]—<>O
μz<EFBFBD>ώ!oδι<kώk5όF<CF8C>Ξλου<CEBF>ζ<EFBFBD>υοβ<CEBF>!<21>k―<6D>ωwχω·)<29>°<EFBFBD>5γkΔΏ­γ<C2AD>ύo{<7B><>Ϊ^_µV<C2B5>Uwύ[Φsθ/•σΦίΌϊΏφτί{γ<>Ϊρ_δ?τοΓ„ώρόωω<CF89>ΨΨψ<7F>΅Ώ¦<CE8F>λο§άΏΚύ¬<7F>e­<65><C2AD>&ό–ώµώwo}ώ­©<7F>Ή¥<CE89>O­<4F>L^~Υι<77>?‡ΗL<CE97>ά<7F>'Χ§―µ<E28095>ΟΨό<CEA8>ω¤όΧ~<7E>φώ?σό7Χ―?δϊ_ώψ³tώΧ<CEA7>)όλλo<CEBB>ό‡<CF8C><E280A1>Θ?Ζk­ϋs<CF8B>υ/ύ“<CF8D>OηoήώO<CF8E><4F>τΏ.<2E><EFBFBD>ό»ϋόΫ”θ]<5D><>¶ό<C2B6>§¤ώτ?ϊ<1F>ό<7F>ψ<EFBFBD>ρψΐ§ώΧ<CEA7>¬`a<7F>Aό<36>ΦύΪϋ<CEAA>yϋ―+κOΐ<4F>π<EFBFBD>ησ?ψΫ¶<CEAB>χ=|χϊ_αη<CEB1>Ώ4~ίΛγ¥πγρ?ερ<39>ω;®<>ΞΏ»Ώίs)O)όxό<78>ύνσSx=΄<>[θ_<5F>νισΏsώ¤γΏ΄}ξ}o»<6F>ήϊΕk.ύτήsτωύ><3E>§Ρ<>mςO
??Ύ¦<CE8E>­Λ<C2AD>°<EFBFBD>™―?SΧϋεWM<57>Ης³W<C2B3>ηΗ·Ι_λϋΏUιί²ώSσ<53>:<3A>^<5E><>}<7D>»ώ<C2BB><CF8E>ςόΉϋ­a<C2AD>b<EFBFBD>Ω¶<CEA9>π<EFBFBD>γ<EFBFBD><>ΟωkωΏΦσ<CEA6><CF83><EFBFBD>΅<EFBFBD>µνΟΗ[Ο<>b<EFBFBD>gg<67><07>1<EFBFBD>ΨίΦα<CEB1>φ?ωπ?ωδ<7F>α<EFBFBD>Γ<EFBFBD><EFBFBD>ύΟωψώ‡<CF8E>?—<>ΏΎ^ωX~ώΣΡ<CEA3>ευ¤ΗwΫζϋ7<CF8B>έοu}ΫΒρ/<ύρΗυ£?‰λ<E280B0>ςϊύ\ψρxwύ¨ΟΰΟ?ψ?εηw£ΖπώΚπ<CE9A>~G®±λOtτCrύ<72>Β>ΗΨ7ω Ώ¶ώΟΟ?Ψ9υ}
/Ώ<<3C>Ήyi…ύµιΏοsαΗpάύSσ©-<2D>εωί²όηώαυX??}γΟόυ|ΜΙ<CE99>ΑϊύίΟλ?΄§Στχαιs¶―Jσ_κΏΧΊ<7F><CE8A>γΏη£Ξ<C2A3>1?”πKι<4B><CEB9>ύΞχ_qύKΟΟ΄<CE9F>ΧΦW<<3C><>ζίΊόc<CF8C>Αώί2ώµύOiΏ4g<34>΅»<CE85>²Ύ<C2B2>ΛΫ<CE9B>ηώΓcςΧί<CEA7>Δύ<CE94><57>`<60><><EFBFBD>†ό+<2B><>[<7F>ψ<EFBFBD>π<EFBFBD>α<EFBFBD>³κ<C2B3>Γώ³Ξ<C2B3>Πί2ύkώΩ~<7E>c<EFBFBD><63><57><EFBFBD>CζΏΌβΊ¶<CE8A>M<1B>w^—Ζ¤ρ?mϋοJε£εύηυψOω]ί<>Ώο#ρ·Yφ<59><CF86>ρ?Kφ?ϊ<>ό―<CF8C>xυΝ<C2B6><CE9D>―Έ<E28095>·<14>Ηώ³m<C2B3><11><0A>ό?ΫρΡύO»ώοΛz½;mέ<1B>L<EFBFBD><>Ο‡ΔΎξ<E28098><56>―ΐ<E28095>ϊρΔ<7F><57>Ιφ_ϋ.ρΏυθ<CF85>ρς<>Ι<EFBFBD>_)<29>ΏΧώ“κνψ+ώ<>ω—<CF89>―+ς―·<E28095><EFBFBD>ΧyρβeχΛ—X>Τ®_ <0A>κηΧύ΅ΏζΛ―­”ϊ>ώ<>Ή~<7E>lόέρΏϋόϋυ½όυσ?Δώ9ώeψW??ό<0F>ΫζΫψ[υγχΦίΧΎ<CEA7>――ίϊKκΞΏ¶ώ­α_[R<7F>φϊΧ®?ΊΒϊ—ΰχωG<CF89>#<23>5εΏ¶όe<CF8C>‡ώ·®<C2B7>΅Ώ]ϊγ<CF8A>'ώγηΖω‰ιλ½σ[»<^
Ώv<EFBFBD>ήηϋtόΉnυΊλ<EFBFBD>Φ{Κε_<CEB5>σ§Zβ/ώψ°ώ_ΊΚLώόg
ΏΪψ<EFBFBD>Λ=ϊϋ–ψ‘δ%<25>_Ν?N©όKΟ ~<0E><>ψσ<CF88>-―ιϊλ½Ώ<C2BD>ό·~ώω―[<5B>O_ώS<CF8E>C3<43>x…υoωό7φ1φl_•Ξ_<CE9E>Ω<EFBFBD>eϋ_Χώα?Οώύύ<CF8D>7<EFBFBD>©σ―µύCm<43>“·<E2809C>ελo|<7C>5γωk―~<7E>ό―Ν<E28095>Χε<CEA7>^ ώώίό³ξ<C2B3>Ε<EFBFBD><EFBFBD><0F><>e<EFBFBD><65>Μ~<7E>΅?5νϋϋ_}ύ1<CF8D>ρ<EFBFBD>Ώ΅όό«<CF8C>_>τ‡ώτ?ΧΉz½η*άx·WτλKΉϊJερώχξωτλίΕψΕΟΧ~]J?)ό±λ9ϊ‡Ό§σ¬ω―ύΥπύΣ―?¦_<C2A6>Q“<51>?Gώέ}ώmΚ?μΝψίρoλψc<CF88>Ϋή<CEAB>Ήx‰³ _λ'}½WΎΦξΏΒϊ·¬<C2B7>ζΠ_*<2A>ζ­Ώτϊ<CF84>α<EFBFBD>ώ{ό_;ώ‹ό‡ώ}ψ<>Π?<3F>??<3F>ϋϋ<0F>Χτ<69>Ίwύ«ϋ<C2AB>·><3E>ΦΧΏΤ<CE8F>μΗώ~ΞίΗΧγοuλ?ΧρΟα<31><CEA3>χS<CF87>ΏΪ<ΛηΜ0―ώxνώιΏkύ7Χ―?δϊ_ώψ³tώΧ<CEA7>)όλλo<CEBB>ό‡<CF8C><E280A1>Θ?Ζk­ϋs<CF8B>υ/ύ“<CF8D>OηoήώO<CF8E><4F>τΏ.<2E><EFBFBD>ό»ϋόΫ”θ]<5D><>¶ό<C2B6>§¤ώτ?ϊ<1F>ό<7F>ψ<EFBFBD>ιΔ/ϊΏΣ<CE8F>ϊCϊΣ<7F>ϋ<1A><>Μ~•γ―kΓ<7F>πΏmώ§<CF8E>―εΧί<CEA7>λ<EFBFBD>γό‡Ηίρr<CF81>ΗϊOΊϋΧξ7~<>ί<>ΫηήWού¤πΫO<7F><57>><3E>ηύί<CF8D>Ηάύύ<CF8D>c«¬IόeΞόkη?9ϊσ—£<E28094><C2A3>ώΜΣ3­ΏΫα·<CEB1>ιλςΌ<7F><CE8C>T<EFBFBD>Χϊ<CEA7>Υτ<CEA5>Υύ<CEA5>><>§K<C2A7>ZύϊΪzΎΊ<CE8E>εΨϊkο¨m<C2A8>b<EFBFBD>Ω¶<CEA9>π<EFBFBD><13>΅?"ΧΉnΉ<6E>θ<7F>C<EFBFBD>ύθm[ώΗuλSύλ·­Τη^:<3A>ΊςΏ<CF82>mύεζ%'υ=ό‡όCώqέb<CEAD>Ώ»γ<C2BB>±<>ι<EFBFBD> <09>Ϋεψ£<CF88>ρ<EFBFBD>α<EFBFBD>C<EFBFBD>£<EFBFBD>αψώ·Ζ<C2B7>ΦσΑ<>η<>]~g:2ΎήΏ”_ΟΪω<CEAA>δA<7F>ώcπ{ο―}ώEοό<CEBF>~ώ³υσΏ<CF83>ώ~ώ{®<>\\<5C>_~ώ£άΏ®~ώGΪ<47><CEAA>όΝσg+<2B>αόη<>mΏΨ<CE8F>[Ε<>σ?Τ<><EFBFBD><E28098>n“Ώρψ•Ξ?S<>σ<E280A1>Φε?ώ?όψ<7F><>°<EFBFBD>ΰθo—ώΤ<CF8E>³m<C2B3>iΧYcύλαΏRύΏψ<E28098>4ώ·Bύ'I<>§η<><74>!}Σρ³πzύο<CF8D>ώ_7ώgέώG<CF8E>Ϋ~Q<>ΟϋΟ¶ύΗ ωOώ<4F>έψWm<57>ΫΟ¥ωΧο<CEA7>κ<7F>S<EFBFBD><53>ψΏE<CE8F>―¶<E28095>O»ώΏT<CE8F>ΘΟΏ<CE8F>OώΏvώ<76>Έύ'Υ?+Τ<>Η<EFBFBD>O<EFBFBD>ρ<C2AB><CF81>=Hj—

Binary file not shown.

File diff suppressed because one or more lines are too long

Binary file not shown.

File diff suppressed because one or more lines are too long

Binary file not shown.

Binary file not shown.

Binary file not shown.

File diff suppressed because one or more lines are too long

Binary file not shown.

File diff suppressed because one or more lines are too long

Binary file not shown.

File diff suppressed because one or more lines are too long

Binary file not shown.

Binary file not shown.

File diff suppressed because one or more lines are too long

Binary file not shown.

File diff suppressed because one or more lines are too long

Binary file not shown.

File diff suppressed because one or more lines are too long

Binary file not shown.

File diff suppressed because one or more lines are too long

Binary file not shown.

File diff suppressed because one or more lines are too long

Binary file not shown.

File diff suppressed because one or more lines are too long

Binary file not shown.

File diff suppressed because one or more lines are too long

Binary file not shown.

File diff suppressed because one or more lines are too long

Binary file not shown.

File diff suppressed because one or more lines are too long

Binary file not shown.

File diff suppressed because one or more lines are too long

Binary file not shown.

Some files were not shown because too many files have changed in this diff Show more