M5StickCのマイクを使ってみる その2 録音してみた

なんとかWAVフォーマットで録音することができました!
実験的なコードでまだ問題が多いので、もう少し修正する予定です。

現時点の情報ですので、最新情報はM5StickC非公式日本語リファレンスを確認してください。

概要

マイクからの入力データをオンメモリに保存して、シリアルモニタ経由で保存することができました。

SPIFFSとかに保存して、Wi-fi AP経由でダウンロードなども考えましたが、まずはかんたんに利用できるもので検証しました。

MICのスペックについて

型番SPM1423
データシートhttps://github.com/m5stack/M5-Schematic/blob/master/Core/SPM1423HM4H-B.pdf
製造元Knowles Electronics, LLC.
方向無指向性
周波数範囲100Hz ~ 10kHz
感度-22dB ±3dB @ 94dB SPL
S/N比61.5dB
電圧範囲1.6V ~ 3.6V(2.8V供給)
電流 – 供給600µA

マイクのスペックです。データシートはまだ読めていません。

マイクのデータ量について

サンプリングレート(Hz)転送量(Byte/s)転送単位(byte)転送回数(回/s)対象時間(ms/回)
44,10088,200512172.35.8
44,10088,2001,02486.111.6
44,10088,2002,04843.123.2
44,10088,2004,09621.546.4
44,10088,2008,19210.892.9
44,10088,20016,3845.4185.8
44,10088,20032,7682.7371.5
44,10088,20065,5361.3743.0
44,10088,200102,4000.91161.0
44,10088,200109,7140.81243.9
22,05044,10051286.111.6
22,05044,1001,02443.123.2
22,05044,1002,04821.546.4
22,05044,1004,09610.892.9
22,05044,1008,1925.4185.8
22,05044,10016,3842.7371.5
22,05044,10032,7681.3743.0
22,05044,10065,5360.71486.1
22,05044,100102,4000.42322.0
22,05044,100109,7140.42487.8
16,38432,76851264.015.6
16,38432,7681,02432.031.3
16,38432,7682,04816.062.5
16,38432,7684,0968.0125.0
16,38432,7688,1924.0250.0
16,38432,76816,3842.0500.0
16,38432,76832,7681.01000.0
16,38432,76865,5360.52000.0
16,38432,768102,4000.33125.0
16,38432,768109,7140.33348.2
11,02522,05051243.123.2
11,02522,0501,02421.546.4
11,02522,0502,04810.892.9
11,02522,0504,0965.4185.8
11,02522,0508,1922.7371.5
11,02522,05016,3841.3743.0
11,02522,05032,7680.71486.1
11,02522,05065,5360.32972.2
11,02522,050102,4000.24644.0
11,02522,050109,7140.24975.7

マイクは1サンプリングあたり2バイトです。実際には12ビットなので4ビット分は利用していないはずです。

サンプリングレートが44,100Hzの場合、1秒あたり88,200バイトのデータが必要になります。

DMA転送単位を512バイトにすると、1秒あたり172.3回転送しなければならず、1回あたり5.8ms以下で処理しないといけないことが、上の表からわかります。

サンプリングレートの目安ですが、CDが44,100Hzで、音声認識では16,384Hzがよく使われているようです。実際11,025Hzですと、がびがびで何を言っているか、わかりにくいです。

サンプルスケッチ

#include <M5StickC.h>
#include <driver/i2s.h>

#define htonl(x) ( ((x)<<24 &amp; 0xFF000000UL) | \
                   ((x)<< 8 &amp; 0x00FF0000UL) | \
                   ((x)>> 8 &amp; 0x0000FF00UL) | \
                   ((x)>>24 &amp; 0x000000FFUL) )

#define PIN_CLK  0
#define PIN_DATA 34
#define SAMPLING_RATE (44100/2)
#define READ_LEN (2 * 512)
#define SAVE_LEN (1024*100)
uint8_t READ_BUFFER[READ_LEN] = {0};
uint8_t SAVE_BUFFER[SAVE_LEN] = {0};
uint32_t savePos = 0;
bool recFlag = false;

uint16_t oldy[160];
int16_t *adcBuffer = NULL;
TaskHandle_t taskHandle;
size_t bytesread;

void i2sInit()
{
  i2s_config_t i2s_config = {
    .mode = (i2s_mode_t)(I2S_MODE_MASTER | I2S_MODE_RX | I2S_MODE_PDM),
    .sample_rate =  SAMPLING_RATE,
    .bits_per_sample = I2S_BITS_PER_SAMPLE_16BIT, // is fixed at 12bit, stereo, MSB
    .channel_format = I2S_CHANNEL_FMT_ALL_RIGHT,
    .communication_format = I2S_COMM_FORMAT_I2S,
    .intr_alloc_flags = ESP_INTR_FLAG_LEVEL1,
    .dma_buf_count = 2,
    .dma_buf_len = READ_LEN,
  };

  i2s_pin_config_t pin_config;
  pin_config.bck_io_num   = I2S_PIN_NO_CHANGE;
  pin_config.ws_io_num    = PIN_CLK;
  pin_config.data_out_num = I2S_PIN_NO_CHANGE;
  pin_config.data_in_num  = PIN_DATA;

  i2s_driver_install(I2S_NUM_0, &amp;i2s_config, 0, NULL);
  i2s_set_pin(I2S_NUM_0, &amp;pin_config);
  i2s_set_clk(I2S_NUM_0, SAMPLING_RATE, I2S_BITS_PER_SAMPLE_16BIT, I2S_CHANNEL_MONO);

  // 録音スタート
  recFlag = true;
  xTaskCreatePinnedToCore(mic_record_task, "mic_record_task", 2048, NULL, 1, &amp;taskHandle, 1);
}

void mic_record_task (void* arg)
{
  savePos = 0;
  memset(SAVE_BUFFER, 0, SAVE_LEN);
  while (recFlag) {
    i2s_read(I2S_NUM_0, (char*) READ_BUFFER, READ_LEN, &amp;bytesread, (100 / portTICK_RATE_MS));
    adcBuffer = (int16_t *)READ_BUFFER;
    showSignal();
    Serial.printf("bytesread = %d, SAVE_LEN=%d, savePos=%d\n", bytesread, SAVE_LEN, savePos);
    if ( (savePos + bytesread) < SAVE_LEN ) {
      memcpy( &amp;SAVE_BUFFER[savePos], READ_BUFFER, bytesread );
      savePos += bytesread;
    }
    vTaskDelay(1 / portTICK_RATE_MS);
  }

  // タスク削除
  vTaskDelete(NULL);
}

void setup() {
  M5.begin();
  M5.Lcd.setRotation(3);
  M5.Lcd.fillScreen(WHITE);
  M5.Lcd.setTextColor(BLACK, WHITE);
  M5.Lcd.println("mic");
}


void showSignal() {
  // Offset
  int32_t offset_sum = 0;
  for (int n = 0; n < 160; n++) {
    offset_sum += (int16_t)adcBuffer[n];
  }
  int offset_val = -( offset_sum / 160 );

  // Auto Gain
  int max_val = 200;
  for (int n = 0; n < 160; n++) {
    int16_t val = (int16_t)adcBuffer[n] + offset_val;
    if ( max_val < abs(val) ) {
      max_val = abs(val);
    }
  }

  int y;
  for (int n = 0; n < 160; n++) {
    y = adcBuffer[n] + offset_val;
    y = map(y, -max_val, max_val, 10, 70);
    M5.Lcd.drawPixel(n, oldy[n], WHITE);
    M5.Lcd.drawPixel(n, y, BLACK);
    oldy[n] = y;
  }
}

void loop() {
  M5.update();

  if ( M5.BtnA.wasPressed() ) {
    // ボタン押した直後の雑音は録音しない
    delay(200);

    // REC
    i2sInit();
    M5.Lcd.setCursor(0, 0);
    M5.Lcd.println("mic rec...");
    Serial.println("REC ON");
  } else if ( M5.BtnA.wasReleased() ) {
    M5.Lcd.setCursor(0, 0);
    M5.Lcd.println("mic       ");
    recFlag = false;
    delay(100); // 録音終了まで待つ
    Serial.println("REC OFF");
    Serial.printf("size=%d, sec=%1.1f\n", savePos, (double)savePos / (SAMPLING_RATE * 2));

    Serial.printf("52494646");                        // RIFFヘッダ
    Serial.printf("%08lx", htonl(savePos + 44 - 8));  // 総データサイズ+44(チャンクサイズ)-8(ヘッダサイズ)
    Serial.printf("57415645");                        // WAVEヘッダ
    Serial.printf("666D7420");                        // フォーマットチャンク
    Serial.printf("10000000");                        // フォーマットサイズ
    Serial.printf("0100");                            // フォーマットコード
    Serial.printf("0100");                            // チャンネル数
    Serial.printf("%08lx", htonl(SAMPLING_RATE));     // サンプリングレート
    Serial.printf("%08lx", htonl(SAMPLING_RATE * 2)); // バイト/秒
    Serial.printf("0200");                            // ブロック境界
    Serial.printf("1000");                            // ビット/サンプル
    Serial.printf("64617461");                        // dataチャンク
    Serial.printf("%08lx", htonl(savePos));           // 総データサイズ

    for (int n = 0; n <= savePos; n++) {
      Serial.printf("%02x", SAVE_BUFFER[n]);
    }
    Serial.printf("\n");
  }

  delay(10);
}

実験用のちょっと不安定なコードなので、ハングアップをするかもしれません。

出力結果

M5StickC initializing...OK
REC ON
bytesread = 1024, SAVE_LEN=102400, savePos=0
bytesread = 1024, SAVE_LEN=102400, savePos=1024
bytesread = 1024, SAVE_LEN=102400, savePos=2048
bytesread = 1024, SAVE_LEN=102400, savePos=3072
bytesread = 1024, SAVE_LEN=102400, savePos=4096
bytesread = 1024, SAVE_LEN=102400, savePos=5120
bytesread = 1024, SAVE_LEN=102400, savePos=6144
bytesread = 1024, SAVE_LEN=102400, savePos=7168
bytesread = 1024, SAVE_LEN=102400, savePos=8192
bytesread = 1024, SAVE_LEN=102400, savePos=9216
bytesread = 1024, SAVE_LEN=102400, savePos=10240
bytesread = 1024, SAVE_LEN=102400, savePos=11264
bytesread = 1024, SAVE_LEN=102400, savePos=12288
bytesread = 1024, SAVE_LEN=102400, savePos=13312
bytesread = 1024, SAVE_LEN=102400, savePos=14336
bytesread = 1024, SAVE_LEN=102400, savePos=15360
bytesread = 1024, SAVE_LEN=102400, savePos=16384
bytesread = 1024, SAVE_LEN=102400, savePos=17408
bytesread = 1024, SAVE_LEN=102400, savePos=18432
bytesread = 1024, SAVE_LEN=102400, savePos=19456
bytesread = 1024, SAVE_LEN=102400, savePos=20480
bytesread = 1024, SAVE_LEN=102400, savePos=21504
bytesread = 1024, SAVE_LEN=102400, savePos=22528
bytesread = 1024, SAVE_LEN=102400, savePos=23552
bytesread = 1024, SAVE_LEN=102400, savePos=24576
bytesread = 1024, SAVE_LEN=102400, savePos=25600
bytesread = 1024, SAVE_LEN=102400, savePos=26624
bytesread = 1024, SAVE_LEN=102400, savePos=27648
bytesread = 1024, SAVE_LEN=102400, savePos=28672
bytesread = 1024, SAVE_LEN=102400, savePos=29696
bytesread = 1024, SAVE_LEN=102400, savePos=30720
bytesread = 1024, SAVE_LEN=102400, savePos=31744
bytesread = 1024, SAVE_LEN=102400, savePos=32768
bytesread = 1024, SAVE_LEN=102400, savePos=33792
bytesread = 1024, SAVE_LEN=102400, savePos=34816
bytesread = 1024, SAVE_LEN=102400, savePos=35840
bytesread = 1024, SAVE_LEN=102400, savePos=36864
bytesread = 1024, SAVE_LEN=102400, savePos=37888
bytesread = 1024, SAVE_LEN=102400, savePos=38912
bytesread = 1024, SAVE_LEN=102400, savePos=39936
REC OFF
size=40960, sec=0.9
52494646f89f000057415645666D742010000000010001002256000044ac00000200100064617461829f0000070d0000f6f3020720f8eefadbf868f900f910f906f900f904f9fff800f903f905f902f907f902f902f900f900f903f900f900f902f907f900f901f904f905f9fff804f902f903f903f903f902f905f902f903f902f902f902f904f901f904f901f905f903f902f902f904f904f903f901f902f901f903f959ca4bedf4d36bd6b3d717d8b6da80d911dd28dc3fdf4fdedde0d9e0fae2efe175e4a4e372e662e553e8f3e775e97ce81cebbcea85eb65eb7ced79eca4eecded50eff0eeedefcbef6cf1a1f084f286f1dcf2fcf104f42ef47af4e2f314f66cf445f52cf653f83df701f97cf791f8e8f80cf9d6f891fa62f96bfa7afa4efbdcfb99fc12fc6afc0dfc92fcdcfc52fd9cfda7fdcffce0fd6efeb1fe8dfe93ff3bff7e009affda00080112017400b500da00e3009e00f100790104026e016b02f9022e02a802fa029902bc028202c2022803f00380039e04bd046d04fe04e3030d04da047e044404f0049d051a06b0048e058a069d0540052306fe054505e3053706c705de05e906840603088407fd072e088c0781072908080806084b08f207ca078f08af08f608160999080e09e408c40805094209a208ad08390946095d094a09f4081a096f095e09e709e409780a1f0ac3090c0a0e0a050a5d0a5c0a690a310a280a600a630a3c0aa20a0a0a8a0a8c0a440a890a350a1e0aaa0a480a650a8a0a950a9d0ad50a970aed0ab00a010b490baf0a2b0bba0a060bd30abe0ada0a1e0bd10af60aef0ac20af60aec0a2e0b4f0bf80a3f0b1b0b0e0b770b340b8a0b4b0b9e0b9a0ba40bab0be80be10b930bce0b950ba00b420b480b590b5a0b830b760b760b600b8b0bb10b7d0b970b8e0b740ba70bab0bb80be00bc90bc50be20bcc0b010cec0b130c1b0cc20bdf0b870b950b850b730be10b9c0bdc0bc70bb30bac0ba70b940b970b840bd00ba10bd20bd90bc60bc50bf30bba0bc40bd40b9f0bb50bb50b9b0be40bbc0bea0b060cac0baf0b9b0ba80b7c0b9e0ba40b880ba00bad0b950b920bb50b8f0bcd0bb80bc50bcf0ba20ba10bb50b930bb10bb30b930baf0b760b810b840b760b920b990b640b750b530b3e0b230b3d0b210b380b300b440b470b2d0b710b720b720b6e0b5a0b640b2c0b250b390b230b100b060b1a0bfa0ae20af10a060bef0af30afc0af00ae60ad70aec0af90adc0af40a080bc20add0ab10ac10ac70ac70af60af40ac70a020bb40ac30aac0ab30aa20aa30a870a9f0a8d0a930a920a870aa90a7a0aa50a960a750a8b0aa40a8b0a610a8a0a630a760a5a0a5f0ac00a8a0ac60ab10a910a9f0a2c0a5f0a020a0d0a1f0af9093f0a270a350a450a650a5c0a640a5c0a3a0a580a130a290af909140afd09f809140a170a140a130a150a280af909f709f209e309ed09e209ee09f509c309da098f09c7099a099309b109b409bf09b909cc09d709c709c509b209be098e099f09a5099c09bf09c209c309bb09ad09a6099c099509700985092a09500916092809270926094309360940093c091d093e092d093c093b0935093c09290928093209f3080e09eb08f408ee08ed08e408e908d708d408d308df08d708e108e508e008e508dc08bc08cc08a908b708a008b0089208940891089d088c089d089a089308a008a3088b089c086208770856084c086b0864085508770859086108460855085b084f0854085f084808530830084c083c083b0835083908300831081a082b0811080e0801080008e907f507ce07e307b007ab07b807be07c607c207e907da07db07d507d807e507bb07e6079907ae078b077a079c079e0791079807ad079f07aa07a9079c07b6074b076b0734072b0722072707600748074e0741078d07380788079c074f077207070721070307dc060d07140719071907150715071a07060757073607fa062807ca06ee06cb06d206ee06dd06c006dc069506a5069e06b006ec06bc06c006d8066e06ab066e067b0685067b068606730687065e067306590683067e0671065f064f06390616065a065706470611060e0600060a0629062206380612061e063206ef052506ef051906b105ab05b905c0057b057505a5057305b205b605c3059405aa05b80598058e0595057805430544058105a20555055c05b305670521053b053e055f05fa045405ea049304060520057a05fe0443052a0531051a0519054a051f054605fc041d05a504df041005cb04d504f904c704e5040d05e904d804c304ac044905cb04680489048c04a6049404fd0499047104e304cc04d704db048504ba04d10437048a045e0458048b044e0454044b045a046e04600431047a0472041a0494042a0405042c043f044c04fc0315045f04ea03cc031d04590413043b041804f503bc038e036404ca03f403a403e503cf03ce03da030204a403cf03ed03c503d3035603f103be035703b603db036e03d203c1038d03f1037303db038303fc02c4031503940271033803c102db03c8037b03eb02ff02d60337047803a503ae035e031602a7037203bb02bf027b035003b0024702f102ab02be02fc02220286020c03c90275024f039402820289023502d1025c02b40211029202d301d901d7012e02bd01cf013102e00109023b022a02ff0127024b0283021b0237024f02b60274010902be010d013e014a02ec019e027301080297021302e402d102d4011102910139029a023802ef0072026401140240024a0231024402eb019702aa0238019f01ac02ca01b40117014b02be00ac0127022f022902f0006b012502bf0045017202de001b011901e8009d0179017e019c019101260252016801c000ab008f01cd00b9006e001c019d0019011f010201fb00ed009b010b01200244008c006b0154015000f300b4007b01b601d9001d0087005600300102010701dd01a4009b00b800150289000601950029017d00b4ff5400ea00bd000d01f0001500e6ffc300440123010e011d007301e6004a007500190057ffa1001b006900e100af00dd008900c9ffe900be019e00160078009cffa000b90085002a001fff05ff3100b700eeffbeff49006c00c70046012200ac00d0004a0148001fff220127009d004c00a5ffb8ff59ffd000d0ffc6000500b1ff2800d6ff44000c00c7ff6a006dff1c00e500c900b5007d010600cfff8f000cff4400ebffe5fe39fff8fe65fe0201e1ff5002030106002e005a006effc30098ff30ff3dfe6eff78fee3fe5cffc4003300c9ff7301010092005fff16ff9200fafe2a0079ffcafeabfd8bfe29ffc2fe520062fe34001dffecff9c0007ff65007200f9fe2fffdefe0afe23fe45fe6cfffcfeebfd5a00a3ff9affeeff98ff2200b8fe62ff1aff23ff4bfd20fff1fedefe4affb8fef8fe3dfeb600f6fee3fea4ff100092ff48ffd4fd4400c6ff21feffffc7ff8dff96fda2fd7bff21fe50fe14fe24ffadfdcbfe51fff9ff37ffc9ff87009bffefff63ffcc0038fe55ffb2fdf5fdaffd7afeeffc8ffce900aefe63ffb8ff0900cf003affe2fe49ffe6fdcffe97ff35fed3fd93fd10fea8ff3dfe25fe6bfe0cfff9fe71ff45ff62fe78fe8afd8dfe09ff08002ffe32fe41fe21fe88fe37fe3dfd09fd59fe6afeedfd6cfd3efdf4fea5fd57ffe1fe44fdd0fc48fd1cfe2bfff6fdc7fdd5fe7ffd98fdc0fe73fe69fe25fe62fe78fe41fcb0fc8bfd9ffddffdbefe8bfe2ffe52feecfd96fe1afdd5fdb6fe11ffb7fdfbfd0afedcfeb5feaaff4ffe6efe4effd9ffecfd98fb72fd0dff2ffe7bfc88fe36fc62fd2ffd3bff2700a4fe70febafdc3fe4efd66fe2bfd8ffc3afd29fec9fd5efe29fe37feaafd7eff9efe7e014efba6fd97f945fcacfcd6fd2dff33fafffd68fda2ffcc00d2fe66ffa5fefffc37fd3ffed0fb94fbb2fd64fb93fc0afceffea6fd1bfef3fdd2ff0afe2cfdd6fd73fc1efce9fca0fb04fd95fdc8fc2dfeb1fbaafd2cfd25fe0dfe81fc4afd7efe8cfe9ffcd6fc2ffcb3fb33fd52ff06fe3ffd7efd2efd6dfd26fd95fd8bfd5ffcb5fd3ffd6ffa57fb97fcf4fc08fec7fca3fd12ffdbfb45ff61ff98fd95fb49fd1efd93fba4fcd5fa63fdfffcd5fc0afde8fec8fcf5fdb4fe77fdccfd43fc13fd90fd71fb5efcd9fc47fe76fa0bfd84fd46fec4fb48fc1bfc85fcb2f9e9fc03fdacfdc8fdbbfea9fd20fecbfd9efe66ffb8fc91fcb2fc35fd49fdd5fc66fd22fd2efd98fea0fcf6fb8efce2fb32fd8cfdc9fc8afc9dfeb7fb63fc7efc1cfb79fd46fe86fdb0fdb6fd23fc13fd6bfc02fdf3fc95fd8dfc96fc0cfcd8fb00fc26fca0fc62fbe6fc75fc23fca9fd3cfef1fe87fdc0fc8cfcd4fc1efc9bfca3fd9dfa88f93cfec6fa5afd58fc48fc82fc17fb42fc54fc3afefdfb3cfd71fdbefc94fc8dfba1fd0cfcd5fbf7fbf5fab7fc16fcc4fb35fc4afd29fda4fa96fc5afbccfccdfba3fc07fd5dfb6afca1fcdbfbdefc2afb31fe32fbbefcd2faeefc61fb64fd2bfb23fc22fb9ef992fbcbfe26fcd8fbc5fce7fda4fd4ffd99fd27fd7afbcdfb7cfcc6fadafa51fb3bf95efbd2fb99fb67fb62fd97fd34fc97fb85fd23fdb1fc48fc96fb92fb91fa06fc41fcf9fa67fb46fbabfa97fcbffcb8fb3afcd2fa87fb09fd7ffb48fbcdfc1bfdc5fc55fbebfef8f930fbe1fac6fb33fb3afac7fc60fd80fc97fb62fc3dfc94fa92fc99fc1dfbb9fbe1fafcf92cfbb4faf9fb26fd90fb3bfde9fccafbb1fccefc28fc32fc7afa55fb1efc0efce2faaffc5efb53f82bfe91fa96fc31fbc2fb32fbdafa1bfc6dfd0afb3cfbe5fa59fcb4fba2fbd5fbdefbabfb20fc16fc55f956fd17fc6efd77fceafbe2fabdf9dffa37fb01f992fae5f855fb43fd8afd01fd6bfc25fb06fcabfdb5fdaafc03fcb7f9bbfa2afa88fb76fa5afc7ffa79fad1fb6bfb25fc80fa79fc8cfbc6f983f981fb5dfcbafb27fd2ffd90fc7bfa88fcf3fc36fdc7fc75fcfefaf1faeefba5fd68fc40fad1f995fb9bfb62fb11faccfb03fc10fbdefc78fba3fbd3fb1afb82fb0afbabfbe3fc27fccffea7fd72fdeffa62fce5fa30fbc2fa32fafefaf5f994fbc4fa3afe2dfceffd53fd6bff3ffc66fcc3fcbcfb8bfb08fc45faedfac0f7fafa63fa22fd1cfbd0fcf5fb0ffd97fc1dfc48fc79fbacfa53fc24fba7fbcafcb4fbdbfaf2fa7cfa15fdcefbc0fcb6fc2bfc27fcbefc3bfd3dfdb6fce4fcbbfaccfb90faf5f9e6fa46fbfafa02fdcefc45fe3ffd4dfe4dfe62fcd2fdd4fa84fb89faabfaa0fae2f969fb10fb50fdeffb48fde6fb0bfcc1fe07fae9fbb4fa82fcddfb3ffb4efabafb16fc40fc11fba6fb17fc36fc84fb61fbd3fa9df9bdfb49fcf2fc3efa5efc5dfbdafb60fca6fb14fc44fdbef933fab0f967fba6fa55fdb7fcf7fc30fc16fbcafcddfb67fa88fa9ffaccfa86fab5fbe0fa96fcb5fb56fc4dfc03fb56fcf7fbddfb71f919fcaff9d0f804fb26fb0bfcfffaf5fb16fc28fc59fba7fbebfa82f962fae2fa38faa2faa2fab3fb08fb39fcd4fb71fc9cfb5bfbabfb45fbd7fad5fbcafb3ffca1fba6fc32fbaafa6dfad9fb78fadffa9afbdafd92fc5dfd3ffe33fc18fde8fa16ff02fa24f900f9b4f95ff928fb8bfdf0fa41fcb3fc4dfed7002bff5e00adfc65fda0f754fa6bf888f9cbfaf0f7cafbc3f9dcfdcffcb2fe37fe95fd92fd95fbf0fc49fa10fa5cfaa1fa6dfab2faa7fb75fb18fd92fc44fdaafd79fb64fc36fa2ffb9ff9f4f87bfc2ff845fb04f98afc0ffc45fedffce5fc71fd39fa4dfd37f9d9fcb0f8f8faf1f8a5f9b0fc39fba4fc0bfc67fc66fdecfb7efdacf94ffbddf996fb39fa0df9fbf98dfa66fc62fb79fd53fca7fcf2fc06fcb6fd3efb8bf9c3f8c5f9c5f8f7f9defa9bf993fab6fb0bfd14fd5efcf3fbd6fb9bfa48fb8dfa8efca7fa50fcc9fba1fbd9fa38fdccfb96fa94fab2fa6efbf8fbfdfa0bfb84f9d5f909fc0cfc4dfc90fd0ffd68fbcefbfcfa5dfc32fb70fcc9fa94facbf93afac0fcbefaf0fba2fbbafc2dfc17fd98fcdefb8efc76fbbdfbddfc31fa35fa38fb19fa5bfa4dfb00faf1fb1afb89fc5afcd1fb55fd49fc8bfc4efcb7fb88fb79fb38fba4fae1fbcbfb7afcfefae6fcb1fca7fa42fbc5faccfb95fbe7fae1fa54fbe4fcf8fb62fd45fb0ffb13fb40fbf7fa06fb71fae5fbe6fab1fb19fccffae1fb57fd69fb5ffce3fb1dfccbfd42fca4fce3fb4ffc6ff9fcfcb3f9cffb09fcd3f9f2fb4ef95efbb1f934fc46fb20fce9fb52fcd9fbd8fbb3fb6dfb19fb20fb01fa70fa94fa44fbb7fbfbfbf9fc82fce0fc92fb67fc1efa69fc7dfb24fd97fb20fc52fc6ffa97fce7fb43fb44fa4dfae0f961fa9cf9c3fce8fc98fca3fbb5fbb1fd55fc2dfc37fc03fce5fa72fa20fc44fb01fd53fb7dfa75fb44fb7efb22fbb5fc54fa5cfbeafbc9fa9ffb73fa52fbd8fa67fc42faedfb13fcf0fa06fb8ffad4fbecfc85fb05fb52fca6fa2ffca5fb00fc1ffaf9fa73fa36fb6ffab0fa54fb8efbeefacbfa70fbb6fb88fce5fbc0fc39fbf9fb67fb8dfa2ffbfdfacbfbd6faebfa45fb90fa88fbdbfb7bfc94fb8ffbcafbe8fb38fc5cfbcefb05fb87fb16fc9cfb0bfc3efb4bfbb2fbfffb13fbcafb08fb97fb6ffb1ffcd4facffbbcfa6bfb34fc7efb02fc16fcc7fa3dfb6dfa79fa91fc9afba6fbc8fb52fbb9fa2bfcf7fa64fc44fb4efbe4faadfb3cfa17fcd9fa5efbf6fa4ffa60fbd4fa9cfb1ffba6fb6afb03fb9ffa07fbc2fa7bfb8afaf1fb35fb6efbacfba2fa8afb34fae1fbeefa30fa2cfafcf926fa91fbcafaf1fa0dfb4afb23fb45fb7afa1ffb07fbe5fa14fb89fa7dfa3bfa38fb5dfb14fcdffbb7fbd8fbd2fa4efb72fa79fb3ffad3fadefa6dfa12fb04fb0efcc1fb08fbecfb07fb45fbf9fa26fb40fa85fadbfa2cfbf0fb1efb81fbbefb9efbf4fb9efbbdfb16fbf9faf2faf2fa97fa89fa3afb1cfbc0fad4fb77fb47fbaefbcafbb8fbadfb34fbdffa1efbaefa54fb16fb32fbc5fa2afb2cfb46fb12fc5ffb37fc68fba2fbd7fb2bfb24fb1efb0afb66fb4efb14fbe0fa89fa16fbeffa88fb12fb30fbbffbb8fb60fb3efbcafa0efbf5fad1fa50fbf6fabcfa73fb24fb4ffbe3fb05fb60fbfafa72fbedfa98fa1ffbd0f99cfa88fadefa00fb98fb23fb7cfb59fbcafa21fb98faf7fa2ffa18fa81fa2efaeafa18fb4bfb00fbb8fb9ffb3ffbd0fba6fa29fb94fa63fa33fac2f90cfa92fafdfa24fb48fba3fb20fbcafbe6fa44fb8efad8fa13fab7faaafa74fa01fbe2faaffb3bfbd2fb6bfb08fb65fb1dfb33fb5afbbafae5fa2bfbf2fa61fb90fb54fb4efb63fbe5fa54fb5cfb5dfb2ffbebfad2fa13fbddfa0bfb2cfb08fb10fb87fa30fb10fb69fb4cfb8bfb3ffb42fbf6fadcfa07fbf0fa41fb5ffb44fb53fb7dfb0efb1efb06fb6bfbfffa3bfb3efb13fb14fb0bfb11fb32fb48fb1afb2cfbfdfa64fb45fb97fb35fb5cfbf8fa02fb14fb5afb39fb78fbbffa4afb1bfb37fb43fb64fb63fb61fb6bfbd8fa38fbbcfa3bfbecfa49fb39fb09fb74fb86fb51fb4dfb4afb62fb3afb43fbdbfa98fb19fb7dfb45fb24fb1dfb32fb3dfba2fb39fbd4faecfae2fac6fa7afbf1fad7fa13fbbbfa0cfb06fbcdfa07fbe1facefacdfaadfae9fa08fbecfa10fbf0fa0cfb0efb1dfbeefa1dfbbffa11fbe1fa0cfbd1faf1facdfa0afbe0fa0ffb19fb19fbe8fa03fbd1fa1bfb0cfb54fbfafa16fbdafa20fbf0fa29fb04fbd3fac3fa0cfbf5faf2fa3bfb12fb4bfb2bfb1bfb53fbf0fa1ffbbffa0dfbd6fae4fa00fbf8fa01fb27fb0cfb49fb20fb3dfb22fb12fbc9fa34fbb7fa13fbccfa9ffadbfa81faf7fae8faf5fadcfaf7fa00fbc3faf8fa8efad6fad7faa1fad6fad5fac6fadefae6fad6faf8fafffad3faf8faa3fac2fab1fab0fadffadffae0fa04fbcffadefad5facffad7fad0fac8fad1fabbfac5facafabdfae8fadafae9fae5fadbfaecfad5fadafae2fadbfadcfae2fad5fad3fadffadffae0fadffaddfae9fac9facefacdfacdfad6fad7fabbfad8fab4fab6fac8fab6facbfacafab4fac4faa5faadfab1faa7fabffabafab9fabdfab6fab8fad2fac6fad3fad6fac6fad1fab6fab6fabffab7fabcfabbfaaffab7fabdfabbfacbfac3fabafac6fab0fabefabffab8fabefabafab0fabbfab1fab4fac5fac7fac4fac4faaffabcfab0fab7fab1fabafab8fabcfaabfab0fab5faabfab9fac2fab1fab7faaffaacfab3faacfab2fab0faaafab6faaafab6faacfaa8fab2faaefab2fab4faa5fab1faa4faabfaa9faa8fab1faadfaa8faabfaa4faa2fab4faaffab7fab8fab1faadfaa3faa7faa6faa6fab0faa8faaffaa0fab1faa5faaefaaffaadfaaffaaefab1faaffaacfaa6faa9faa8faacfab3fab6fab5fab4faa9faacfaaefaa9fac4fab9fac3fac5fabbfab9fabdfab4fac8fac2fac1fac6fab5fabbfabafab1fab2fab4faa9faaffaa1faa7faaffaa8faaffaa5fab1faa3faabfaa8faacfaa9fab1faaffaadfaadfaabfaabfab7fab4fabafabbfab3fab7fab8faaffabbfab0fab2fabbfaaffab4fabdfab7fac6fac1fac1fac4fac4fac3facbfac6facffacbfac6fac8facafac8fad4fad3fadbfae1fadafadbfadffadcfaddfadffad5faddfad2fadbfadcfad4fadffadcfae2fae0fae3fae1faecfaeefaeefaeefaf4faf0faebfaf5fae4faf1fae9fae0fae9fae6fae9faf0faedfaeefaecfaeefaedfae8fae7faedfae2fae5fadcfad9fae2fad2fadcfaddfad7fadbfacefad4facffacefad8fad4fad5fad6facafacefacafacdfac8faccfaccfac7facffacafac4fac8fac4fac9fac1fac8facbfac3facffac9fac6fad0fac5fac5faccfacbfacffad0facbfac6fabcfabffabafac1fac7fac5fab9fabcfab2faaefab5fab3fabcfabffab4fab5faa6faa4faabfaa5faa3faa6faa0fab1fa9cfaa0faa1fa9cfaa2faa5fa9efaa5fa9efaa4faa0fa9dfa9dfa9bfaa1fa9bfa9afaa4fa9cfa9efaa2faa1faa4faa2fa9ffaa2faa0faa5fa9dfa9dfaa8faa1faa5fa9efa9ffaa5faa4faa9faa7faa5faa4fa9bfaa1fa9efa9dfaa0faa6fa9bfaabfaa4faa3faa2faa1faa3faacfaabfaadfaaefab9fab3fab2fab5faadfab6fabdfab9fac0fac4fab0fab6fab8faabfacafacdfabafac2fac4fab5fad1fad2facafacdfaccfacffad3fad3fac6facffac8fac3fad5fad1fabffad3fac4fac3fad3fac5fac8facafabafac5facbfac6fad5fad0fac9faccfabffac4fac4fac1fac1fac4fac4fabffacefacafad0faccfac3facbfacefacefac7fad3fabdfabdfac5fab7fac7fac6fabefac4fac5fac7fab8fabafab4fab8fab2fabbfaaefab0fab5faa6fab5fabdfab0fab7fab8faaffab2fab7faa9faaefaaafab0faaefaadfaadfab0faa3faa9fa95faa1fa9afa99fa96fa98fa98fa94fa9cfa9dfa9ffaa3faa3faa1faa3faa0faa1faa1faa7faa3fa9afaa3fa94fa98faa3fa9dfa9ffaa1fa8ffa9afa8cfa8dfa99fa9cfa92fa92fa8efa88fa93fa8ffa99fa98fa96fa9afa95fa8cfaa0fa93faa3faa1faacfaaafaaffab1fabafaacfaabfaaafa9ffaabfaaafac6fa8cfaaefaa6fa96fac7facdfa87fabafa6bfbbdfa3af8e9fec1f9faf754ec64ff08f659faa8020afcd4f876fefafc7eff52fc6bfbbdf937fb44f57ff7f2f9cef909fcfef799fc49fac7fb76fd83fb4efcd4fb38fb7df8bef9bef89ef887f9e8f963fba7f9d3fb85fbe4fb23fc0afb92fbb3f934fa43f996f9e4f989f9b3fab5faaefab6fa0dfbe2fa24fb2afb76fad3faacf9f6f9e9f99ef985fa21fa99fa5bfa79fa79fa80fa80faaafaa9fa6bfa5efaf2f904fa1efaf8f93efa32fa70fa1ffa7dfa62fa8cfa8cfa48fa36fa31fa0efa07fa21fa32fa45fa4ffa56fa49fa4efa2efa68fa68fa88fa73fa84fa26fa2bfa10fa2dfa54fa32fa53fa46fa77fa64fa7bfa87fa7cfa50fa5ffa52fa25fa5bfa44fa2afa35fa26fa17fa41fa4cfa5ffa60fa5bfa2cfa47fa27fa5afa25fa4dfa26fa5ffa18fa60fa31fa39fa74fa38fa5dfa73fa0cfa74fa43fa7ffa46fa17fa25fa4dfa39fa54fa7efa36fa9bfa36fa8ffa83fa6afa8bfa93fa82fa54fa4cfa32fa4afa26fa66fa69fa62fa61fa47fa74fa5cfa8efa36fa81fa41fa6afa17fa36fa2bfa4efa5efa72fad7f921fa34fa25fa4bfa2bfac1f9fbf9d8f9c1f909fafaf909fa30fafff9eaf917facaf9f5f9c7f9e0f943fa4bfa9cfab0fac8fa9bfaa0fa75fa27fa3bfaf0f9d9f962faddf9a5fa74fa81fa48faeefa1ffa89fa28fa0dfa4dfa45fa61fa28fa35fa38fa1ffa2dfa77fa86fa40fa5dfa80fad7f976fad1fa80fa97fa7ffac5faa5fa93fa8bfa7afaa7f9e4f9ddf99bfa33fae9fac7f96afa90fae7fa03fbd6fa8cfa30fa0ffb6ffa32fac0f9e4f90afa57fa19fa26fabbfa5afa88fa8ffa53faa7fa33fa8ffa81f938fac7f918fa75f90cfadcf92afa9afa9ffaf1faabfaa7fa38fb45fad3fae4f964fa9ff965f9d0f972f94cfa75f99bfaa6f99ff94cfa19fab2fa73fac5f954f9c2f9adf9e5f9f4f9fbf917fac7f973fb80fa30fbbbfaecfa77fa71f966f9cef8e1f98ffa42f9f3f946f996f91dfa1dfac8f820f9c2f983f975fabafa48f96bfa8dfa4ffa6dfbb0faa5fbd0faa1fb94f961fad0f965fafcf97bfa85f9f2f926faccfa20fb25fb30fbcdfa41fa51fac1f904fad6f97df958fae0f940faadf984f9eff921f932f992fa5df8dbf97af9cdf9d6f7befb6efc0dfd26fba9fb88fc87fae7fb64f757f880f8c1f7f0f9f3f98bf981f9ecfafff9dffa28fb57fa6ffb74fafaf997f967f8a2f8edf86ef96ef938fbd5f9f4fac2fa09fae1fb9cfaa9faa6f9f4f9faf85bf999f990f9b8fab3fa9dfa6afa86f9e3f939faf7f8e3f9ebf896fadcf726fabef8f6f983f8affb5ef99cfdd0f911fddcfa7afa27fb1cf918fa3dfa99f729faf2f95ff9b0f990fb27f9a7faedfa7efadbfa98f987f9affa37f860f98ffae7f9baf95afcf7faf8fa55fb4cf947fa4bfa66f8dcfa85f9bff95df7b1fa89f813fcd0f8eefac7fa73fa4cfbd5fa13faadfa5af9befaf6f9cef8ecf970f9c5f94efa6ffa32fb0dfac9f82efa06fa45f97ffb64f9e5f9a2f8fbfa85f92bfbedf9e9fadaf97dfa8df93efbf7f9c4f98cf9aaf9bbf851f845fa61f95cf912fbb0fadaf90cfbd0fad5fb81f9d7f94bf9a7fab1f890f930fbddf98af9f0fb67faeffa7dfa55fb97f967fa7cf8d6f8c4f992f9fcfa93f994fa52f9e5fa6cfae1fa2afc31fa0bfa57f998f8fff8b9f992fad9fa01f97bf9cef9bcfa19fac1fbc8f95afaf4f801fa19fae0f992fadbf9cbfb50fab4fa78fa62f9f5f8f6fad7fba3fb98f833fb6bfb88fb53faa3fa5bf987fbd5fa92fb0dfbf4fac1fac1fa1afa19fb6cfa54fbd8fb21fad0f981fabcfa03fb23facafaadf931faeaf8dafb1bfa87facaf99cfa80fb9ffbb8f9b7f944faa4fa21fb53fc20fa1bfa7ff93afa0cfa80fa6dfa22f960fa1efa3cf92af831fb4ef997f973f902fd5cfb02fa74fa51fac5fa8efaf0fae4fafdf9b3fbd5f770f885fc69f651fbbbf9c8facaf920fa23f8fafbb4fbd5f961fa3bfc5af919f966fb7df9ddf931f8e6fa5dfa0efa59f9ecf992fa83fa99fb84fb43f9ddf967fb43fcf9f8a5fa38fba4fa62f902fb1ef928f87ffb49f988fb94f938f9a1fb64fc1efae4fbf0fbfefac9fa45fabbfa2df981fadff926fab8f8cbf8c4f932fae8fae3fa8cfa4dfb4afa11fa1dfadbf912fb91f923f96cf840fa6bfc81fb1dfabff8d8fb38fa7afb0ffad6f883f923f9eafa16fa3bfa58fa88fb15fa88fad9f9e1fc02fc53fbe9f96df821faa4f9d6f83bfa9cf9a6f9d1fa75fa87f9a0f850fba5fa08fc21fc12fb06faa1fac8f93bfa60fb74f812fa20fc7ffbb0f915fa70fa39f978fb62fa8ef90dfa30fb94f9aefae4f8e1f946fae6fbbffb9ffc84f885fa16fabbfbb1f9acf951fa54faf7faedf9dbf732fa25f9aafac3f95ef978fcfef800f9d7f897fb1df85dfb86f825fa73fa1efa2ffc50fb99f94df804f92afa16fc0bfcabfbd9f912facaf890faf5f8cffaf5fa26fbbdfaf9f9d4f8c5f942f926fb39fbccf9e2f9a9f9a4f94bfa23fbe6f981f71cfa4efacdf9e1fbe5f947fa05fcb0fb4dfbeefa11fadcf906f9e1faaefa82f918f9e5f9b7faa8f960f9f8f912fbdbf994f9cff9cffa9ef97afac3fa52f822fb7cf97afb06f94dfb10f913fbedf845fcb3fc1dfcfff86cf9c0f932fa24fac8f842fab1fa03f937fb53fa65fa1afc2afabdfaa9fbb0fa6dfa6cfad7f9c2fab4f854faa2f92afa6af9b7f9abfa36fb0dfad3f99afa0cfb0dfa5df9e3fc15fbc6fa8ffaf7f9b8f963fac1f894f98cfb15fac4f7bffa61fb5ef931fc0afa22fbfdfa92fabef710fbe9f9d6f9f4faa7faadfb91f9a8fa8ffbfefbe0faccfba4fb70fa0bf9f7f775f9bbf9dbf831fa9ef9f1f99ffbd0fa05fa13fa3dfc13fa9efc8afbb6f99df87ffa5ffaebfb2af95afae7fc62fa3ef919faeaf950fb5af9a2f91afaf1f8a2f93efbd8f71df8d2fc33fb19fc0cfb44fcacfef4fbabfba6f699f900f854fa28fb8af9d3f9bbfbd8f9adf9d0fb6afc16fc75fa71fa81fb6ff956fb67fa4ef969fac5f81afb2ffa3dfc5efbcbfb9bfbe6fa3efce5fa1dfcdbf98dfa06fae3f897faadf994fb56fb66fb43f94ffac7fa38fb29fb04fca8fa0afa20f98cfa37fbf0f96cfa54fcbdf991fa24fcdefa3afc3ffbc7f9fafa31fa9ff9dbfae8fb7cf99bfa9afa78fb61fb64fb6bfb2dfac2fbc4fa7ffbb0f9f1f9f7fa4bfad9f932fb2ffbdcfa15fb75fb05fa46fa54f9b5fb06fbacfa6efbadfacff932fa43fc71fb15fb29fac5fb28fbb3f945fb67fbbffa45f960fa67fa3bf907fa9cfaeafa05fb59fad0fa9bf94ffafbf9c6fb66fa0dfb0ffb0bfbb7f9e1faecf917fb1ffaa5fafcf93dfae0fa91fa67f82dfa77fa4bfa50fb81fa0afaabfa2afb91fcf9fab7fafdf89efa62f990fae6fa8cfca3fac4f837fb72fa5dfba1fbeefbe1fac3fa24fa70fa21fa7cf9a8fab4f9d4f9f4f985f9a1fa43fa19fb08fb8df9def94dfcd1f976fb82fb15fb51f9d4fcdefc5afa31fb94f846fa90fb3cf970faa6fb6ff942f95ffbaafb73fae3fb31fbc3fa66fb48fac4fab5fb01fa56fa93fadbf94dfb83f9effa3ffcf4fac9fa0afb47fbb3faa5f959f947fa38fadaf952fa3cfab1fa2ffa0cfc68fbe5fad2fa94fbb7fa03fb46fb75f96ffaeafa12f91ffb63f9baf977fb99fa84f943fb43fb7dfb19fb5efa65fba6fa2df91ffbc9fa7ef9affa79fb39fb59fbfffab1fb4afa84fa95fb45faaaf92afa13fb25f91dfb5ef93bfabdf9f1fa87fafefb8ef80ffb5bfd88faf8f8bbfca8fc3efb5afa1dfdb7f915fbe1f8a8f99efca1fa36fa7bfd8af9c5f984fb9efab1fb7dfb0dfbe0fbd0fa94fa73fb00fb6ffaf5fac5fa36fafffacbfaaafa5ffb82fa59faa9fadcfa14fbd4fb4cfb80fa31fb87fb7cfa4efb43faa4fa47fab8f93ffa27fbcafaf4f90dfc5afa4afbbafc7dfc7efbd2fbd2fc5ffa14fb89f8aaf946fa39f90cfb97faeaf918fa55fb94fba5fc82fbeafb32fcb8fb6dfc95fa03fb7ef989fa30f9daf9b9fa82fa37fae3fa04fb7dfb4bfa57fbebfb8dfbdcfa26fa3afaa6fbaafb2dfb73fa4cfbb8fb53fb3efa00fb22fa84fabbfb46faf1f937fbb5f9b5fb88fa51faaffbaafad5fa45fc1bfb75fb36fbc4fa34fab9f9d2faacfb9afbb5fad4fa7dfab3fa53fb19fb0ffbf1fa23fb88fa82fa74fad8fa69fa97fa4dfba0faf4fabefaf9fa57fb22fb50fb45fbaff9f1fa68fba0fad9fa55faf3f906fb13fb76fae5fae9fa80fa55fbf4fa4efa55fb17fa79fadafa69fad1fa9bfb5afaf2fa79fa79fa26fb5afb29fbaafae8f96efaebfad3faa3fa76fad9fa28fa21fbd1faeffac9fae0fad8fae7fadcf940fa7ffa03fb3cfb2efb07fa78fae0fa3dfba6fb8afa11fbf2fa39fa58fac9fa73fab3faf7fa05fb7ffa54fac8fa5afb02fba8fa6ffa19fb4bfa19faaefa85fa28fa29faa7fafdfad2fa0cfb1bfb86fad3faaffbb0fa57fa8efa89fa5ffa1cfa65fa6dfa48fa71fa2afab4f9b8fa81fa3dfb5cfabefaddfaf3faa8fa01fb38fbdef9a5fad2f9f1f981fa0bfa44fa4efa8efa9cf99afa5bfae6fa74fa17fac2fa84fa6bfadef93efaa2fa99f939fa8afa11fb5afa6ffa55fb18fa88fa5afa8bfa1bfa6ffa15fae3f95ffa0bfa66fa00facefaa9fa8cfa8dfad6fab6fa1dfa13fa70fabafa36fa16faccfa24fa7ffabefa0ffb74fa7cfa4ffbccf98af918fa5afaf7f9a4f99ff92cfa7cfa06faeffa59fa8afa28fa61faf5fa5cfa25fa37fa85fa47fad2f94ffac0f928fa87fa15fbb5fa25fb55fa78fa9ffa0cfb6ffa8afa65faeefa52fa5afad7faf7fa92fa24fa25fafefaccfa5cfabcfa6efa3cfaeafacdfacbfa8afa75faedfaddfa97fad3fa5efa55faedfa5bfa64facffa86fa83fa54fa60fae5fac8fa8bfaaffadbfa70faabfad5faa1fab4fab5fa4ffa8dfa6bfa51fa72fa6efa9afa8bfa08fa50faf9fa4dfa55fa7afa23fa60fa3ffa1afa27fa24fa93f92dfa26fac8f90afa6cfaf1f9fbf913fa3efaeaf97cfa1ffac6f960fa62f951f99dfab1f9b4f992fa62fa93f959fa09fa50fa90fa09fa3bfa2dfaf1f924fa82fa3ffa2cfa34fae7f9fef91cfa66fa54fa43fa68faaafa17fa00faa8fa4efa77faa1fa5dfa49fa28fa6ffa44fa61fa25fa5afa34fa3efa8ffa86fa22fa36fa43fa55faeef97bfa38fa41fa65fa99fa56fa36fa44fa67fa21fa24fadff94efa00fa0cfa60fa14fa03fa22fa36fa24fa61fa56fa44fa36fa16fa30fa01fa08fa29fa05faeef904fa0bfa01fa2efa11fa2dfa14faeef9fdf9ecf90afad3f9f3f9f2f9ebf9d9f9c9f9f1f9f9f9edf90ffaf7f9daf9f5f9e5f9e2f912fafcf9b2f9fef9fdf9a1f9ddf9d5f9f0f90cfabbf9edf9f2f9dbf9fef9d4f9def9c5f9b2f9edf9e9f9cff99ff9d0f9e2f928faf6f917fae7f919faf3f913fa1efadcf9d4f9daf9d8f9c7f9c3f9e8f9f0f9fdf9e8f923fa13fa0bfaf8f937fa13fa26fae4f9f2f9fdf9daf9fcf903fae2f9fef901fa01fa13faf5f905fae0f9dff9fbf9e7f9e9f9fcf908fa00fafaf90dfa24fa13faeaf9fef9e3f9ebf9cdf9f7f9e1f9edf9ebf9eaf917faf0f935fa0bfa15fa1afa01fa17fae8f9faf9dbf9e9f9f2f9d5f9f4f9d0f9f1f9ebf915fa0cfa11fa1ffa18fa1bfa10fa0bfaf5f9fcf90afaf7f919fa07fa2afa13fa3dfa2ffa38fa42fa33fa42fa25fa29fa23fa1efa1cfa16fa3bfa2afa4ffa41fa4efa4bfa4efa4afa4bfa4efa3efa4afa33fa34fa3cfa31fa4dfa45fa4afa52fa42fa47fa3afa43fa28fa35fa17fa1dfa19fa1afa1efa1ffa39fa1ffa34fa31fa3afa35fa34fa35fa2ffa38fa24fa29fa28fa24fa2cfa2bfa38fa3bfa4bfa46fa46fa46fa3ffa3afa33fa37fa2dfa37fa33fa2efa2bfa2dfa33fa33fa37fa39fa33fa39fa2cfa2cfa21fa25fa1ffa20fa23fa21fa24fa23fa32fa2cfa33fa31fa29fa2dfa1afa26fa18fa1ffa17fa1efa20fa16fa27fa20fa2ffa30fa25fa2efa1afa1ffa19fa15fa15fa16fa09fa12fa07fa06fa10fa0cfa1cfa16fa11fa1dfa08fa11fa05fa07fa0afa04fa07fa06fa0dfa0efa14fa1cfa21fa20fa20fa22fa1ffa1dfa14fa20fa17fa19fa16fa14fa0efa0ffa0efa09fa13fa11fa19fa19fa16fa1bfa16fa18fa12fa15fa11fa16fa15fa13fa1ffa1afa2cfa1ffa29fa2cfa20fa23fa17fa1ffa17fa14fa22fa16fa29fa22fa2bfa27fa37fa30fa3afa3dfa36fa36fa2ffa2afa2bfa2efa33fa38fa30fa30fa27fa2afa26fa24fa22fa27fa23fa21fa1ffa1cfa2afa24fa2bfa30fa27fa2bfa23fa28fa2dfa25fa2bfa29fa22fa24fa1efa22fa1bfa24fa22fa1efa2cfa24fa32fa38fa39fa3afa3cfa3dfa3bfa37fa37fa33fa2ffa30fa2ffa30fa44fa3cfa48fa45fa48fa44fa3cfa43fa35fa42fa2ffa35fa31fa2ffa37fa30fa37fa38fa3bfa40fa38fa3cfa3efa36fa34fa36fa28fa2cfa2bfa2cfa2ffa31fa2efa27fa2bfa30fa1ffa27fa1efa28fa26fa28fa11fa1cfa0efa0dfa16fa14fa15fa1ffa25fa1ffa25fa25fa1cfa20fa1afa25fa16fa1cfa1afa18fa11fa19fa18fa15fa21fa20fa19fa17fa11fa1dfa0ffa16fa10fa11fa13fa16fa1afa11fa20fa1efa1efa25fa20fa24fa19fa21fa15fa0ffa1afa15fa1cfa18fa14fa13fa15fa0afa19fa13fa19fa16fa16fa15fa12fa14fa19fa13fa0efa1cfa06fa0bfa16fa18fa0ffa1dfa12fa02fa2cfa29faeff917fabdf9caf9c1f9b0f9f7f9d9f900fafef9fff907fae6f9f4f9f5f9f6f9f0f908fad2f9e7f9bff9bff9d8f9c2f9f6f9e4f9edf9e1f9dcf9d9f9c4f9d0f9bff9c8f9bef9b0f9bdf9c4f9d0f9cdf9ccf9daf9c2f9cdf9aff9b5f9abf9acf9abf9b2f9a8f9adf9b8f9a6f9bef9b9f9bff9c2f9aaf9bff9aaf9a0f9a4f9a4f995f9a9f9a5f997f9aaf9a0f9a9f9a9f9b6f9b4f9abf9a9f992f9a2f992f99af98cf98bf97cf97ef99df991f99cf9a1f996f98cf9a0f9a3f9adf9b7f995f997f974f986f96ef977f976f96bf970f97ff968f974f95cf976f96df94ff969f96af956f942f960f977f978f964f97ef979f970f979f974f980f97df96af968f966f956f95ef967f94ef975f964f961f973f95af969f96ef970f955f95cf948f95cf950f950f94ef950f94cf948f944f954f959f945f942f94af928f93ef93ff92ef926f932f922f92bf919f93df92cf927f92ff940f937f91ef91cf937f91df912f90ff90bf91df90ff912f913f917f91df90ef929f917f919f91cf91bf920f926f919f929f944f930f958f92cf93ff947f94df951f959f95bf944f94ef93cf945f91cf947f933f934f931f939f92bf925f933f932f942f933f947f927f93ef93df944f945f956f953f95bf947f94ff968f958f94df953f956f96df945f95cf95bf953f93cf949f94af932f932f93af945f938f92ff92ef94cf933f941f935f93ef93ef92bf922f939f91af921f919f91ef91ef91ff914f924f907f90ef910f90ff911f92af920f914f925f9fff812f919f9faf800f909f911f9fef8eef80bf910f9fcf81cf923f9fef8fef8f9f8f9f8f9f8e3f8f7f8e7f8e9f8cff8f2f8f3f8f0f8e8f8eaf80af9f2f8fff8eff8fdf8d7f812f9e0f80af9fdf8e7f813f9edf8d7f8fbf8eaf8f4f8edf8f9f80af901f919f916f90ff9fcf8fdf8dff821f915f9e5f8e6f804f903f9faf80ff910f905f90df939f939f924f927f904f91ef911f915f9fff822f948f934f9d2f801f927f91cf911f9fff835f905f9fdf82cf928f9acf838f910f94df9f6f803f912f94af956f951f95ef924f930f91ff951f90af91af91df98bf8ddf820f911f9d6f82cf961f9f4f8d3f831f946f929f9d9f839f911f9b3f8e6f82df972f9def8c5f804f946f9f8f829f9f4f8aef8e9f812f9e5f80df914f94bf9daf8cbf82bf929f9a7f8f0f80cf95af9cff8d2f851f93cf9f4f888f978f992f940f9c7f81bf9bbf9b3f811f968f9bef8e8f80ff94ff918f957f96ff96df93af96cf995f904f930f904faabf950f973f923f98ff996f9c3f9eef9b2f9c0f944f9b9f94cf901f944f987f966f944f965f9e9f8c8f873f939f96bf9fdf870f9b5f85afa94f9f6f8e4f941f978f92cf9a7f94ff9d3f8fef8e3f84cf9ecf826f922f9fef8d0f8dcf8d1f932f9d2f841f90df9f1f8d2f83cf9ccf803f97af916f918f93df991f8a4f889f92cf9c5f83ef9c4f84cf93bf94ff9eef98bf9eaf8b5f990f944f95df973f9ccf95bf9fbf88ff950f9ddf9d8f966f9e3f807fadaf97df8e3f937f9aaf8c3f853f958f95ff93df953f8e3f932f92ef913fa9af937f9caf950f94df9f3f9b7f840f97ff9f8f8b0f964f91bf947f968f982f9fef87bf9d2f996f965f851f899f96ff9c4f858f919faddf85cf98df9fdf840f955f9d4f9f1fa38f900f87ef926f991f896f937f9e8f8a7f884f9bff91ff9d2f8baf925f973f8bdf82ffa92f9f8f8baf89ef929f911f9a2f9cdf978f98cf839f989f91af9ecf84af994f99df842f90ff96cf93ef951f9f4f8acf937f9e9f92efa26f960f954fa18fafaf99bf901f9f8f8cff84cf9f4f8f4f8adf732f86df9f3f8f6f968f930fa2efac5fa55fa33fa5bfaf7f886f9d8f920fa72f9d4f9a1f80af962f84df99ff9bbf7e7f880f8c6f83bfaaff905f96df947f98ff91dfa6ff925fa59fa77f98df977f953f99df954faa9f99af8b1f851f91dfafaf8fff949f93af9baf8c7f901f96cf8c6f8f9f82ff988f9d5f820fa0ff9cdf8cef8c3f92bfa93f950fa28f97cf92bfa48f854f936f90bf992f855f904f929f853f9ebf82ff909f9f9f842f9b8f939fa6ff952f99cf92af92bf962fa60f9a7f8edf902f91ff91df9b2f855f9b7f810f998f942f9fdf847f95ff912fa5cfa8ef95df96ff9c2f9b6f96ff952fac6f9bdf91bfae3f9e4f850f9e2f80df942f916fa99f8a4f87ff8aff866f96efae0f96af94cf99bf9c1fac6fbdff815f93cf878f87ff872f98af927f99ef899f908f90af95ffabffab6f929f854f9c5f865f8bef93bf933f9d0f8d8f966f9fcf7fcf84af953f92bf8f7f8daf805f9fdf8eef98bfa8af849f867fa3cf955f912f9fef72ff867f743f8aff87ff8d1f747f812f9e3f88ff91cfa61f973f9bff948f9c6f886f9caf84cf900f907f98ff8ddf813f92ef973f829f91ef953f8c9f898f92cfab3fa61faeef921fa13faf8f925fa19fa08f701f980f9adf823f885f904f7a6f88ef767f9ebf961f945fa1afa00fa50f863f9c4f8ddf832f866f8e7f898f72cf9dff8a3f922f933f963f9e1f80bf8a5f81bfa06f86af87cf93bf852f8bdf851f982f86df935f941fab9f9d7f8b4f967f9ebf86af806f95ff736f81cf923f843f709f86ef9c4f8f4f8a9f975fa6ff9edf76df9adf78cf812f872f86df795f630f832f88ff7d0f787f92ef931f9eaf9b5f80bf9f6f79af821f9aaf899f981f947f952f859f9c5f866f94bf9d6f7fcf7bdf9dcf782f7c0f71ef9a1f89af873f835fae5f98ef950f869fa4cf9fef807fb9ff967f891f96df962f907f7c9f7c2f962f8ddf8dbf9f2f8abf832f95efac2fabcf811fa40f9bbf71ef8c5f8c1f881f90af969f963faa6f871f9cdfa8ff9e2f998fad4fa68f88df86ff79bf7d3f8aaf936f823f723f887f7b6f868f755f913fa03f93ef90efac0fa7af950fa7bfa60fab6f801f9ecf87ef978f7c5f819f928f93cf77cf678f9c7f894fbd8f963faa2fba9fbeef976fb61fa2af704f8eaf8cef8cff68df5eff783f829f83ff7d6fa54fafffb23fa27fbfdfbaff83efaadf86af8f9f7eaf745f7f4f77cf8f9f75dfb4af866fb4bfc0afa39fafafb8cfaf9f64df8c4f806f833f83ef719f9f2f7d7f82df9d2fbfffa25fb55fb57fb1afbd8f82cfb7cf83bf8dbf86cf87bf7adf760fcc3fa10f805fb15fb86facdfaeefaa8f9ddf9e9f766fa19f9eaf817f80afadff840f820faadfad6f8d9f74bfab9f911fa88f904fb4dfa8ff9c4fb68faf6f7cefa65fa9df6bbf80cf8c6f76ef8ddf7adf7c2f910f90ffa69fcbff9caf977f9f2f93ffaddf820f9c2f700f9b9f8c5f7ddf87af7a9fadcfa7afb93f8b8f982f961facafa24f820f837f9fef5c4f612f969f81bf760fa2ef855fb8efb20fa3afc66fae3f76cf774f8d4f985f74df7ddf782f984f9e8fae4f97efb9bfb4df8f8f925fb5efaacf9fbf979f7def626f81cf8bffb21f8adf9acf778faf2f8b2fa2cfca4fa15f902f952f8c2f909fa44f976f933f979f6b0f741f936f861fa33fa29f947f899f922f73bf87ff7d0f808f744f84af968f902fbfafafefa6afa1afa71fb46f9e9f9adf797f9cff578f619f77cf852f8d1f535fb39faeff936f993f878fa85f9aef7b9f81af9e2f8b6f8d3f82bf9c6f961f8d1fa2ffb0ff9caf91bf918f93af86af753f86ef9baf8c5f67df82afa49f839f9cdf9d7f8daf8adf83df955f9f8f850fad2f705f7def707f87ef7daf7acf87bf9a5f73af836faa0f9b0f979f950fb8df81cfabef9d3f95df986fa9af962f7bff7e5f719f89af707f785f9e9f786f701f956fae1fa36fa68fba7fadefaf9f965fbb4f8b0f95bf743f7c5f7eef8fef6ecf729fa69f873f912f88af9ccf9c1f93af98dfa80fa89f83ef986f9aff9d0f8d2f885f85cf792f722f76cf8c1f892f96ff995f83df995f907faa7fa76fa0ff838f95df84af848f872f901f946f89af9d9f864f9acf947f8c0f9b6f94bf842f96cf83bf8c4f778f7def793f9dff835f844f92bfa51faf2f9c3fa6bfa23f94df9def982fa6ff93ef7b0f86df8cbf89cf88af9f8f738f7bef800f952f965f81bf99bf920fa90fa37f82bf97bf869f9f6f8acf90bf984f859f9d8f8ddf74af97df70cf960f9f3f8f7f724fb23f9def91df977fae2faf5f8eaf7dbf9a0f818f91af9dff71bf87ff868f880f72cf930f979f93df9b5f8c2f9e3f8edfa06f9a7f7a7f939f899f9b0f87ef892f88df910f913f95ff8f1f9cbf734f7fcf8bcf717f71ff7c6f628f762f89bf934f993f951f9a9f845f950f845f908f8b0f93df9a9f851f87df80cf8c6f82ffad6f8bff8d6f896f7adf810f7d4f712f890f890f9f6f8a3fa57f936f9bbf871faecf84efaa1f927f822f739f990f837f7b7f722f79ff7ddf8c3f940fa24f970fa0efa5ff9fdfa7af8b2f943f7faf744f87ef78bf781f782f861f8b5f862f99df819fa21f825fa26f723f778f765f8b5f774f86af8aff8bbf7e0f9e6f74bf939f87df98df79df8edf638f8bcf75bf8caf7e4f701f8d1f8a8f98ef8d5f839f98df907fa7cf776f8daf7b1f80ef8aef8f1f770f762f8e5f748f9bbf8f3f82cfad6f9a8f86ef8dbf931f8c8f88ff7bcf8c4f727f8f7f817f83ef7d4f8a6f83cf9c5f971f90df9fcf81ff871f856f830f862f81df86ef726f862f91af886f9c2f7caf812f9d2f79ff800f83ef8e8f941f8d7f937f8cff7f1f815fa38f8a0f93cf88bf878f735f9a6f888f8bbf72df966f769f99ff81bf9a4f9d3f91cf91af8b9f908f804f9f1f72ff99bf7cef895f8cef88cf859f9a9f854f906f9c9f866f96af9f8f791f70bf8f3f710f9a9f890f923f82cf94df9d5f951f9f0f85ff9aef8bbf879f8acf768f876f869f8a5f809f905f85af9c4f827f99ff849f9e5f847f9bff802f93bf993f95af8b8f8f6f88ef811f996f9a1f978f94bf9e8f8e2f9bcf898f8e5f8b0f89bf875f8f7f94df9a2f91ef89bf995f997f84ef91ef9e3f8f9f7aef88af8f3f8aaf8eaf8a7f940f98ff921f969f9adf947f918f9baf85bf89ff956f982f9b1f860f821f9a8f711fa96f834f886f85bf869f81cf887f896f71cf9d8f88bf82df905f934f9caf807f987f8c8f850f841f85df894f8adf864f814f903f9ebf8d2f8edf8abf8c1f8c1f8c7f8c4f8e4f8f6f812f9cbf8e5f8b9f8fdf819f9b5f9d9f822f9d5f8e9f8fcf812f929f9d8f815f917f9bcf956f948f937f906f96df8b2f8adf854f9d9f809f9f3f8f5f8aef824f92ef9faf896f869f928f9edf846f9d1f8f3f8c3f851f952f909f9e5f858f948f914f977f94cf903f93af901f9f0f8eff8f7f8fef812f916f928f91cf990f9eff885f946f90ff9f5f821f90df905f93df952f9f9f878f9cef896f957f97af9c2f99ef98af9ebf857f919f936f986f8caf89df88ef871f944f936f962f92df94ff9d2f8f2f8f7f8e9f86ef8b2f892f8fff807f901f950f9dcf8e0f820f9cbf8ddf8cbf8ebf88ff8a2f8caf8b1f8edf8d8f834f9f7f814f9f4f8f2f8e7f8c8f8d5f8a2f8a6f8acf8e4f8f2f8f3f82af91cf902f934f936f95cf93ef917f927f9c5f809f9c3f8fbf8e3f80ef914f9edf8f2f80cf952f956f940f915f917f9bcf813f9e6f808f9f8f804f904f9def83df936f90df932f9f2f808f9e1f818f9ddf803f904f902f908f9daf821f9fdf823f922f908f924f909f91ef907f9eef802f9e1f816f9e8f818f9f5f8f8f807f913f90ff9fef815f908f9f7f8f2f8f7f8e7f8f7f802f9f2f8e8f8ebf8fcf82af90df92cf904f903f9edf815f9f9f815f90cf9edf8e5f8dcf8eff81cf900f92af91ff91df904f92ef910f93ef9fef825f90cf90af91bf90cf90bf902f931f94ef962f918f94df90bf922f923f933f907f943f9eef820f90af920f92cf919f91df912f9e9f8f2f80af9dff82ff9f4f830f915f926f901f91bf903f936f917f936f91cf9eaf8f5f80af90df90ff912f902f90cf9ecf80df916f90ef9fff800f9f6f8fef8f1f803f9fef8faf8fcf8f3f8ebf8edf8f6f8e8f8e5f8e4f8e9f8e0f8dcf8dbf8e9f8daf8e0f8e9f8ddf8d7f8ddf8d2f8d2f8ccf8cef8d7f8cff8daf8d9f8daf8ddf8ddf8e0f8d8f8dcf8d8f8daf8d3f8d9f8d5f8d3f8cdf8d0f8daf8d1f8daf8dcf8e1f8e0f8ddf8ddf8d7f8d8f8d4f8dbf8d4f8d7f8d4f8d6f8e0f8e0f8e2f8def8daf8dff8dff8def8def8d9f8d7f8d8f8d1f8d5f8d2f8d6f8d8f8d1f8d5f8d2f8d2f8d2f8d2f8d3f8caf8d1f8c9f8cbf8ccf8c5f8c7f8c9f8d0f8c9f8c7f8cdf8c6f8c5f8bff8c1f8bff8c0f8c1f8bff8cef8c6f8cbf8c5f8c6f8c3f8c2f8bdf8bdf8c6f8c3f8cef8cef8cbf8d4f8caf8d6f8d3f8d3f8dcf8d2f8cff8caf8d0f8cef8ccf8c9f8cef8c6f8caf8c9f8c9f8cef8d0f8cbf8cdf8c1f8c6f8bbf8c6f8b5f8bcf8b9f8b5f8c1f8b9f8c1f8baf8c2f8c1f8c3f8c4f8c4f8c1f8c3f8bef8bff8c4f8bef8c6f8c1f8baf8c8f8bdf8c5f8c1f8c6f8c5f8c3f8c2f8c1f8baf8c0f8c1f8bff8c4f8c1f8c5f8c2f8ccf8cbf8caf8cbf8c5f8c8f8c5f8c8f8cef8cef8ccf8cef8ccf8cbf8ccf8d6f8d3f8d9f8d3f8daf8d5f8d8f8ddf8dbf8def8e4f8def8dff8e0f8dcf8dbf8dcf8e0f8e1f8d9f8def8d9f8dff8d7f8daf8ddf8d7f8dbf8d6f8d6f8d8f8d2f8ddf8d0f8def8daf8e0f8e0f8e5f8daf8dcf8d6f8d8f8d7f8d9f8d1f8d9f8d1f8def8d9f8e1f8e5f8e1f8e6f8dcf8dcf8daf8d9f8d8f8d8f8d5f8d8f8d4f8d4f8d7f8d3f8d3f8d1f8d7f8d7f8d0f8d6f8d4f8d3f8d5f8ccf8ccf8c6f8c4f8caf8c7f8d2f8d4f8d4f8d3f8ccf8cbf8d4f8d0f8d7f8d4f8d5f8dbf8d4f8d9f8d8f8daf8dcf8dbf8dcf8daf8d8f8ddf8e0f8d8f8def8e0f8dbf8def8dbf8e0f8ddf8e1f8e5f8e4f8ebf8e7f8e8f8e9f8eaf8e9f8e4f8ecf8e8f8edf8eef8f3f8ecf8f4f8f1f8f9f8f7f8f8f8faf8f2f8f8f8f5f8f7f8f9f8f5f8fdf8f8f8f8f8fef802f9fcf803f903f9fbf8fbf8f4f8fbf8eef8eff8f0f8e6f8f3f8eff8edf8eef8f0f8f0f8f2f8f1f8f3f8f0f8eaf8f2f8ecf8eff8eff8f0f8f7f8f0f8f1f8f1f8edf8edf8e9f8ebf8ebf8e9f8e9f8e6f8eaf8e4f8ebf8eaf8f3f8f4f8f5f8f4f8f2f8f4f8ecf8f0f8e9f8e8f8e7f8ebf8e7f8e2f8eaf8ddf8e8f8e1f8e2f8def8e0f8dff8dff8e4f8e9f8e9f8edf8e8f8e9f8eaf8eaf8eef8e9f8eaf8ecf8eef8ecf8eef8eff8eef8f1f8eef8f7f8f3f8f6f8f6f8f6f8f5f8f7f8f5f8f8f8f8f8fef8fef805f904f906f900f90cf905f90cf908f90cf910f910f910f911f914f915f913f912f915f919f91bf91ef923f927f922f92cf91ff926f923f923f929f927f927f926f921f922f91ef926f927f92df928f92ff92cf931f92ff92ff931f933f933f931f934f933f933f936f931f939f935f939f939f93af93cf944f93ef945f945f942f944f943f949f94df949f94ef94bf94cf94cf94cf94bf950f94cf94ef952f950f953f953f94ef951f953f953f959f957f95cf95ff959f962f95af961f95cf961f961f962f965f962f963f970f96af971f96ef96ef96ff96ef971f977f973f979f972f97df974f97af978f97af97ff981f97ff988f983f988f983f985f989f982f988f983f983f97ff980f97ef978f97af977f976f97cf97bf97cf97ef97af979f978f978f97ef973f977f970f972f970f976f96ff96df96df969f96ef96af96cf96ef96bf96df969f962f967f967f968f966f966f96cf967f962f965f962f95cf961f95af95ef95bf95bf956f95af959f954f95bf956f956f954f94bf958f94ef953f953f952f94ff954f951f954f957f953f95af957f95af95bf960f959f95ef95df958f95bf95cf95cf95cf95ef963f95ff966f964f96bf96af978f971f978f96ef972f972f972f973f979f97af97ff978f97ef97cf97df97ff981f981f98ef989f98ef98af99bf98ef9c2f99ef9cafb1afa6bf62efb71fb6cf948f444f3faf53df6d6fafe007bfb80fc50fab9fdbbf936fbc6f76afae3f713f661f7ecf70cf98bf944fb16fa66fb25fb26fb3efb66f929fbb9f712f8b2f866f7ccf8c0f8e3f957f971fa27fa08fbdbfaddf9dafa9ff807f9b8f87ef83ef9eaf890f983f9b8f99ff948fa00faf6f957fa6ff9cdf9c6f82cf921f9d8f87df954f979f9a4f9a9f9c4f9d4f9c6f9cef9f4f953f9b7f929f944f943f946f976f96af9d4f990f9ecf9cff9c6f9fdf988f9a1f956f97bf944f964f96ef97bf99af97ef9cbf976f9c5f9b3f9c4f9d2f98bf9b9f972f95ff953f955f981f966f9caf996f9d9f9a1f9bef9aef9a7f9b8f9a9f99af996f976f98af985f99cf990f986f99ff997f9cef9a4f9b3f9abf9a9f965f988f950f982f971f9adf992f96ff966f98ff999f9a3f99ef96df96cf967f949f971f989f95df988f92bf97cf910f98af94bf9bdf9c9f9cdf9ccf9f1f9aef97df9c7f98bf97ff96bf947f93bf987f968f9c1f9aff9adf9bcf9a9f9b2f9c2f971f9abf950f972f942f92bf964f940f985f943f9d0f969f9abf98ef998f980f960f915f975f9d2f8dcf8e0f84bf955f96af941f9a2f98ef869f9d8f97ff97df9b6faedf902fa0dfa9ff991f9caf9baf972f955f9d7f802f9bdf9a0f9a1f9d8f999f99ff9d2f9d2f9c0f9d7f97df9d7f95ff947f950f952f9a5f9a7f98af984f99df9d1f9caf9bff9abf97af98af96af9adf97bf9cdf856f9e0f892f92bf941f906f9f2f8c7f88df939f902f954f920f97cf9dbf8b9f946f925f967f99ff92cf9d8f998f8bbf9c8f890f934f902fa0ff9ebf8b8f82df9e8f931f973f9e1f8dff80df940f9c4f83af936f93cf996f99ef8d0f7a7f98ff9d2f966f96cf972f90cfa4afa37f9acf944f96ffa38f97ffa1dfad2f9b8f9aff98af9daf9d8f936f9d8f87cf91bf95bfad8f953fa37faf4f9d8f9e7f9dbf958f916fa4af9f4f8c1f8d3f849f9d7f8b7f9ccf858f949f9a7f95ff9f4f9b7f9bbf9b1f936f9ecf816f9f7f912f9adf930f9acf952fa3ffa93f9e7f904f97ff901fadff84ef90bf928f852f946f846f8d7f842f9b7f84ef94df87ef976f9bbf915faa9f97cfab1fab1f98afb9cf96cfa27f917faa7f75df9d7f896f88ef90bf97df957f925faf5f964fa6afa4dfaf7f9c6f850f9adf8f1f847f8d2f843fa1df845faccf869fa18f93ffcd8fae4fad0f970fa7cfaabf9a2f9eaf72ef860f884f7a0f911f9dff81df8eaf9d0f89efb18f919fa4bf911f9e1faa0fac1f94bf9c0f859f84ff90af9f9f829fad5f935fa1cfa61fa83f999f97ff9f8f936f961f9b6f84af87af8adf9d5f88dfa17f903fa49f9bff9c9f98ff97bf9b9f814f98df8c5f981f856f863f9ebf8d3f8c0f990f938f97ffaebf985f9bcf91cfae5f88bfa33fad1f934fb40f9a1fafaf7b6f8e9f87cf710fa1ef94ef839f99af91ff92afcb3fa91fac4f984fa27fa4efa54f946f8a6f82bf7d0f720f98df72efa65f8d6f88af857f9edf978facff8fdf930fa22fab1f940f993f8b3f9a5f8f8f8fcf882f82ef8d2f8b7f8f2f977f8a0f838f871f90df8c3f8bff9eff887f9c0f8c8fa3bf978f899f81afae0f9dbf858f998f86ff975f817f95ff8a7f713f991f915f9e3f746f978f9a8f8daf61afa00f964f967f9a2f916fbe1f827fa88fa13f89bf9f9f78bf721f8b5f799f98ef958fa82f994fae3f92ffb5cfaf5fad8fab7f8f4f80bf711f76ff8fbf70bf97af809fa59f868fa98fa19fac6fa4ffad2faa1f955f993f9e6f7b5f800f839f8d7f98af93cf775f914fa49faf9f8fef97af8e3fb22fa42fa4bf8abf8b4f837f95afa5df7e9f7b7f8caf7bdf895f9e8f9d8f9d9fcd9fbedfbb1f977f9b4fab4f943fa03f791f73cf85cf8a6f800f85afa30f9a4fafdf811fc5ff919f913fb5bfa05fbdcf996f8eff716f83ff80cf86af83afb4df89ff98dfac1f99df70afb50fac5fa77fae2f9a4f8c1fa7df900f947f917fbdff9fff861f9e9f8a0f7c2f97df94af8f4f87ef98cf893f990fb16fba2f937faa4fad4f97cf7bdfaa5fbc7f884f88ef702f6e6f920f865f8affae5f7e5f8a2fd5dfa58f994f94ff948fa22f9eefaf7fb15f9e4f9aff653f728f97bf8abf922fae2fa27f8bbf756f916fae3fa3ef9e3fa56fad8fa38f8c7f82df72df9f4f65df8ecf9bef799f719faa0fae8f8f3fbccfb1df9bcfbeef78afa41f7f7f993f773f920f462f751fa6efaa1fa5dfa9bfbedfb79f975fa50fa02fc09f6d6f8dbf9ecf670f607f97df81bf714fa3bf89ffb0ff739f77ffbc6f95bf974fae5f804fbdef82ff755f96ff998f618fc3ff8f3f925f9a0f781f8a5f9dff883fa29fcabfa0af840f9a4fb17f8dbf85ef79bf879f941f73cfa0afa51f85bfa50f965f8c7f973f94dfa05fb09f81bf9f9f865f91bf947f8e0f9c4f962f8a4f961f84ff867f823f96df9fdf82dfa56fa2bfa0bfa28f805f71ff8fdfb7bf997f67ef91bf77cf90efa13f9fcf8bff967f8f3f95ff904f927fb80f81bf9b9f6f9f734fa4ef986f9cef95cf930fb6af837f9aff8e6f977f74df734fad5f89df98af78bf96bf959f83ff838fd63f84ff91dfbd8f9e2f8a5f6a2f841faa8f7f3f88bf937fb9bf93efa77f7d4fbcbf882fd22fab9f7c7f76df9b6f74ff9d6f891f942f939f85bf717fa21fa8afac8f9c8f9ebfaddf9b8fad6f616f904fbaef89ff916f7e6fab9fabbf9ebf9a3fa82f6aff87ef933f86ffabdf609f89df8eef99af9f3f90cf963fb4cf8e4f7a1f801fa87fb92f7d2f89bf9bcf937faaef672f77bfa6efc1df9d0f73ffb5afc15fb5dfa6ef874fa4cf7caf7b8f9f5fb9cf84ff9a5f99ef8e8fab8f99ff947f9f9fa0bfaaefc39f9b5f926fa99f87af832fa32f770f932fabefadefa2ffaaef9dcf841fceef81cf79ffbaefa91f768fa16f869f736f9c3f985fb89fb98f934f949f9bafa66f9d2fb21fb6ef83df895f90df84af856f853fae8f918f944f73cfa2ffa34fb46fb45f9c1f9fef9a5f85dfa6ff765f927f9e4f855f894f885f950fb1af816fa46fc83f7f5fa7cfb56f746fa39f813f78cfa31f9bafa26fa2ef7dffc3efacef821faeefa42f89ef841f680fa3dfcbaf6a5fb37fa2efaf6f5c2f94bfcb0fb9af9b7f97af8b2f929f8e6f6c8f8eef977f84efad2f8d3fbbdfba8f73cfa24fba6fae7f70cf94efad7fb96f79cf7f6f90ff9c6f7aef934fb1ffa55f8cdfdfdf753fa0df8c9f946f961f85cf914fa1cfae1f77ff6ccfb1ffc4bf997fa88fc4efa4ff819f820f951fb61f81df540f89dfa85f7e9f80cfd0efaf1f86ffaa8fd5ff888f5effc9bf987f7b6f9e5f933f910f7daf8fdfbd3f96af619fbbcfb4cf9c3f776fb6ef990f912f88bfa10f9a2f780fb84fbb0f765fb32fa58fae8f7c0f884f7fcf8f4fa00fa36f965f878f9b6f815faf1f9c2f81efbccf748fa4bfcc3f81ff6fafae1f808f9faf88ffac3fa58f8daf868fb62f99ff842fa8ff8fff8a3f914fa73fa7ef9f8f8e6f9dff804f9a6fa51f8c9f9e3f957f9aef926fa90f932f91cfa44f938faddf7e0f93afb01f8c4f8b0f93ef9a0f8eaf9d6f984fa88f89af70efc66f8b7f8d1f94bfb10fa04fabdf98ffa66f931f9b9f9aaf9def7ddf99bf9fdf83df8e5fa46f95cf869fae9faaafa45f842fcddf975f947f840fa22f86af8a1f96ffc4af89df88df941fafef8c6f721fbadfac7f725f98dfbb0f80cf8f2f962fb8ef85ffa9cf8e8f94af9d7f75afa2efc39f890f5b4f9caf952f7dcf93afca6f930f7e3f904fba0f824fabefa2dfa56f9f7fa47f939fa47f9a3f820fa7ef8f2f786f90af958f9b0f998fd87f704f822fb0dfc0ff79bfbdcfa4dfab4f74dfb4bf946fa52f9d3f8c4f9bbf821fa3afb59f9c9f866fa28f91af99ff86bfa60fa02f845f8e9fc18f93cf740faadfb1ef790f801fcfdf8def926f883f897fa95f850f839fcbaf80ff91af984f947f9c8fa63f93af93ef9f5f7bff9b9f958f7d7f9a1fa05fa5bf931fa66fa36f800fa82faa4f669f97cf81bf94cfac3f987f93cfafdf92bf9e8fbbef8a5f8f6f90efa59f9c4f917fbd9f77ff84cfa26f9d0f818f92bfb2ffacaf9fdf94afa36fa92f93efa20fa64fa57f9faf88efae1f781f9b7fac2f9dbf9b4fa64faccf893f925fa8afa91f8a0f953f930f802fa5df9e5fa97f937fafef8c2fbc4fa0bfa5ef8f9facaf960f872f8a7f953f9a4f975f9b6f8edf9affafef931fa94faccf9b8f973f9a9f915f939fa26f89df813fa12fa1ff930f930fa82fb96f9e3f7bffab7fc82f7abf87df8ecf94efaf8f925f878fa8ff9a7f8b5fa85fb67fa0afacaf8a8f9d1fa68facdf8e1fa60f984f874fa7ff97efa86fa2efa95fa05fa12fa0efa39fa65f91afab7f96af99cf930fbaaf9d0f942fb14fa43f930fa99fb2afaf9f876fa96fa45f9f0f866fa21faaaf8e1f856fa36fbd7f9d9f87af93ffa15f921fa41fb35fa7bf817fa0ffb02fab1f93df9cdf8f4f900faedf962fad0f99efa16fa76f99df9fbf974f980f9aaf914fa9df998f922fa19faa4f9fff99cf84dfac9fabcf925f9f1f9f6f8f5f98efa43fa70fabefa14f9adf95efbc4f998f9d5faa9f95ff859f980f9f6f9f7f90dfa85f946faa3f959fa69fae3f924fadef983f9a0f9d7f9a1f9caf924fad5f9e0f971f926fac2fab7f926fa01fa1dfa28f951f9c6f977f9d5f863fa73fa53f923fa4ffa37fa92f9def971f918fa3ef9b5f9f3f906f93ff9d3f9c5f925fac5f91ffa16fa01fa15fadcf915faaef9e6f980f9c7f983f921fafaf97ff9e5f9e6f95afabdf9c1f92bfa85f96df9f0f904fa4df94ef936fa54fad3f95df97df99cf9b0f90cfa39f923fa85f9cff958f96af942f9c8f9fdf9d2f999f9aef9f1f9b5f90afaf4f988f964f91df96ff96ef973f912f98cf97df91ff9d8f916fabbf9a2f915fadef9b4f9dbf9a0f95bf9e5f99af9bff9a9f98ff9edf926fadaf9e6f906fa78f98ff904fabcf9a8f989f9a3f9a6f9a8f9ddf91cfa88f9d2f9c9f9b2f99cf9ccf9e7f9f4f9a5f9acf9d4f9bbf923fab0f907fa85f9f8f9b9f9d5f9d1f9e3f9c2f9c7f9d4f9d2f9d9f9c9f9e4f9fbf9d7f9cbf9d8f9c8f9f3f9d1f9f0f9ecf9f3f9e9f9daf9fcf991f9e1f9cbf9fbf9c8f9dff9b6f9faf9bff9d8f909fa00fa9cf9dbf9d1f9b9f9f4f998f9e4f9a5f91dfaf6f9fff932faccf9baf9adf96ff9c7f9b8f973f9aff9bcf969f9ecf9b2f91bfa1bfaf0f9f4f9edf9daf9d0f9e1f9b4f9baf9e5f9b0f906fad1f9e8f9c7f9ccf9aaf9bcf9d5f9e1f9caf9d9f995f9d2f9bdf9d6f9cff9bbf9b6f98af9e0f9bcf9f7f992f9b6f9baf9c6f9c4f9b9f99bf9e4f9b7f9c3f9c9f9bdf9bef998f9c4f9b3f9b4f9b1f9cbf9d7f9c7f99ef9e0f9c2f9e6f9dff9d1f9e0f9d5f9c6f9def9d9f9d8f9def9d6f9dcf9d7f9e2f9c5f9bff9e6f9cbf9d2f9d9f9e4f9ccf9c0f9baf9c1f9c4f9cdf9b7f9e1f9c1f9bef9c1f9bef99ff9caf9b4f999f9b7f9caf9caf992f9abf987f99ef978f98ff9adf98ff995f98af9abf980f99ff994f9b6f9aef9b4f9abf9a2f98ff9a4f999f99df9a7f9aff9a8f9a9f9acf9b0f9aef9a2f9adf99df9a0f99bf9a5f995f99af99cf99df9a0f991f9a1f9a6f994f9a5f996f997f98df987f98cf989f990f98ef994f990f991f997f988f988f98af989f988f980f984f982f97af983f981f97cf981f97cf980f980f97df983f97af97bf97af976f975f976f976f971f968f96bf968f968f972f96ff971f96df967f96df95cf95df956f958f95ef958f965f964f96af96ff972f96ff974f96ef96af970f96df973f974f96ff97df971f981f986f98af98cf991f992f98ef98bf98ef990f991f98af993f995f995f999f99af99af9a5f998f9a8f9a2f9a5f9a6f9a7f9a8f9a7f9a8f9acf9abf9aff9abf9aff9b0f9b3f9b7f9b6f9b6f9b0f9b1f9b2f9b3f9aef9b1f9b2f9b3f9b7f9b2f9bdf9b8f9c1f9bdf9caf9c7f9cef9ccf9cbf9cbf9ccf9c7f9cdf9c3f9ccf9ccf9cef9ccf9d4f9d3f9d6f9d5f9d6f9cff9cdf9d4f9d1f9d7f9d6f9d9f9e6f9d8f9e2f9e1f9e9f9e6f9eff9f1f9e8f9eef9e3f9e5f9e6f9e0f9e4f9e4f9e3f9eaf9ecf9edf9f1f9edf9edf9f0f9eef9eff9eaf9f0f9eff9eaf9f1f9edf9ecf9ebf9f4f9f8f9faf9f7f9f9f9f4f9f0f9eff9eef9f0f9ebf9f1f9f0f9eef9f9f9f3f9eff9f2f9edf9f1f9edf9f0f9edf9eef9f3f9e9f9ebf9eff9e8f9eff9ecf9ecf9f0f9f0f9f0f9eaf9eff9e9f9e4f9e8f9daf9e1f9e1f9d9f9e0f9ddf9e4f9e2f9e2f9e9f9e7f9e8f9e3f9e2f9dbf9dbf9ccf9d5f9ccf9d1f9cef9d5f9d0f9ccf9cef9ccf9ccf9d0f9caf9ccf9c6f9c7f9c7f9c7f9bdf9c0f9c0f9bef9c1f9c3f9bcf9bbf9baf9bbf9b0f9bbf9b1f9b4f9b4f9b6f9b5f9b6f9b5f9b8f9b2f9b7f9aef9b7f9a7f9acf9abf9a7f9a9f9a8f9a4f9aaf9a0f9a8f9a8f9a2f9abf9a2f9a7f9aaf9a4f9a7f9a2f9a4f9a8f9a9f9a6f99ef99af99bf994f99ff993f99cf992f992f986f98df981f987f980f989f982f985f97af979f975f973f96ef975f971f975f974f96bf96bf963f966f961f950f95ff954f954f956f959f947f949f93cf941f947f942f94ff94ff9bbf967f946f852f9b9fae5f84ef937fa72f8eff898f8edf84df950f8a3f9f3f9b3f881f90ff9f7f80cf9cbf8b2f986f9cff873f9bbf890f8bcf8b6f83af917f921f942f993f8dff8e9f8a8f8eff8dcf8f6f8e3f8cef8d0f812f9d1f806f936f9bff8e0f87af88df898f886f8b1f8b3f89ef8aaf8e3f8abf801f9e4f802f9fcf8e4f8f5f8d0f8d7f8d0f8cbf8b3f8caf8b5f8d4f8aaf8c0f8acf895f8d6f8c4f8c7f8ebf8caf8d7f898f8c7f8b7f898f8c6f8d0f8a9f8a9f8a0f8b7f8a6f8a2f8cbf8b6f8cbf8c9f8c5f8d2f870f8aff890f8b5f8d5f8c7f8ccf8daf8b3f8f2f8d0f8bdf8b0f8c2f8a6f8c8f89ff8bbf885f8c5f8aef8c4f8aaf8bcf8a0f8bef8c3f8f2f8a7f896f8c9f8b4f8bbf8d6f8d7f8bdf8b6f8a7f8c3f8aff89df8b5f8c5f8b5f898f8c3f8bef8c7f8b8f8ccf8b9f893f8bbf89ef8cff8aaf8cdf8aef89ff883f897f8a6f8bef8adf8b8f871f88af890f8b8f8a5f8e2f88bf8c0f8bdf8aef8def8c7f8c8f8a3f8abf8b9f8b3f8a2f8a6f877f892f8a4f8bbf8c9f8d4f8d2f8e6f8c0f8c9f8e0f8d1f88df8cdf8c3f8b6f8b7f8d2f81ff9ddf8adf8fbf8cef888f8f8f81ef956f8cff825f834f907f850f99bf8c6f86ff84bf9baf8fcf8aaf8f1f8b5f8aff84af945f911f95ff88ef983f999f87bf86df901f90df9c9f8e1f813f9b3f7bbf834f97ef8e8f707f90cf96bf8a7f84ff993f89af97bf82ff9d6f8c7f8c5f848f962f8f0f774f8caf7d7f878f8dcf82ef839f9fff899f9bdf8e1f8a5f8eff82bf82df9baf81df801f9dbf8daf869f8f8f8c3f8a9f8e4f835f9caf896f834f804f94ef9b9f85cf9fef9daf80bf964f940f9f4f8d2f86cf9d1f802f9f8f8f9f83ff8a5f8cef8b6f8cbf8f6f7eaf8c6f9cff712f9eef9dcf8bbf8fff865fa83f9b8f80cf9eaf9baf883f88bf917fadaf8abf8aaf90cf984f817f9c1f9c4f9aff82cf9d7f922fae2f8fef83bf932f94ff8b0f91af9d1f8cef86bfae1f822fac4f8f5f876fa7ff905f961fb55f868f918f94df990f86df999f8a1f9cbf86cf834f907faa3f8f1f887f9a8f924f918faaaf973f971f8a2f803f904fa88f80df9eaf878f88af8bcf9bff9fbf867fa64f954f931f957f9ecf8a0f988f9daf8a4f92cf75cf72df9bef930f885f86af96df92bfa63f96af925fb6ff9abf8edf946f9bcf74af9f4f740f85ef942f81ff9d1f9dcf843f86ff9ebf961f987f912f9a4f965f82ffa4af8dbf9ecf973f89bf8abfadff727f9c5f94bf907f996f90ef978f978fa80f986f921f9d6f9b4f97ff7fef9fdf9d1f82ff8acf973f91af82bf990f874fa8af7d1f9fbf978f907f80afa28fad7f9fef8f8f9d7f9e5f89af8a0fa50f915f8d8f88af918f848f838f92dfae1f638f918fad1f9cdf72afb2bfa72f961f96af981f9a5f8bcf9abf82ef95bf8f5f7e1f8a7f89ff8ecf8a1f94ef810f984fa34faa9f836fad8f981f8ddf877f905f9c8f867f853f87df8d4f81af834f937f9e7f969f8a0f943f8bbf828f94cf966f9e8f8dcf83df849f9c0f874f8a4f8a9f8d5f75bf821f97ff8dff838f96ff9b9f95af9b5f93ef931fac9f804f96df8fef86ff843f9abf819f87ef988f788f892f899f969f72bf919f9daf929f98ff944f940fad8f9d3f8a8f986f9a6f87df9e9f9b0f8bbf83cf8dcf828f918f9a0f80af958f9c3f8c8f819f92ef99ff955f93ff95efaa9f9fff99bf989f9aff91df931f9edf8a6f8bff80ff994f86bf83efa0bf8ecf99bf85df94ff9b5f95bf9e4f951f9e2f8edf98ef8a2f9ebf892f9e8f824f978f7cef8e6f7c5f88ff941f928f95df8f9f85ef9e9f832f970fa5cf94ef8f5f89ef922f895f87ff9b8f8cdf7b9f8b0f96ff9b0f70af9c2fabef805f8cdf96ff934f91cf83ff80ef99ef9f5f7d0f84ef933f897f731fafef8c6f97bf99ff8c5f9b3f91cf940f99bfad2f9dff91cf983f844f8c3f89ef814f92ff93af814f9c4f770f921f9def95ef873fa59f984f8dcf8b8f982f922f9e9f969f9d3f7f1f89af904f9e4f886f87df8e2f886f825f951f829f8a1f827fa14fa72f90ef917f956f9eff87cfaa8f8dcf7b7f8d2f808f826f845f94ef9f8f8eaf8eaf94af9a1f9acf918f90bf94ef82ff940f9d3f852f824f9aff869f834f9f7f84ef9ccf843f969f96ef992f94bf9cef81ff961f9f1f81bf906fab2f814f8a0f97df9e1f9def8caf8a2fa88f9d8f7dcf9c6f9fbf7eaf881f980f9f6f8baf88cf908fa4bf871fac5fab2f991f828fa81f9b1f9eaf95ff904f967f8d5f8d5f970f92ef8e3f86df9ddf840f9f4f94ff920f8f3f84dfa05faf3f90efa42fad0f820fa6ff966f936f981f99df88df821f971f87af8f4f79cf8bcf9c4f900f999fa5bf9b0f97df92bfab4f9d8f977f9c9f8b4f89cf8e1f955f814f930f94df845f835f9e4f995f9c8f937f9aef945f9d1f94ff990fa54f93bf9c1f917f916f9c5f82bfa29f955f98df928f8e4f8e1f9e8f8def98df97af862f9f2f917f9dff92ef9f7f83af9c0f9e4f919f9adf80bf9b6fad2f946f9a2f83cf92cf9adf809f94cfa1dfa41f8b5f9baf98cf8e7f8b1f9e8f875f84ef8bff9e6f929f964f8dcf971f975f96af9aef960f92bf987f977f9e8f90df91dfa0ff98cf995f99ff95bf85dfa38f913f8d6f86bf94cf85cf92cf9aef906f970f931f9ccf841f9e5f99ffa74f86df81ff941f862f887f80cf969f87bf746f8affa51fae4f958fc30fb32fa3dfa02fa27f946f99dfa3bf755f999f93bf9e8fb53f98bf948fa09fa51f994fae1f84bf7ccf781f9c5f84af8caf8a1f9baf91bf90cfac4f942f890f9dbf8eef846f88df819fa0bf9ecf861f98af91bfa8ff932f9c3f9ddf851fab9fa80f964f8e6f720f805f926f828f860f8b6f8eef810f9b1f89ff86ef851f9d1f9c0fa17fa2cf928fae3f739f8c4f8e2f700f8cef8a5f83ef8b6f787f87af909f9f5f911f90afa06fa36f965f968f9adf898f81ff9aef832f807f93ff81af926f9c8f9a7f853fa31f9eff9adf99ff9f1f9a3f927f889f91ef9f7f811f8f3f9ccf9f9f9dcf8c8f8e8f8abf876f9c8f804f90bf9fff8d6f885f859f849f953fa83f85ffa24fa95f8c4f9f7f966f96af81bf93ef73cf944f8bcf81cfaaef880f98bf817f96af9b7f98efad5f829f8bcf814f878f8abf9a1f98df850f9c3f84cfac6f973f9acf9ddf82df9d0f73ff905f8b7f7f6f7e6f756f805f843f9bef860f929f908fa67f9b8f916fa01f9caf864f9d5f884f8b3f87ef9ebf849f985f8a2f836f890f760f7e8f900f876f8bbf9fff8e0f8e4f9a1f89ff913fabef867f9e3f950f962f905f9b0f8a7f8baf8c5f7bcf813f928f928fa6ef9fdf979f908f9b9f8aef8faf81af901f99ef7ebf826f80bf815fadbf981f9cbf95ff8eff888f876f86df99df95cf8c2f80df859f7b2f828f92bfa3cf9fcf78df85ef9b2f8c7f907f853f882f820f8fef8dbf8cdf7d4f813f98af9dcf8b0f9fcf72df84ff8daf839f8b7f805f95af9ecf8cbf771f8bff8b4f9d9f8bdf8b5f80df97cf8aaf84cf871f7faf669f890f785f8f5f73af852f881f8a1f9e2f903fa1bfaaaf9b6f737f978f746f9d8f713f8d6f6b9f658f614f827f8e3f88bf85bf8e0f8a9f9f4f96ff91ffab8f8a3f9cef8d4f774f77ff860f8a5f82bf8f6f766f85af985f8e8f792f8c0f854f847f9e4f809f928f837f9c9f8fcf8adf857f8dff8b9f80cf8e6f811f875f8a8f93af8b5f8f7f9bbf802f9a4f923f950f9c0f7dff857f8a6f7cbf758f874f8c2f714f9d3f877fa6bf9bcf800f9bbf8e6f70bf895f7c7f76af850f8d2f74bf9bbf87ff905fa8efac3fa89f730faeff7b8f9fef526f744f5f3f769f891f74df9a7f7f1f918f8d3f909fb69fa33fbd5f9f7f864f7a8f6daf59ef7ecf69bf76cf889f76ef914f864f95bfa20fb12faa5f944f9b1f778f8abf712f8f8f66ff841f87af87af8a4f8eff9cefa08f915fbedf80ef9ddf826fa4bf824f869f75bf8fcf83cf871f768f972f979fa7dfa96f9c0f8edf884f85cf8e3f7a7f8b5f873f845f8b8f613f83df989fa8ff951fa1df82df9edf88af8acf8a4f865f9c5f601f879f9d2f7bef855f9f6f79df899f95ef81ff9bff815f7c7f882f860f718fa6ff974f736f7b2f70ef830fae7fafcf849f8f9f8f1f86cf869f9fcf983f845f8a4f81cf865f9f2f876f63af881f76af77af81cfa9cf846faf1f86ef9b5f957f8b9f831f9caf893f8b9f6bdf6cff773f8e6f7fcf8fcf80ff84af813f938f88ef87bf943f88ef8bff80bf85af83bf93bf71af7f5f7daf78af942f82af89cf869f989f83ff8b9f87df88bf982f738f918f9fff7d1f86df8a5f874f7caf87ef9a7f82bf9e2f97df82df9e1f831f858fa66f836f830fa31f7eaf738f785f711f73df943f922f811f85ff7d9f91bf989f99ef91af968f75ef75ef763f706f756f8d0f866f79df797f7a6f9b9f9eef801f959f9a9f72af9e1f87df7adf76bf65df78cf76ff6b4f811f8c0f98cf817fa2afb37f82ff98ff86ef848f7b9f6a9f6b5f734f779f7ddf847f72ff9e3f9c6f944fa9cf935fabdf86ef80ff7a3f73ff8d8f77af899f730f8c4f77af8c0f875f92ff9bef85bf828f838f80cf83bf874f838f8c5f739f68ff8bdf7c9f722f81cf854f8aef8f2f7f3f85ff8fcf892f876f881f8c3f826f8cef78df748f759f739f702f7f9f79ef630f8a6f6aaf845f76bf95df90cfad7f85ef717f83ff729f7fdf709f852f780f741f7fcf65af80bf8ecf953f82bf857f8a6f83ff98df862f88ff74cf6f5f751f831f913f9c5f971f715f8a4f724f895f80cf8d7f7e4f770f757f9b9f734f8b0f6c5f84bf80ff88ef849f930f80bf871f894f7def7c2f604f886f754f72bf731f8fff732f899f8def80ef8bdf785f8dbf80ff8e8f83cf872f83df804f80af848f8bdf8d8f75af73df779f704f8bef8a1f7d2f77df76ef7c3f8b2f833f87ff8e0f810f872f8f3f6e6f8d0f7a1f714f85ff8f3f7f4f75ef87ef8cbf89bf845f8e4f8e8f74bf83ef8c7f857f759f8d7f77af8f8f8bbf898f838f9f5f88cf885f8c7f8c8f8e3f82df870f7c0f617f825f84bf8e1f72ff803f882f8c9f883f9c2f8f7f8e8f83ef8f1f710f854f863f86ff8fff77bf87cf84bf8bdf8cdf8e2f8daf84ff9ecf8e9f713f804f806f71ef855f80bf8b3f872f80ff91cf980f818f913f945f81df8dbf82bf8adf78df87ef88cf837f807f938f8b2f892f8daf8e9f8cbf761f7ebf777f7daf731f877f814f8b8f832f88ff8a5f8bff81bf976f827f83ff84cf830f8b8f8acf835f876f881f888f8c6f87af8b9f883f8eff8b8f862f88cf818f925f9ebf8fcf836f8e8f7def80bf860f852f81df897f80df887f828f898f8c5f8eaf8c9f86bf87bf856f83ff842f8d6f7f2f7bef720f84bf837f8c0f8abf82bf96af8bff84bf8edf84df82bf84ef8fdf71cf85bf885f824f847f843f86ff89df887f84cf85df80df8f1f754f8f1f729f85af81cf85ef806f86df862f86df856f892f83ff847f85cf830f854f858f82ff83ff86af82cf8b6f8aef899f8c2f871f84ef87df862f88bf83ff844f858f843f832f86cf85af893f878f894f86af880f84af86bf824f859f83ef886f85cf841f86af85df867f859f873f878f87cf892f85af858f860f853f853f859f881f82ef87df86af86af85cf84ef872f858f820f84ef858f871f861f8b1f850f865f851f887f873f85ff866f85df85ff857f858f877f83bf876f83df87bf82ff897f859f873f832f85bf840f85bf83bf850f847f838f851f854f84af854f85ff84af863f851f860f85bf85ef845f83ff835f83df82df841f83ef823f82cf814f837f853f863f850f857f838f843f848f84df844f843f847f82df838f831f828f827f83ef840f82ef848f826f83bf831f828f839f835f816f82bf818f81df824f825f832f81af831f81bf834f81ef824f82bf819f820f821f81ef825f81af820f827f81ef824f829f827f82ff828f82bf82ff829f829f828f82bf82df82ef82ff82bf82ef828f82af82ef82df832f831f83bf835f83af83af83ff83ff843f842f847f849f857f84cf856f850f856f85bf856f85ff861f85ef864f85ef862f85ef864f864f869f868f86ef86cf86df869f870f86ef870f874f876f879f878f872f87ef877f87bf87af879f881f873f87bf872f876f86cf86af86cf86df86ef86ef86bf868f86ff86bf87bf873f87cf87ef874f878f870f876f877f877f876f877f86ef872f872f873f875f876f876f86ef87cf877f87df881f881f882f880f87cf87df87af878f881f879f87ff878f877f87cf876f883f87ff881f887f886f885f881f888f889f87df888f882f889f885f887f88df88af88cf890f88bf889f886f887f88ff88df88ef891f88ef88df88df890f888f890f88ef890f88ff88ef889f88af888f890f889f89af896f897f89bf89ff89af8a0f89ff89df8a3f8a1f89ff8a0f8a3f8a7f89ff8a8f8a2f8acf8adf8aef8adf8b3f8adf8b3f8aef8b4f8b1f8b7f8b3f8bdf8b7f8c3f8bcf8c3f8bcf8c7f8c7f8c1f8c5f8c5f8c6f8cdf8caf8d1f8caf8d0f8ccf8d0f8d3f8cdf8cff8cff8cdf8d3f8cbf8d3f8d5f8d7f8d4f8d9f8d7f8d8f8d7f8d3f8d3f8d3f8dbf8dbf8d9f8dff8daf8def8dcf8d8f8d7f8d4f8dbf8dff8daf8e4f8dff8def8ddf8dcf8daf8d7f8d7f8daf8d9f8d7f8dcf8d6f8d8f8d9f8dbf8daf8d3f8d7f8d4f8dbf8d9f8dbf8daf8daf8d4f8d4f8d6f8cef8ccf8caf8cdf8c5f8c7f8c5f8bff8c4f8c1f8bdf8c2f8aff8b7f8b1f8b0f8bbf8b1f8b8f8b3f8b4f8b8f8b9f8baf8bcf8baf8bdf8b1f8b7f8baf8b8f8baf8bff8bdf8c4f8bbf8bff8bef8b9f8bdf8b9f8bdf8c1f8bef8c0f8bff8c5f8bbf8c2f8bef8c6f8c3f8c6f8c7f8c1f8c0f8c2f8bdf8c4f8c4f8c4f8c7f8c5f8c9f8c8f8c3f8c6f8c4f8d2f8d0f8d3f8d2f8d4f8d4f8d7f8d1f8d7f8d1f8dbf8d6f8d7f8d9f8dff8daf8def8ddf8e0f8dff8ddf8e2f8e1f8e3f8e7f8e4f8eff8e8f8f3f8eaf8eef8eff8ebf8edf8f0f8edf8eff8ecf8eaf8e8f8e5f8e8f8e5f8e9f8ebf8e8f8e9f8e7f8ebf8eaf8f1f8f2f8f5f8f6f819f901f9b3fb92f91af672f974fce2f98ef3a9f0cef7a7f63af98effe3fbedf926f9fafbbbf896f9d8f77ff90df88ff655f6a0f7bdf7c7f856fa3af923fabbf98dfaadfac9f880fa8ef7e5f777f875f7ebf749f8edf8a2f82df9e7f847fac0f930f9dff97af89cf877f846f804f99df8c7f8f9f8bdf8b3f84cf912f92ff965f9edf831f977f89ef8b4f87ef808f9edf811f91ff9fbf817f93ff92bf961f954f9fcf824f9aff8c5f8d3f898f8eaf8aff846f926f982f953f966f957f903f93bf9ecf829f9def8c4f8f0f8a8f8bcf8f0f83cf925f96ff961f95bf985f9f9f852f9d4f80ef9dbf8cbf8daf8ddf813f938f94df93ff93ef934f933f977f91df94cf9f7f814f9d3f8cef8d1f8eef80df904f92ff9f3f810f923f93af91df917f90bf911f91ef905f902f9eef803f935f9fff820f9faf8f7f81df901f92cf9eff8e1f8fff8f5f8fbf825f936f90bf94df930f959f959f926f94af940f945f90ff943f9f0f80df939f9e2f83df9f3f856f970f95cf974f943f980f91af981f90ef91ef9eff81af929f919f910f936f969f91cf985f967f932f975f937f95ff941f909f934f92ef97ff91ef9a9f91af97ef91ff969f933f92cf93af91ef91ef984f912f941f9baf879f93ef9acf992f905fa43f9a2f963f95af973f95ff948f972f9c7f8e1f81ff943f954f994f93ef985f94ff966f9caf968f997f970f94af921f937f956f962f93ff947f979f991f9aaf98df99bf975f987f97df96af978f93af942f9f6f81ff944f94df973f972f932f95bf97cf9abf973f947f9ddf882f9f6f854f924f9f0f849f928f94ef94df90df952f94cf966f9a7f804f9f2f839f9fdf851f995f969f97bf9bcfaf8f90cfaa9f9ebf9eaf87cf96ef8d9f827f916f967f979f950f963f913fa89f9f5f9c0f96ff9b8f9dff80af949f992f8a5f917f96ef976f9c9f9ccf923faccf974f9b3f994f90cfa9bf980f93ef938f916f967f9d2f843f9f6f81ff964f9cdf8fcf87ef924f905f986f9b8f879f894f93ef9c0f9fcf851f921f9c6f8d9f8a5f9bbf964f907f909fab0f9b5f92afa9cf9f4f8a7f986f97bf944f968f95ef9a1f923f937f990f990f9adf9eaf9acf97cf95ff984f9caf955f958f90ff906f962f97ef90ef96af9b7f830f961f9bdf8a5f99ff9dcf90cf952fad5f8f6f9cef9bafa63f894fabdf99ffa65f9a9f98ff9cffaebf870f886f9a4f881f910f94bf9f7f801f9d9f82af9c0f8c0f97af9f4f83af925f9eaf85af9c2f96bf952fa06fa46fa3dfa5df9b9f806fb02f97df902f953f9f5f88cf890f8a2f91ff9cff853f926f994f9fbf946f9aaf9f9f8eaf9f9f941fa61f9bff948f9c7f91cf949f9d9f8fcf86ff8eff8adf8aef812f9dbf857f8cdf97ef9b2f9e4f992f982f985f9dff99ff9ddf878f9baf9a5f922f989f938fa86fbeef997f956f9b2f896f8f6f715fa6bfae6f863f980f923f887f93ff922faeff81cf934f9ccf8baf8b5f936f948f99af887fbc5f8a5f917fa89f9fff805f9d9f83af8cbf80cf957f8b6f8b5f848f9f1f7daf9b5f9b9f930f9d3f9a5f9d9f875f96cf9eaf95cf904f96af829f938f839f86bf9d9f842f965f87af9e9f9ebf886faa5fa95f907f93bfa76f9adf992f97ef9e8f98efad3f9daf86cf85ff90ef9d9f85af943f941f935f994f8a4f9c4f970f98ff9a5f9f0fa35fad2f9b0f9bbfb78fb59fafcf806f92efb48f90efa89f9fbf80ef9e9f8aff994f90ff9cef8edf9b6f969f957f912f9bbf8c3f825f994f9cdf71ef9a3f9a9f9a5f903faaef899f9c9f9f1f813f923f812f866f8cdf84cf741f7eef7b0f91bfae7f871f908fa48fa82f97df800faaafa48fac1f754f809f8cbf992f80bf8cdf8c9f7c9f83cfa23f95ff98df832fa44f9a0f99ff967f94cfa68f8b7f991f990f9e6f732f9cbf9ddf978f9c4f9cbf8cdf820f8f9f89ef8f4f873f920f938f850f945f8b0f985f937f9f2f82ef8dbf7bcf93bf8e9f8d5f988f86cf9b4f8dff81df8b3f8d2f8d1f8acf8cef823f800f914f9d6f9cef9c8f81df999f98cf8a4f9a1f8a9f921f88bf863f815f953f98df854f95bf998f835f917fa2bf9ecf85ff9fdf89af9c8f8f0f746f818f9a1f8a2f85bf8eef989f94df8fff84efae4f9e8f79df819fad8f83af837f980f88df949f813f933f92af819f815f9def866f812f9a9f8a8f825f8a4f7e5f8f3f8caf994f8d8f8c9f76cf813f920f992f980f997f890f99ef97bf8cff9a3f873f8f2f8def77ff9f2f92ef810f9e1f88df83df947f941f99ef98df880f9a4f8e0f81bf8f9f8cef825fa31f9daf809fab0f9adf879f961f885f90cf9f9f858f81df9c9f9c8f72df986f8d7f89bf9b7f8b2f830f915fa76f975f82df851f946f8aff8a2f954fa9cf907f97af9a9f9d1f952f9a8f91af9d0f8c1f849f95af83df957f829f91df968f947f9d6f9daf8c3f873f98cf88cf9b7f876f915f946f968fadff822f93ff972f9c4fab1f8eef812fad8f997f87ef897f880f9c6f88df8b2f813f9cdf854f904f9b7f925f9cff96af93df98ff90cfab7f8a0f892f95bf9d0f9b8f93df949f86bf9ebf8bcf86ff84df93af947f99ef857f88af93bf966f9c5f8d0f8bbf8b2f9aaf9e1f881f893f90df984f8b4f967f90ff970f994f80bf9a3f8e4f769f9b1f8ddf862f971f9eaf831fa3af951f911f976fa70fa18f9b5f960f95ff8f5f74cf81cf95df9f2f7baf8d1f9d0f82ff8a4f924f927fabbf99cfa80f98cf9aef93cfb4bf9e2f8b4f977f92bf978f9fbf74af9dbf88cf825fa71f97ef900f977f9c0f977f99cf9abf977f844f92ff975f84ef969f9b1f93ff95ff8d3f98af82df9baf9d5f8bef854f9e9f8a6f882f8d3f806f944f819f8e7f865f9d9f8d4f805f950f811fa68f8bef8def96ff901f9b1f8cff951f965f9c2f7b6f806f958f8b0f874f826f8b9f70ef902fa49f99ff88afa64f913f823f980f90ff949f997fa98f885f8a9f88bf87dfa33f938f9abf9abf812f8e0f9a6f96df954f975f95cf985f8edf81ef98cf9c2f816f964f9fdf98cf976faa7f9ebf81ef9b7f906f94df922faa1f9e1f851f9f3f83af987f951f9b3f98bf8b2f9aef9a3f873f941fac2f9c6f987f96bf9f4f93af96af9f7f99cf9b8f8d5f8eff953f933fa64f994f9d8f9aaf986f9bcf9bbf91cfae7f9aaf92af9bef90ff9fff906f921f915faa6f952f9d3f970f950f975f9b8f9b7f953f91efaecf9dff923f9bdf910f9eaf94bfa98f96bf95af931f968f962f9c8f9f1f990f918f916fa4df97af9d3f934f93ef9d0f97bf87df9f6f993f8c8f821f99cf9b9f826f93df93cf947f972f965f931f921f961f90bf944f977f929f98bf918fad5f851f9a6fadaf974f997f9a5f9d0f80ff954f9d0f859f9caf806f95ef9c0f9b9f9f3f9dbf990f9b4f9f1f954f94ef929fa0cf919f9adf974f95af9faf839fab9f95bf97df9c2f914f9f9f87bf9caf997f928f978f9e4f941f963f9b0f947f94cf992f94bfa63f973f9a6f80ff94bf842f90efa5af965f941f8f8f84bf9fff9f4f933fafbf866fa0dfac1f845f99df916f995f92ef94af94df975f854f916fa33f9f2f98cf948f9ccf95cf90ffa49f945f95af9b2f91cfa3ef9def958f95ef9c7f994fa1afa2af927f9d3f965f978f9c0f9f7f9fcf848f9ccf9cbf98ef911fae0f913f938f93af9f2f9cbf955f9aef973f93ef978f9c1f90bfa57f941fa46f938f93bf9e3f976f95ef9c9f9f9f9bcf985f909fa01fa80f977fa7df95bf9c7f976f9f7f8a5f9b6f947f9b7f9bbf9cff9a8f9f3f8e4f9d7f944f9a8f903fae6f8d5f814fa9df9f0f926f990f994f98af986f9bdf953f9e8f84af9a9f979f984f97ef9fcf92cf9bcf9e9f991f975f9f6f9cef93af971f9d1f982f958f951f9c3f9b7f989f9acf9edf970f9a2f9c1f9b2f994f95bf991f947f94ff972f976f95df93cf933f95ef919f92bf94df962f9e6f8f7f894f936f9bff85ff954f943f957f958f950f981f935f9e2f884f955f9f0f862f912f940f824f93df925f98bf959f90df99af994f810f974f9a2f843f958f909f90cf9a0f831f9fdf886f959f92ef9dcf868f929f953f913f9a3f828f955f950f937f906f99bf8bcf835f9d9f9c1f83bf98af92df99af808f97ef95bf984f95ef9ccf820f921f94ff986f994f933f984f92bf9e8f8bef975f905f9a8f90df9ddf801f9e9f838f999f929f936f971f922f91cf9aef9f7f855f908f955f90bf9c6f81ff92af918f91df94af92cf9f7f817f94ef9a0f99df8c5f878f961f98ef8daf89ff959f9b6f87df9b5f906f9c4f8bcf920f9b3f8b4f864f948f907f9e0f829f926f9f4f87af9f6f925f916f97af97df9e1f826f93df91ef928f956f956f923f929f95af952f92ef966f985f959f919f91df933f911f930f932f92ff909f916f91df966f928f92bf9eaf80cf92ff923f9dff82cf9faf8f5f833f902f9ebf832f9f0f8e6f854f90bf9c1f8fcf8dff815f907f9a1f8c1f8f8f8dbf8eff80ef9cef8e6f8f8f805f9fbf808f9e0f8a3f8e5f8d4f8bdf8c4f8b2f818f9ddf812f9e4f862f9e7f8c3f8e4f830f996f8c2f8f3f84ef834f8aff89bf829f9a2f8aff814f90cf90ef949f916f9b1f8cdf8ecf8d7f8dff8c3f891f88cf8c2f8b2f805f9eaf842f914f925f9d0f80ef9fbf805f927f927f9c4f851f9f1f808f95df917f95bf9ecf827f92df9fbf8bff80af923f9d8f839f935f951f926f988f995f96af964f960f96cf91df93af93ef922f920f9f6f84df90df91bf957f94df949f974f958f933f970f936f960f951f934f954f94cf93ef951f97ff942f96cf960f949f96ef955f960f97ff94bf939f959f93bf956f962f96af953f962f953f96ff94ff950f93df940f942f937f930f92ff942f928f91ef94bf943f952f943f96ef950f950f935f947f936f92af943f938f935f929f946f94af954f93df948f95cf943f94ff964f948f947f929f933f947f938f955f93bf941f931f943f94ef95ff942f947f951f950f939f937f94cf926f940f936f95cf944f93df947f93df943f947f957f936f945f936f944f932f932f930f928f942f93df950f936f945f94af932f932f938f934f92ff932f93af93af932f932f949f93bf94df956f94af94ff93bf943f924f926f920f926f925f91cf927f91ef931f92ef938f934f93bf93af926f932f92af929f921f91ef915f91af920f91df92df92ef92df92df91df931f91cf929f920f920f91bf913f91bf90ff923f918f92cf926f92bf92bf921f925f911f919f90cf90cf904f90af90df90cf917f908f90af910f906f90bf900f90af9f8f802f9f5f8f4f8eef8edf8f4f8f3f8fef8f8f806f900f905f901f9fff8fdf8eef8f8f8f1f8f8f8f4f8f1f8faf8ecf8fef8f6f806f908f90cf909f90af904f9fff8fdf803f905f907f905f90ef906f910f90af90ef911f90ff911f90ef915f90ff90df909f906f907f901f90cf90bf915f914f91af913f914f912f911f915f909f917f913f90ff916f90df91af913f922f921f924f921f91ff91ef91df923f91bf91cf919f917f91ef91cf924f919f922f928f923f91ff923f92af924f91ff91ef91df922f91ff929f929f933f92df93af935f93af93ef93cf93bf935f93df938f936f937f937f937f931f938f937f934f93af93cf934f934f932f92af931f925f92af930f92cf931f92ef92ff930f938f935f935f939f92cf933f926f926f921f91cf920f922f923f926f936f92ef936f935f931f932f920f933f923f924f923f922f921f91df929f927f935f937f92bf932f933f92ff92ef933f91df925f923f927f91bf923f926f91af92df926f92cf92ff92af92ff927f92cf91ff920f91af921f91ff91af921f91ef928f91cf925f924f922f923f919f91af916f917f915f90df913f909f91cf912f917f91ff920f91df922f920f917f914f918f912f915f920f919f91ef91ef91af91df920f91bf923f91cf91ef90ef91af90cf910f918f910f918f91af911f918f90ff915f90cf909f909f90bf905f908f906f905f90bf906f911f908f917f90ff911f911f905f910f909f909f905f9fbf803f9faf801f901f90cf900f907f900f9f6f8f9f801f9f4f8fdf8f9f8faf8f5f8faf8f9f8fef8fbf8fbf801f902f9fcf80bf904f900f903f9f8f8faf804f9faf8fff805f902f901f9fff8fcf80cf906f90cf90cf910f908f9dff80cf903fa2bf96cf544f93cfdc0faf7f8cff995f77cf6eff6baf975fb29f64dfa10fa64f7fbf9e3f776f991f99cf87dfa67fa5ef716f964f801f886f801f848f96cf924f98af948f8a8f863f9def8ccf8f5f8baf8c7f886f88ef821f9d2f831f946f9bef8daf85af881f8bef879f818f9eaf846f8a9f8b9f8d0f81af9ddf828f908f98af8f5f870f877f8bef86cf8ccf8c0f88ff8e0f880f889f8c4f876f80ef9f5f81ff938f9bcf8f4f862f876f89af89df8dcf8b8f8e8f8c9f8b3f8b8f8d9f8d6f81ff909f918f91af9b8f8e4f89af8aef8b8f896f80af9d1f819f905f9fcf8fff8d9f8cff8ebf8e2f8edf8eff8f2f8fef8bef8c6f8d8f8d9f803f9fef836f913f9ebf80cf9cef802f9d3f8e4f80ef9f7f80ff912f9fdf80bf90ef9fcf825f909f913f927f924f919f905f904f906f9fff830f929f953f93bf93cf94ef925f934f911f919f91af912f90bf907f9edf803f900f9fcf826f9fff821f924f93af95bf93df93cf939f9f8f8fff824f923f91bf93bf91df914f903f927f947f937f93ff91df93ef916f917f90cf918f90bf913f922f90af92df92cf930f92ef93ff94bf93af93df933f934f95df960f94af930f962f927f949f968f961f955f970f972f958f92ff961f944f96cf951f943f94af913f96af960f97cf934f939f952f977f948f96cf931f935f92af932f9fcf82ff912f9f5f811f91ef930f937f93ef92ff939f938f92af93df929f911f9fef82af9fef810f929f925f91ef927f95df940f92ef918f92bf945f922f93cf95ff943f930f925f94cf949f934f949f97cf95cf953f94ff96df932f95bf93ff972f960f96cf94ef9a4f954f901f978f998f952f978f93af987f94cf9fef853f97df921f917f9a1f99bf960f934f978f907f913f939f95ef909f9e2f84cf985f93cf997f83cf957f9f3f84ef9b8f97af9bff83ff975f915f9daf862f99af91ef975f952f965f9faf871f9dcf987f90bf931f927f985f9a4f888f974f996f8eef807fa3cf954f950f993f987f976f939f95df9d1f8e9f8a3f927f943f913f97af8edf8dbf8fbf8dff82bf9a1f88bf91ef9f9f8e4f811f93bf9dbf883f983f967f9e6f8aef80ef977f806f9f9f86af903f959f834f8f6f843f98ef80bf988f9d7f8d9f81ef9a9f9faf8f7f785f9e4f824f99ff852f9bef867f89af85cf917f910f916f9fdf972f9b7f958f948fa42f8daf9e0f8c0f9b4f727f9f7f7aff84ff851fa1af96ef87ef9acf9f1f994f959f993fa50f968f8a1f9f2f9aef722f8a9f974f8f7f745f8a3f967f83bf96df981f9b8f80bf9a6f99cf991f955f83df9e3f8b0f8e0f8abf98bf89bf8a5f819f9a2f971f913f9f0f94af982f9def8baf9f6f7cef973f829f9cdf8d6f82df829f9cef8a7f810fa07f95ff964f93df962f985f9ecf9eaf857f995f8daf859f9bdf852f83cf937f945f833f995f9f7f94df961f99ef99ef814f9dff8bff9b8f8d2f85bf85cf94bf8f3f8a1f9c0f810f9e5f819f9d3f96ff94bf906fa32f98af978f949f9a2f8a1f869f9fef8e4f8f2f8f9f8d5f88af875f94df9d6f940f99af8d3f988f903f95ffa8ff996f9c1f87bf9aef91bf942f87ff94ef9f5f8cef8ecf8a9f74ff979f8eef8bdf89df920f8a9f973f99df9b4f990f960f9a1f93bf92af939f980f87ef913f8d8f8b3f85ef978f87af97df871f82ef9a5f9e7f87af88ef8eef83af951f9cdf865f92bf9aaf8c8f911f94ff940f95af9c6fa49f857f9d6f8dbf8bbf811f9b1f800f81af911f94ff973f89af84df924fa35f92bf9e9f9f8f862f83af95cfa1df960f89af965f917f973f90ef928f96df890f714f952f961f961f900fa51f83bf96ffad4f9a6f914fafef73ff9a2f7dff896f8ccf85ff7f3f9f8f7f0f8eef805fad1f9dbf911f85bf9bcf765f88ef81af947f811f9b0f8edf93cf979f8c6f95bf82ff9ddf876f9f3f63ff85bf848f9fff712f8aff80ef95ff815f8aaf8f3f933f77ff995f8bef9e5f973f888f8f8f887f8bef79df9e6f929f866f8e2f800f841f8c0f61df964f8e6f733f972fa5ff995f909f9fcf994f991f833f951f8ecf79af62ef8acf6ccf75af9dcf722f900f9aaf9b8f857f9e8f98ff9b4f815fabff897f783f8a7f969f82af81ff899f8d2f8f8f8abf96bf781f8b3f671f8ecf6f3f64cf89bf9dff9a6f887faf3f9c5fae0fa48f8dbfb5ff9f9f7dcf7e3f8fcf566f789f702f802fac3f7a3f9d4f933f9b6f932faa9f991f9b3f862f8c2f87bf81cf961f9e7f8b3f60cf754f98ef824f9b8f7a5f733f81ef94af81efab7f810f9e0f9eff9aef9c8f839f8baf891f72cf690f66cf787f8e4f8e4f8b7f87ef76df890f9baf93df997f83ff94cf9e2f725f877f900f8f8f60bf888f893f928f80ff9d2f8d7f955f8b3f915f955f995f8e9f9c8f935f98af82af7d0f6b5f8ddf728f86df78bf996f7d4f956f816fa61f98efa5bfae0f96cfaf0f76ff96ff8e2f6b0f7def6b7f7a1f8f9f80ff9b6f858f9cafac5f91df8a7f9a4f807f92ef8c3fa95f63af724f92bf930f84af978fa87f98cf8a4f9c5f9a9fa54f87cf9e7f800f8ecf7fbf6d0f755f711f893f7caf9b2f7e8f99bf88df907fb17fa9cf902f914faf1f72ff703f7a7f974f61df7cef95cf865f857f967f945fa8bf9dcf895f8dbf714f754f74ff813f865f918f960faf3f71ffa9dfb48f830f9d2f950f80afaedf643f7a0f6a7f838f6fbfa0ef735f86cf851fb9bf9e9f8a7f79df8eef849f832f7fef8ebf880f88ffaa1f926f751f9e4f70ff8e4f85ef744f9a9f7b5f7aef7dbf8f0f6dbf86bf702f8d0f7daf809f875f817f8acf823f8e4f77ef830f97ef62ef7c8f866f833f7f7f671f779f972f88cf8cef879fa13f598f7bff6def8f1f4d8f8d4f79df96cf8d2f7b2f842f913f78df8e3f744f8c8f79ff80af766f749f769f82ff8c9f845f993fad8f88ef921f7e3fa49f6b1f5adf7bef604f709f68af762f5b5f82ff741f9f3f688f9ddf9a8fa51f96cf938f811f6bef713f6f4f59df60cf60af662f676f79ff8caf9e2f74cf989f9ecf62cf8f3f814fa0bf84cf772f536f7c9f59cf7a9f8b0f7bcf63ff7d5f71cf8a3f84ef993f9aef8ebf809f9b5f80ef915f811f968f565f87af64bf71df5e3f7f3f5b5f6cdf5acf791fa68fa88f8e6fbd4f7fdfb2df7c1fa3df769f75ef6c4f6e2f4d1f444f74ff6a4f71df841f89cf92cf957f9aaf9f3f94ff830f8f5f76ff8f6f623f893f797f531f7b2f770f7d0f70ff939f85bf7a1f84bf7acf794f8b8f879f976f879f8c0f9b3f82df973f81ef954f801f8c6f6b2f701f658f7aff788f7b9f7b6f71efa45f9f0f8e0f8bafa86fa02fafbf972f80bf765f431f870f7e7f733f82df6e0f61df675fb50f92dfa46f7eafa74fb12f87af900f775f614f8fdf719f771f7d6f5edf65ef917f7fdf8dafaeaf7ccf9c9f849f974f7a9f896f63cf7fef5c9f79ff83df85ef714f99df96df7a2f9f4f835f712f8b9f7abf71df82af917f84af9d7f708f916f9c5f82bf72df8e8f688f823f7eef773f8caf74ef816f755faa0f777f888f97cf9b8f97cf964fad9f74df73cf730f713f842f63af9bbf727f83ff8c0f81dfa28f8dff88cf9f1f6c3f70df83dfaadf7aaf8d1f864f939f79bf8bcf744f8ddf760f986f65bf8bef832f94ff881f7eef5c8f742f988f8abf869f6f4f868f693f847f65cf70cf8f5f921f8caf788f7faf85ef9c8f8cef863f82cf8e7f874f781f891f591f8baf534f86cf86df7cbf770f86bf7bef9a1f698f8ecf8f7f8daf7e6f8d5f6bcf730f848f720f7d5f66df7b9f6aaf891f7cbf940f9f5f8c3f8baf82df808f9def6d6f717f7eef7d2f621f86bf66bf8fcf74ff9fff758f992f844f818f9bef769f71af8e4f67bf7ecf691f7f4f764f866f705f9a3f892f869f9ecf7d4f89ef758f89ef770f7e1f62af77df774f8cef86ef962f859f96bf80df9dcf748f8d3f648f784f7dbf69df801f70df942f8d0f85bf96af9d5f84cf8f0f8bbf6edf66ef70af709f874f891f870f8bbf8aaf779f8b8f80df860f90af854f765f891f853f81df717f8ecf712f9dff70cf911f951f84cf930f8cff740f902f7d7f792f7d9f740f7def8c6f7aff8ebf8a4f864f88cf87bf995f8b8f8acf752f8bff6aef878f778f85ff80bf8bdf7a7f871f807f9d7f942f9bbf894f815f821f87ff7d1f6f5f827f712f995f7c3f868f82ffafbf92af93df843f76df852f652f88ef735f7e5f73df7cff8e6f712f95ffa1ffaebf9d1f852f97af788f923f835f72cf71cf7bef8c3f825f9cef753f98cf8ddf930f989f7aef814f979f873f8b8f7ccf751f7ccf893f79cf880f7b5f9e5f8eef817f9c5f955f903f9a0f839f852f914f86cf82ef854f73ef8f5f797f861f820f9c2f890f82ef97af828f86ef8c2f712f8dff705f91df81df8aef76df809f936f9d9f8caf840f886f79ef815f8d5f7cff703f8a4f80df8e4f9acf816f97df800f918f936f934f8a7f812f84cf702f80ff8c3f7f1f730f8eaf7bef8ecf8d8f946f925f983f8e8f864f793f8fff726f8f3f7baf76df8cef7f8f7e2f8eef8c3f863f82df91df8bff85ef8a0f8e7f789f79ff83df885f87cf8dcf80af929f89af858f884f891f865f82ef830f862f898f893f8bff845f9c1f80ef9a7f88cf8d7f897f826f9e6f80bf854f808f839f809f8cff862f8caf878f8fff8daf8b7f8caf87cf894f83af866f850f84af8a2f899f830f881f86df8bcf8b5f8e5f8b0f89ef888f896f8caf8a2f8c5f890f88cf8a2f8b7f8c2f8acf83bf84ef8adf8a5f819f87cf8f3f7bdf8baf8f1f887f8dff8cef89cf8a6f888f8a4f839f87cf840f879f82ff8e3f89df845f899f8bff8c5f896f8a1f87ef82cf872f829f837f877f836f899f847f8a9f86ff8ecf83df8b4f8a6f852f8d6f8bff8bbf801f882f834f85ef88bf864f872f893f856f831f9c8f8f5f848f8dff822f8f6f858f8f4f815f886f872f881f829f89ff8a7f810f923f926f9faf8e4f8a7f802f9a3f8c2f893f879f864f86af8a9f8ecf8f0f8c3f814f9daf8eff815f936f9ddf8aaf8b9f8b1f8b7f8c8f8bcf8f0f8c1f81df933f9f6f8d1f8f6f8bff8c0f80ff9fff8c5f8d2f8e5f8c0f8e6f88ef89bf890f892f8e1f8dff855f9f6f813f9e4f8c5f801f9aaf8f4f8aaf8b3f899f883f8abf8baf89bf8c2f8faf8f8f80bf9e0f8d7f8d9f8b9f8edf8e8f8c0f8e7f8baf8e0f8d7f8d7f826f91df91df9fcf82cf9c7f805f9c3f8f1f8a3f8b3f8abf8d1f8f0f8e7f803f924f919f916f912f9f7f8ebf8e0f8f7f8bcf808f9c4f802f9daf8ecf805f922f9fff840f9edf800f915f9ddf83df9e6f8fcf8ddf8c9f8dcf8cbf804f9e3f82ef9e9f812f9edf800f906f9fff8ebf8cef89ff8b4f8a6f8caf8c6f8e4f8dbf8f3f8cdf8e1f8eff8d4f8fdf8bdf8d2f8b7f89af8b8f8c3f8d7f8d0f8dbf8cef8d3f8e1f8cff8e2f8c5f8d0f8aff8b8f8aef8bcf8caf8c8f8dbf8d1f8def8d8f8d5f8def8cdf8d2f8caf8c6f8b1f8b7f8b1f8b6f8baf8b7f8c8f8c1f8c5f8d1f8bff8c7f8c0f8bff8bbf8bcf8aef8b9f8aaf8b1f8a5f8a1f89bf8a6f898f8a1f89cf899f8a8f899f8abf8a2f8bef8baf8c6f8bff8c6f8c2f8bff8c1f8b4f8baf89ef8a8f896f89cf890f898f896f892f8a4f89bf8aef8aaf8b1f8b1f8b2f8b7f8abf8b1f8a4f8acf89cf8a7f89df89af8a9f8a1f8b1f8abf8b0f8aff8b4f8b3f8acf8b0f8a9f8a9f8a2f8a3f8a3f8a1f8aef8aaf8b5f8b8f8bef8b9f8c3f8bff8c2f8c8f8c0f8c6f8c5f8bff8b2f8baf8b2f8b3f8bcf8baf8c8f8c3f8c7f8c9f8caf8d0f8cbf8cef8d0f8d2f8cff8d4f8c6f8cdf8cff8caf8e4f8c6f8d6f8bdf8d4f8b9f8cbf8cbf8d6f8d5f8ecf8dff8fcf8dff8edf8eef8ebf8f0f8ebf8fbf8f0f8e4f8f0f8dcf8f3f8e5f8ebf8f0f8faf8f1f8fbf8f8f8fdf800f90bf904f915f90ef90ef917f9faf804f9fef800f9eff8f5f8eef8f0f8e3f8e8f8f9f8e5f8f0f8f3f8f0f8e7f8f4f8f7f807f901f903f90cf90cf909f919f90df914f913f90bf916f905f916f9fdf8f9f8fef8f2f800f9fdf80ef901f921f91af931f920f932f932f92ef932f924f925f919f919f90af917f90ff917f915f90cf914f910f91bf910f917f916f91bf91ff921f91ff938f938f940f948f937f948f935f936f923f92cf90cf91af90af90cf908f90af91af90ff928f922f932f92cf929f92ef925f91ef918f915f90ff912f9fef807f900f9fff810f908f90bf90df901f90bf9f9f808f9f9f8fcf8f2f8f7f8f1f8f0f8eaf8edf8edf8eff8eef8f0f8ebf8f0f8f3f8ecf8f0f8f3f8e9f8f1f8e3f8f4f8e6f8e7f8ebf8e5f8eef8edf8ebf8f2f8f1f8eaf8f6f8f0f8f1f8faf8e7f8f1f8e8f8edf8edf8edf8f1f8edf8e3f8ebf8d3f8d9f8d4f8d9f8dbf8d8f8e1f8d8f8e8f8ddf8f1f8e9f8f0f8f7f8e5f8edf8e7f8e5f8daf8daf8d2f8d8f8def8ddf8eff8e2f8f6f8f3f8eaf8f2f8e7f8f3f8e3f8ebf8e1f8dff8ddf8d7f8def8ddf8e7f8e7f8f2f8eef8f6f8eff8ecf8ecf8ebf8eaf8e8f8e8f8e7f8e6f8e4f8e5f8ebf8e8f8e9f8eef8e8f8eaf8e0f8e4f8def8e2f8edf8edf8faf8f0f8fbf8f4f8fbf8ecf8f9f8f7f8f8f8f8f805f9fbf817f9fdf81df91cf928f925f92bf92cf92af923f92cf92cf926f928f927f924f92cf922f936f92df937f928f93ff930f93ef93df93cf949f942f947f946f948f944f943f945f94df952f951f955f94af951f946f94cf94df94bf94ff946f942f94bf940f949f942f94df94df94df94bf94bf94df949f949f94df949f953f94df950f948f954f951f955f95cf94ff95af944f95af932f943f93cf945f950f943f94ff948f94ef94ef955f95ff95ef95df95bf95cf957f95ff94cf957f955f954f961f954f95ff960f95af964f960f96af968f968f968f961f961f95ff969f968f973f96df978f973f96cf96df95ef968f95bf95cf95bf95df95bf95af95af959f961f961f95ff963f95af95df95ef95bf956f954f95bf95af957f95cf94bf952f94df945f94ff94bf944f94af93bf93ef93cf936f947f940f952f950f94ff953f956f954f957f956f94ff955f94df950f947f94bf946f94bf951f94cf949f949f946f94ef948f94af949f943f94bf948f942f947f943f945f945f93ef944f942f941f944f947f94af944f946f948f945f940f943f940f941f945f942f93bf93df93ef939f940f944f93cf943f93bf941f93bf938f93ef93af93ef93ef960f942f9cffe41fa7efa5ff13ef9dbf998fcf8e9cf019eefb3fe74fbde01a6f5f8fa75f904fac4f84af44ff85ef8b2f415f81df6d9f7c6faabfaf9fa1afb12fa9dfb74fad8f656fa2cf61cf773f8e5f773f83ff8cff932fa45fafbf98ffa7efabef87af954f869f836f832f8e4f8d7f819f911f96ef932f9d8f923fa79f9b3f9d4f829f96bf882f8e4f8acf815f9eef830f9fff828f954f962f96cf93cf93ef9b3f805f9aff8abf8e1f8d9f8f7f8d5f838f92ef996f985f952f95af9daf8fcf8c5f8e3f8faf8c3f82ff9eaf8fcf804f934f950f992f972f971f983f919f955f904f9dcf8e5f8d7f81af9fcf84ff923f92bf930f964f925f94ef974f955f959f964f93bf922f9f6f835f91bf916f9f5f81ef9eef852f9d9f83cf90cf921f917f94cf9eaf83ef9d7f80ef929f931f916f91ef9e9f814f9fef804f9cbf8acf8a5f88bf8e2f8d0f8dff8c6f8e6f8bcf8b7f87ff818f9e7f8adf8fcf884f877f87df895f8a0f816f87ff8acf995f8a6f963f9daf9f1f940f9c4f823f82df991f88ef8c1f89ef85df892f8e8f854f8ddf94ef99af96ff9def848f9f6f817f940f92ff90df93bf9eef8f8f807f93bf90ff928f906f922f923f943f9ecf831f9ecf82df900f9b2f8e2f89ef8b2f8a9f8c2f883f835f9b4f8bbf895f80bf999f81bf9ddf8baf8f4f87af869f875f840f890f80cf8e2f834f881f8b5f895f86ef8b8f823f8bdf84ef802f857f8fcf710f8bff7a0f7e2f743f858f8aaf869f746f85df83ff88ff8c8f869f82ef9bef82ff9b9f7b6f89ff76af855f82cf822f8c3f837f9b8f876f8fff8d3f866f904f945f9b5f77ef8d0f7f5f701f8cdf85ef823f9a3f844f838f8ecf83af877f81bf830f885f85ef8ccf7fbf78af880f8c2f902f873f90ffa8df988f9bcf84bf860f843f807f81af719f835f7f2f8b7f7b6f90bf813f93ff85ef974f837faa1f89df8c1f84cf9eef8fcf8faf79ef8b5f882f843f801f8eaf832f8e3f755f8d5f8f6f8dcf992f91bf976fae0fa99faa0f9aef9a6fa56f8c5f825f7c9f7c2f899f72ff90ff96df8c5f8b9f9def8fcf86cf9e5f8f7f802f72df96df7c9f7a8f705f821f8acf828f9f8f8f4f82cfa90f9bdf951f7fbf8b4f753f84ef721f707f7d5f8eef7fdf740f9b1f839fa51faa6f965fa72f84df916f8b9f72bf7abf716f8c2f7f3f7f8f769f94bf816f9f3f80cf986f9cff90df9a6f868f983f8bef974f915f9e3f8a0f869f873f95cf82df910f999f8bbf8acf882f9e5f9b2f81ef9dbf853f93bf8c8f8bcf99af909f978f812f8c9f814f91df927f835f8e4f80cf9e2f890f87df756f8adf96af84ef949f8a8f825f8d9f797f706f878f7c4f8ddf7cef7c4f8daf84ef895f728f881f8b3f86df91ef8c9f667f7d8f788f843f9a6f780f97ff927f861f928f962f9bef8f4f71df803f879f6b6f736f87cf849f93ff9f6f9fbf8a7f9e8f9a0f91dfaa6f949f99af70cf94ef751f756f8fff6fef85ef8f2f8eef85af90ef8c8f9f5f81efa3bf8f6f8dcf7d3f8daf6f6f841f778f9cff7b6f8b2f96bfafaf8e7f8ebf7acf897f815f99af85ff739f91cf8f3f8fcf844f8d1f7e6f7ecf85cf831f81cf867f8c4f752f82cf80cf8e9f7ccf8ccf762f829f8bcf8b3f857f858f80df935f85cf97af8f6f613f9aff71ff95ff807f71ef8f3f8e5f744f752facdf7c8f85af805f964f8f0f76ef928f71af843f744f776f8a1f888f712f9cbf954f8d8f928f965f9d6f89ff794f849f702f878f711f864f779f8ccf74ef877f9c1f716fa47f93af947f85cf7c8f814f8daf756f73ff625f78cf8e2f707f8caf9c3f7d0f847f973f8c7f996f806f9e8f670f76cf784f7d2f603f72cf9ccf70ef886f77ff723f98ef8f2f990f8bbf6daf8dff81cf922f741f8c0f7d6f8c6f856f9b7f8e2f888f9b6f8c2f6b2f7d2f71ef799f89bf7ccf85bf74ef76bf9c2f82ef996f9d6f8f1f804fa7af8e2f7a1f96cf753f84ff74af642f8e8f7d2f86bf875f957f917f900f849f9bbf7daf72bf87df856f822f801f80cf9bbf6ccf77bf8b4f902fabef9fcf7c6f71ff894f63af700faa2f84df802f8c8f7e0f6caf7cbf936f8cbf9f8f699f8eef761f711f91cf92df7d8f834f828f82af93cf844f8fff9c2f7aaf868f93bf785f81ef8fff767f73bf901f893f98ff95ff7c6f7dff777f8e9f706f807f819f91ef8c4f840f930f85bf8abf8c4fa03fa67f8def902f7a4f75af7a3f7a0f748f97bf8f2f8dcf832f8e1f84cf87af9ebf6bcf97bf80df7a1f86df780f899f8d6f78af868f605f9a2fa93f59df7cdf855f8fcf799f64ff8b3f8c2f833f938f9dff77afadaf61af9e8f92df6b2f735f9a5f5abf7eff8c6f7eef751f7b8f719f84ef8f8f88cf99cf69bf7f8f773f77bf8edf67bf8f8f80cf852f766f9b8f8b8f7b8f752f994f81ef89bf8dff713faa2f724f878f8b9f88cf7dcf97cf869f757f803f8ecf7cbf740f8f3f8baf9b4f648f83df819f943f7a5f81cf96af917f872f76af781f8b2f7a7f899f754f7a8f7dbf894f72df87ff858f8f1f93df75ef8a8f696f606f71df76ff8dff631f8fff722f858f823f9d2fa5df95ef7e7f872f70ff796f644f76af86ef891f5fff86df892f856f784faa6f95cf933f826f808f964f95ef8edf60df897f7a6f6edf80ef91cf76ef868f962f966f972f85af814fa83f728f979f854f8d4f7faf872f839f8f5f83df885f965f927f971f9eef653f940f8bdf756f759f8e0f8cbf979f830f8b4f8d6f957f86cf95ef926f936f866f9e1f796f8dcf75bf8e4f7edf8a2f858f87af9e1f757f76ff93cf97df823f8d8f93df9caf988f8bbf736f87ff882f882f838f870f9fef7d6f8d7f7eef873f893f95cf868f8a4f868f742f96bf900f8e6f866f898f8e6f92ff984f928f905f9b0f888f72ef76ff995f8b3f80ff885f90dfa3cf797f771f94bf9abf81af9f2f809f824f7abf868f95ef991f9bff88ffa60f90bf962f830f842f8c3f82ef96ff8a9f817f981f8fef843f84af964fa48f861f99af851f8c2f77af822f778f842f81bf883f742f82cf99af8e4f8d2f829f964f999f7dbf971f8bef73cf881f8b6f7e3f706facdf9cbf83cf9ecf862fae1fa08fb8cf98ff9aaf8c5f9c0f7a4f8acf8bff985faf8f707f8cef853f948fa0ffa60f924f992f948fa48fa41fa7af9bffabff842f957f91af9a3f85dfa0cf9f4f76ef8bbf9a0fa05f92ff800fad4f82cfad8f89df8a7f978f806f992f997f8d4f965f9b2f9e3f98ff98cf873f9c1f956fa61fa51f8d0f9a8f8e6f7a4f81ffa16f955f9f8f8baf8c0fa5cf9b4f7ecf8acf844f965f868f910f955f834f98bf9cff9e3f8dbf87af8a0f83efa0af95cf944fa1afa88f884f921f861f851f97bf87efa00faeef826f9f8f8b2f91dfa01fac0fabcf9a8f834f813f8baf976f8a1f86df880f8c5f867f937f931f8a4f856f902f97ff8d7f96bf8adf737f81afae6f8f5f97cf96df885f818f997f943f8d1f706f8d2f843f7e2f629f9a1f977f881f9dcf90af9e9f867fafbfa0cf90ef7e3f92cf930f893f951f90bf996f9f7f895f9c4f97bf8a1f9a0fa86f824f9fef85bf856f916f811fa04f816f9f1f8f8faf3f724f92bf993fa11faaef9a7f8c3f948f908f9fef976f848f8bef9fff81ff9a0f8f5f9b5fab9f7aff88ffa3cfaf0f99dfa83f856f977f64af892fac9f915f930f9ddf721f95dfaf0f9d6fa3bfa25fafefa64f834f89cf914f936f9dcf8b3f780f808f920f9a3f906f82bf93bfad8f915f9c8f927f846fa9cf99ef91df99ef8a8f937fa20f864f90dfa0af95dfa13f969f89ff872f87ef992f953f97df8bdf9bdf8a3f8e5f92ff920fa52f92ef8acf9cbfaa4f833f90ffbe3f8aaf8dafa1cf99af991f844f982f9f4f8acf807faf3f8f7f76efa57fa6bfa3df922fafbfa41f803f995f94cf933f795f827f95ff902f9def8d4f9a8f83ef9c2fab7f957f9e8f9ddf96ef82af9a3f89bf896fa86f9e0f9b6f9f6f801f823fabafa59fa8df9ecf8dbf88af88cf858f867f90cf9a5f820f9f3f85df962f990f9d8fa33f950f8d3f84cf96bf84af957f8e8f803f904f95df90ffa3bfa7af9bbf9c7faabf980f828f9b7f86bf8e9f808f9caf812fac8f823fa66fa0bfa95f903fa20facdf9f0f916f9a1f8a3f82ff94bf930f92df974f908f9c1f949fa77f9ebf801f9fef801f98cf94ef9c5f81df9faf975f948f91dfa7ef82af900fa74f9acf9d9f9fcf740f9d7f88df898f8f0f803fa34f914f9c1f955f913f930fa96f945f901f956f96bf9caf8a9f81bf93df909f946f985fadbf98ff9e9f9e4f98bf9dbf83bf905f9fdf800f90ef974f9c8f81efa9cf9eef922fa35fafcf976f9def9fdf80ff915f848f92ef901f96bf9b7f82cfa8cf97af914fab0faf5f941f9f7f907fa78f9c9f8acf9b7f8eef790f8d0f8bcf927f9d7f9d9f986f94bf9c2f9e7f93cf9c0f90bf98cf9dcf8c1f8dff8f4f86af953f9b6f917f9fcf85bf920f971f9c7f85af9adf868f8baf844f959f930f977fad8f993f950f911fa37fad8f8f4f8e7f9def8a3f806f9faf804f9f0f814f9fdf955f997f9aaf970f922f936f9f1f978f90df987f934f9e3f86df99bf943f9baf96ff9b1f993f93ef969f977f957f946f94ff90ef914f9b1f990f99cf9aaf9e3f98af9dcf987f95ef970f90af9c2f90af9d1f880f96af9adf834f9bff9b3f97df944fa98f978f931f909fab1f966f964f910f904f9eaf872f9a7f937f939f969f9ccf981f94bf978f9e9f91bf96ff999f93af95cf95ef9aff970f990f931f9cef9cbf9b9f9e9f9c8f9e9f979f98cf952f961f928f974f91df93ef9b3f972f9cdf9d8f97ef968f993f9a2f999f990f96ff998f94cf96bf963f99cf95cf98bf98df982f94df992f93df946f95af91af928f926f977f957f98bf9a6f97ff984f95cf98df99df98bf9faf856f9f9f8cff82af90ff920f905f95ff994f9c2f997f994f9c3f9a6f9a9f977f953f95bf96bf939f942f953f93bf98ff981f9aaf9bef984f9a7f9c2f9c9f977f990f9a9f999f9c0f99af9a6f9bff9e0f9ddf9e0f9d2f9d5f905fa96f9e6f9abf99bf9b3f98cf9b8f9aef9a2f9bef9e6f9e6f9b8f9cbf9bbf9a4f987f9a1f991f96df997f98cf9acf987f9a1f998f9b5f9c3f98ef9e2f986f98af947f955f94ff93cf92df94ef975f949f967f967f982f981f9a8f99af975f950f944f96ff96ef93bf932f948f952f982f957f97cf994f96cf97df9b5f9a6f993f97ff972f9adf9b1f9a7f98ef9dff99ef9b7f9abf9a8f998f9b2f9b5f9a5f995f983f999f9b0f9bbf9d3f9c0f9dbf9c8f9d9f9dbf9c3f9e1f9cff9c1f9b3f9a6f98df9a6f9a1f999f9a8f996f9bff9a9f9baf9c4f9aff9b6f99ff9aaf989f999f979f98bf97bf97ef980f97df97ff98af98cf98cf990f983f980f98cf974f97ff961f966f96af967f97bf971f97ff979f982f97cf981f986f986f994f97bf981f963f96df96cf96cf97cf975f986f978f983f97af975f97cf962f967f95bf96bf964f961f95ff96ef969f970f978f96df975f971f95bf96ff943f955f939f944f93cf93cf94ef943f959f94df95df961f957f961f958f967f956f954f93ef943f92df92bf929f930f94bf942f94df948f945f949f93cf951f945f946f938f939f931f930f935f932f93cf936f94bf940f94af94af947f942f93bf93bf92ef936f934f937f941f93bf94df943f954f94df952f950f94af94ef93ff94df936f939f938f928f93df939f94cf94ff963f951f95cf953f945f953f93cf952f943f941f941f93bf94af94df949f947f95bf947f944f93df935f939f91ef915f911f93af927f929f943f942f95df944f950f96bf955f960f949f93ff93bf93cf922f927f941f934f967f959f968f965f934f95df944f96ff966f929f93df922f942f92ef956f957f96ff951f94af955f94ff953f93ff94ff935f937f91ef92bf935f938f94af942f956f946f958f952f954f95df954f954f93ef946f939f938f933f935f93bf935f92af935f91cf921f926f91ef929f92df926f926f91cf92bf90bf915f91ff91ff9e6f8f1f838f906f926f94cf915f91df923f92cf91cf9fbf80ff920f924f913f95ff944f907f91af926f924f902f91cf944f92df92af949f935f922f90ff955f912f9f6f825f923f938f930f953f93ff929f957f921f94af930f945f93ef92ff926f93cf91ef93cf91ff917f92df91ff91ff92bf94ef945f944f952f904f91ff910f918f91cf904f92df91af911f916f91af921f905f9f9f807f90ef91af909f92ff91af922f91af900f904f9f6f803f910f9f1f821f912f928f927f935f932f925f92ff906f91ef916f90ef9f8f8f0f8f1f8ecf8d6f8e6f8f7f8dcf8fef8f6f8eef8f5f8eaf8f0f8ddf8e4f8ccf8d1f8d5f8cdf8d5f8d4f8d9f8d4f8e0f8dff8d8f8dcf8d8f8d3f8c3f8caf8b1f8bbf8b4f8b9f8abf8a8f8b5f8b3f8bbf8bbf8c4f8bff8bff8c4f8aaf8bbf8b2f8b0f8aaf8aaf8a3f8a4f89af89af8a2f899f8a8f8a5f8a6f8aaf8a5f8adf8a8f8abf8a7f89ef89cf8a2f890f89bf8a2f89ef8b0f8abf89df89ef89ff89cf8a7f896f8acf8b1f8b2f8abf8c3f8bef8bbf8c6f800

最後の行が音声データで、この長い行をコピーして、バイナリファイルに保存するとWAVファイルになります。

検証では、上記のツールを利用させていただき、入力をHEXにして、出力をファイルダウンロードにして、拡張子を.wavなどに変換することで再生することが可能です。

まとめ

とりあえず、録音の基礎部分のみ検証できました。このままだと音が小さすぎるので4バイト分シフトしたほうが良さそうですが、音量はあとで操作できるのでもう少し便利に使えないか検証してみます。

オンメモリの制約で100Kまでしか録音できないのと、ボタンを押したときのノイズがまだ残っているので、そのへんを今後調整したいと思います。

コメントする

メールアドレスが公開されることはありません。

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)