diff --git a/README.md b/README.md
index ca5823c..2e7a7f8 100644
--- a/README.md
+++ b/README.md
@@ -107,6 +107,16 @@ sudo umount fat12/  # unmount the filesystem
 While CircuitPython does not typically use a writeable filesystem, note that this functionality is unavailable (see MicroPython filesystem
 support section for more details).
 
+### Dual RP2040 demo
+```
+npm install
+npm run start:dual-mcu
+```
+
+This fires up two instances of rp2040js including some glue code that connects the GPIOs 2-10 in an open collector/pull up bus fashion.
+It will write a VCD trace of bus signals to the file `dual-mcu-bus-trace.vcd` including a virtual signal indicating conflicts on the bus.
+The demo programs on the two RP2040s pull a single line low each (MCU0: D0 then D1 then ... then D7, MCU1 in the opposite direction).
+
 ## Learn more
 
 - [Live-coding stream playlist](https://www.youtube.com/playlist?list=PLLomdjsHtJTxT-vdJHwa3z62dFXZnzYBm)
diff --git a/demo/dual-mcu.ts b/demo/dual-mcu.ts
new file mode 100644
index 0000000..949b9cf
--- /dev/null
+++ b/demo/dual-mcu.ts
@@ -0,0 +1,115 @@
+import * as fs from 'fs';
+import { RP2040 } from '../src';
+import { GPIOPinState } from '../src/gpio-pin';
+import { bootromB1 } from './bootrom';
+import { loadHex } from './intelhex';
+
+const hex1 = fs.readFileSync('demo/dual-mcu/dual-mcu-0.hex', 'utf-8');
+const hex2 = fs.readFileSync('demo/dual-mcu/dual-mcu-1.hex', 'utf-8');
+const mcu1 = new RP2040();
+const mcu2 = new RP2040();
+mcu1.loadBootrom(bootromB1);
+mcu2.loadBootrom(bootromB1);
+loadHex(hex1, mcu1.flash, 0x10000000);
+loadHex(hex2, mcu2.flash, 0x10000000);
+
+mcu1.uart[0].onByte = (value) => {
+  process.stdout.write(new Uint8Array([value]));
+};
+
+mcu2.uart[0].onByte = (value) => {
+  process.stdout.write(new Uint8Array([value]));
+};
+
+// GPIOPinState: { Low, High, Input, InputPullUp, InputPullDown }
+
+const pin_state: number[][] = [
+  [0, 0, 0, 0, 0, 0, 0], // result value
+  [3, 3, 3, 3, 3, 3, 3], // input from mcu1 (pullup initially)
+  [3, 3, 3, 3, 3, 3, 3], // input from mcu2 (pullup initially)
+];
+const pin_gpio: number[] = [2, 3, 4, 5, 6, 7, 8, 9];
+const pin_label: string[] = ['d0', 'd1', 'd2', 'd3', 'd4', 'd5', 'd6', 'd7'];
+const vcd_file = fs.createWriteStream('dual-mcu-bus-trace.vcd', {});
+let last_conflict_cycle: number = -1;
+
+// This listener connects the two MCUs and writes a VCD signal trace file.
+// This code assumes pullups enabled (open collector/pullup bus).
+function pinListener(mcu_id: number, pin: number) {
+  return (state: GPIOPinState, oldState: GPIOPinState) => {
+    pin_state[mcu_id + 1][pin] = state;
+    const v: number = pin_state[0 + 1][pin] === 0 || pin_state[1 + 1][pin] === 0 ? 0 : 1;
+    mcu1.gpio[pin_gpio[pin]].setInputValue(v == 1 ? true : false);
+    mcu2.gpio[pin_gpio[pin]].setInputValue(v == 1 ? true : false);
+
+    // write signal to VCD file
+    const pin_vcd_id = String.fromCharCode(pin + 34);
+    if (pin_state[0][pin] !== v) {
+      pin_state[0][pin] = v;
+      vcd_file.write(`#${mcu1.core.cycles} ${v}${pin_vcd_id}\n`);
+    }
+
+    // write conflict flag to VCD file
+    const conflict: boolean =
+      (pin_state[0 + 1][pin] === 0 && pin_state[1 + 1][pin] === 1) ||
+      (pin_state[0 + 1][pin] === 1 && pin_state[1 + 1][pin] === 0);
+    if (conflict)
+      console.log(
+        `Conflict on pin ${pin_label[pin]} at cycle ${mcu1.core.cycles} (${pin_state[0 + 1][pin]}/${
+          pin_state[1 + 1][pin]
+        })`
+      );
+    const have_new_conflict = conflict && last_conflict_cycle === -1;
+    const conflict_recently_resolved = !conflict && last_conflict_cycle !== -1;
+    if (conflict_recently_resolved && mcu1.core.cycles === last_conflict_cycle) {
+      // one mcu set conflict and other resolved in same cycle:
+      // delay until next signal change so that the conflict signal is visible in VCD
+      return;
+    }
+    const write_conflict_flag: boolean = have_new_conflict || conflict_recently_resolved;
+    if (write_conflict_flag) {
+      vcd_file.write(`#${mcu1.core.cycles} ${conflict ? 1 : 0}!\n`);
+    }
+    last_conflict_cycle = conflict ? mcu1.core.cycles : -1;
+  };
+}
+
+for (let i = 0; i < pin_label.length; i++) {
+  mcu1.gpio[pin_gpio[i]].addListener(pinListener(0, i));
+  mcu2.gpio[pin_gpio[i]].addListener(pinListener(1, i));
+}
+
+mcu1.core.PC = 0x10000000;
+mcu2.core.PC = 0x10000000;
+
+// write VCD file header
+vcd_file.write('$timescale 1ns $end\n');
+vcd_file.write('$scope module logic $end\n');
+vcd_file.write(`$var wire 1 ! bus_conflict $end\n`);
+for (let pin = 0; pin < pin_label.length; pin++) {
+  const pin_vcd_id = String.fromCharCode(pin + 34);
+  vcd_file.write(`$var wire 1 ${pin_vcd_id} ${pin_label[pin]} $end\n`);
+}
+vcd_file.write('$upscope $end\n');
+vcd_file.write('$enddefinitions $end\n');
+
+function run_mcus() {
+  let cycles_mcu2_behind = 0;
+  for (let i = 0; i < 100000; i++) {
+    if (mcu1.core.cycles % (1 << 25) === 0)
+      console.log(`clock: ${mcu1.core.cycles / 125000000} secs`);
+    // run mcu1 for one step, take note of how many cycles that took,
+    // then step mcu2 until it caught up.
+    let cycles = mcu1.core.cycles;
+    mcu1.step();
+    cycles_mcu2_behind += mcu1.core.cycles - cycles;
+    while (cycles_mcu2_behind > 0) {
+      cycles = mcu2.core.cycles;
+      mcu2.step();
+      cycles_mcu2_behind -= mcu2.core.cycles - cycles;
+    }
+  }
+  setTimeout(() => run_mcus(), 0);
+}
+
+run_mcus();
diff --git a/demo/dual-mcu/CMakeLists.txt b/demo/dual-mcu/CMakeLists.txt
new file mode 100644
index 0000000..b5cb3ca
--- /dev/null
+++ b/demo/dual-mcu/CMakeLists.txt
@@ -0,0 +1,42 @@
+cmake_minimum_required(VERSION 3.12)
+include(pico_sdk_import.cmake)
+
+project(dual-mcu C CXX ASM)
+set(CMAKE_C_STANDARD 11)
+set(CMAKE_CXX_STANDARD 17)
+
+pico_sdk_init()
+
+add_executable(dual-mcu-0
+        dual-mcu.c
+)
+
+add_executable(dual-mcu-1
+        dual-mcu.c
+)
+
+target_compile_options(dual-mcu-0 PRIVATE -Wall -DMCU0)
+target_compile_options(dual-mcu-1 PRIVATE -Wall -DMCU1)
+
+target_link_libraries(dual-mcu-0
+        hardware_pio
+        pico_stdlib
+        pico_util
+)
+
+target_link_libraries(dual-mcu-1
+        hardware_pio
+        pico_stdlib
+        pico_util
+)
+
+pico_enable_stdio_usb(dual-mcu-0 0)
+pico_enable_stdio_uart(dual-mcu-0 1)
+pico_enable_stdio_usb(dual-mcu-1 0)
+pico_enable_stdio_uart(dual-mcu-1 1)
+
+pico_generate_pio_header(dual-mcu-0 ${CMAKE_CURRENT_LIST_DIR}/dual-mcu.pio)
+pico_generate_pio_header(dual-mcu-1 ${CMAKE_CURRENT_LIST_DIR}/dual-mcu.pio)
+
+pico_add_extra_outputs(dual-mcu-0)
+pico_add_extra_outputs(dual-mcu-1)
diff --git a/demo/dual-mcu/dual-mcu-0.hex b/demo/dual-mcu/dual-mcu-0.hex
new file mode 100644
index 0000000..6e4a011
--- /dev/null
+++ b/demo/dual-mcu/dual-mcu-0.hex
@@ -0,0 +1,1293 @@
+:020000041000EA
+:1000000000B5324B212058609868022188439860DF
+:10001000D860186158612E4B002199600221596106
+:100020000121F02299502B49196001219960352056
+:1000300000F044F80222904214D00621196600F024
+:1000400034F8196E01211966002018661A6600F04E
+:100050002CF8196E196E196E052000F02FF8012189
+:100060000842F9D1002199601B49196000215960AB
+:100070001A491B48016001219960EB211966A021F2
+:10008000196600F012F800219960164914480160C1
+:100090000121996001BC002800D000471248134993
+:1000A000086003C880F30888084703B5996A0420EC
+:1000B0000142FBD001200142F8D103BD02B5186610
+:1000C0001866FFF7F2FF186E186E02BD00000240BE
+:1000D000000000180000070000035F00212200005C
+:1000E000F4000018222000A00001001008ED00E03C
+:1000F00000000000000000000000000074B24E7A12
+:1001000000200420F7010010C3010010C5010010F9
+:10011000C1010010C1010010C1010010C101001097
+:10012000C1010010C1010010C1010010C701001081
+:10013000C1010010C1010010C9010010CB01001065
+:10014000CD010010CD010010CD010010CD01001037
+:10015000CD010010CD010010CD010010CD01001027
+:10016000CD010010CD010010CD010010CD01001017
+:10017000CD010010CD010010CD010010CD01001007
+:10018000CD010010CD010010CD010010CD010010F7
+:10019000CD010010CD010010CD010010CD010010E7
+:1001A000CD010010CD010010CD010010CD010010D7
+:1001B000CD010010CD010010CD010010CD010010C7
+:1001C00000BE00BE00BE00BE00BE00BE00F051F882
+:1001D000103800BEF2EB8871E0020010040300103A
+:1001E0003402001090A31AE700202449086006C8D2
+:1001F00081F30888104722480068002835D10DA4F3
+:100200000ECC002902D000F012F8F9E71D491E4A71
+:10021000002000E001C19142FCD11C4988471C49E3
+:1002200088471C49884700BEFDE701C901C29A42C0
+:10023000FBD3704704030010C000002018490020C1
+:100240005C4B001020490020504E00208C500010C4
+:1002500000000420000004208C5000100010042036
+:10026000001004200000000070470B4800F018F850
+:100270000047EFF30580C0B27047000008ED00E0D2
+:10028000000000D0504E00202C520020C119002048
+:100290005D010020B51A0020575600000000000044
+:1002A00001B40248844601BC604700BF7535002098
+:1002B00006005250ABB360531C4D00200600525054
+:1002C000861C03022C4D0020060052505422A29D91
+:1002D000384D002005005250DE65F4688C50001047
+:1002E000D4020010C8020010BC020010E04C002034
+:1002F000B0020010EC4C0020F84C0020484D0020CB
+:04030000544D002038
+:10030400F8B5C0460448054B10B5834203D0044BEE
+:10031400002B00D0984710BD504E0020504E0020B6
+:100324000000000006480749091A8910CB0F591824
+:1003340010B5491003D0044B002B00D0984710BDD2
+:10034400504E0020504E00200000000010B5074C15
+:100354002378002B09D1FFF7D5FF054B002B02D0E2
+:10036400044800E000BF0123237010BD504F00205B
+:100374000000000018490020054B10B5002B03D0E5
+:100384000449054800E000BFFFF7CCFF10BDC0469C
+:1003940000000000544F002018490020F0B5DE464C
+:1003A400574645464E46E0B58BB004F027FB012185
+:1003B4003E4800F085F83E4982463C4800F09EF8ED
+:1003C400002380220593F82352025B0202920393D6
+:1003D400C02305001B03102202A906A8049304F0FD
+:1003E400C9F82B1DEA011B03134306A9102202A816
+:1003F400079304F0BFF82F4B0224059380231B03BB
+:1004040004932000062100F011FA200000220121AB
+:10041400013400F023FA0A2CF3D10023234C514673
+:10042400009302220833200000F0CCF82A00514641
+:1004340002AB200000F00AF953461F4A01259446F6
+:10044400FA225B005344DB00634452041A605146B1
+:100454002B008B4022682E00134323605346103335
+:100464009E40083B9D408B009A46144B00279B46B8
+:100474000121FF23B9404B40984663681E42FCD1DA
+:100484000A4A5244116163681D42FCD1136A0A206E
+:100494009946002100F030FE4B4642460021584662
+:1004A40004F0A0FA072301371F40E1E700002050C1
+:1004B400D849002002008100C8002050EC490020E7
+:1004C4000B4B10B59C46604444424441094AA40085
+:1004D40082B00092E31C2200074800F037F98442FE
+:1004E40002DC001B02B010BD01204042FAE7C04606
+:1004F4000000D0AF304A002024500020F8B5DE467A
+:10050400454657464E46E0B505000F0000F0E6F8B4
+:10051400294B8046E9184B425941284B3E799C4669
+:100524008B009B4663465A46985801230524B340E2
+:1005340020223C57013B921B002C2FDB944237DCDA
+:10054400A340184234D19946002E18D07B783A78CB
+:100554001B021A43BB781B041343FA7812061A438E
+:100564009246002351465A008F5A7A0B00D1E7195C
+:100574001A1912329200013357519E42F2D84B4657
+:100584005A46184363469850404600F0B3F820009A
+:100594003CBC90469946A246AB46F8BD002A07DB10
+:1005A40019009140140089460142CDD0013AF7D296
+:1005B400034801F0A1FBC0460000D0AF6C4F0020FF
+:1005C4001C4A0020F0B557464E464546DE468B464B
+:1005D4004900E0B50D0082465D44ED0055442F000E
+:1005E40009AC2678DC37741EA64189463968744202
+:1005F4008C4615491F26884626404644052B0ED9AD
+:10060400A020B8461F274005D8354146540104436D
+:100614000532053B0C603A402E60052BF5D859464F
+:100624004944C900514452019B0613430A0008007F
+:10063400DC3213606346D830066013603CBC9046DD
+:100644009946A246AB46F0BD80E00000F0B5012516
+:100654008D400468AC434D0004606C18E400041938
+:100664002600C836002B2AD01F68DC3437605F6848
+:1006740077609F68DB68B76023606D18ED002C001D
+:100684008023D03404195B012343802424061C6096
+:100694001C60114B0C1D8B40836001231F00A7407D
+:1006A4003C0008318B4006683443046004682343EB
+:1006B40003601F2340191A40D8300260F0BD802720
+:1006C4007F023760F8277F027760C027DC343F035E
+:1006D400B7602360D1E7C04601010101EFF3108048
+:1006E40072B6034A1368002BFCD0BFF35F8F7047C8
+:1006F4002C0100D0BFF35F8F0022024B1A6080F3FD
+:10070400108870472C0100D0F8B5EFF3108772B64B
+:100714000D4E3368002BFCD0BFF35F8F0725CB0849
+:10072400C01801230D40AB401D000478254007D1BB
+:1007340023430370BFF35F8F356087F31088F8BDE0
+:10074400100001F0D9FAC0462C0100D0F8B5CE460D
+:1007540047468C4680B5EFF3108872B6214D2C685D
+:10076400002CFCD0BFF35F8F9A422CD807210125BF
+:1007740011408D40D4080419267835421FD0072132
+:100784008946063909E04D460F001540AF40D408AC
+:10079400041926783D00374211D001329342F2D237
+:1007A40001204042BFF35F8F00220E4B1A6088F392
+:1007B400108800280FDB0CBC90469946F8BD3543E1
+:1007C40025701000EEE7BFF35F8F00232B6088F3E2
+:1007D4001088012040426346002BECD0089801F0B9
+:1007E4008BFAC0462C0100D0024B18688007C00F5A
+:1007F4007047C04600C006400021044B044ABFF3C2
+:100804005F8F02C39342FAD17047C046000100D003
+:10081400800100D0044A1078431CDBB2172B00D9A6
+:10082400102313707047C046884D0020094A830086
+:1008340094464022634410B51C68C0006240C02442
+:1008440014408022520113431C60034B9C466044B5
+:10085400416010BD04C00140004001400A4B8000CB
+:100864009C4604236044002901D00C230821002A5B
+:1008740000D10B00026853400C221A4080235B0114
+:10088400184302607047C04604C0014001238340FE
+:10089400002904D0034A1360034A13607047034AD3
+:1008A4001360FBE780E200E000E100E080E100E0AB
+:1008B400024B10309B688000C058704700ED00E088
+:1008C40070B50D00EFF3108672B60F4A1368002B53
+:1008D400FCD0BFF35F8F0D4B10309B6884001B5915
+:1008E4000B4A934203D09D4201D001F01DFA074BFD
+:1008F4009B681D51BFF35F8FBFF35F8F0022024BD4
+:100904001A6086F3108870BD240100D000ED00E069
+:10091400CD010010F0B54546DE4657464E46E0B5DB
+:100924000D0083B0EFF3108A72B65A4A1368002B95
+:10093400FCD0BFF35F8F1022914681444A46564B48
+:1009440096009B689C59554B98469C4205D0AC42F6
+:1009540016D0534FE31B2F2B14D94F4B9B689C513C
+:10096400BFF35F8FBFF35F8F00224A4B1A608AF395
+:10097400108803B03CBC90469946A246AB46F0BDF5
+:100984001C00EAE7012383409B465A46454B1B68FB
+:100994001A4000925A46444B1A60BFF35F8F04F02A
+:1009A400D3F80190002803D0814501D001F0BCF9AF
+:1009B4000123220006219A43936851569D420AD18D
+:1009C40052E04B005B1806219B00FB1898685956AF
+:1009D400A8420FD01A000029F3DA009B002B05D09F
+:1009E4005A46324B1A602F4B1A60B6E75A462E4BC2
+:1009F4001A60B2E7002921DB4A00501880003D1834
+:100A04008046A8689860E879D871062028569871BD
+:100A1400002826DBAD88F81A6D052D1545444019CC
+:100A2400E0250005400D2D02284398805218204BE4
+:100A34009200BF181A781970BA71CEE7019900298B
+:100A440018D1002A23D0FF3191711A499180184995
+:100A54000A789A71184ADB1B5B415A43120D0A70DB
+:100A6400BBE7BD200002E0E713000029C4DA019AC5
+:100A7400002A0CD0114A1249D21A083A5002400DE9
+:100A8400014399800F4952080A43DA80A5E7444696
+:100A9400DDE7C046240100D000ED00E0CD010010E8
+:100AA4008C4D002000E100E080E100E080E200E005
+:100AB4002650002000BDFFFFAAAA0000C64D00205A
+:100AC40000F0FFFF00F8FFFFF8B50125040005431F
+:100AD40004F03AF8EFF3108672B6214A1368002B3B
+:100AE400FCD0BFF35F8F1F4B1F4A2100C91A494135
+:100AF4004A43120D1D4980008F6852B23F58AF42DD
+:100B04001CD00621595691421CD0122159569142AB
+:100B140022D01E215956914220D02A215956032011
+:100B2400914210D0124B19781A70A171BFF35F8FE4
+:100B340000220B4B1A6086F31088F8BD8B680D49B0
+:100B44001950EFE700204100091889005B18FF21C4
+:100B5400997109499980E5E70120F4E70220F2E759
+:100B6400240100D08C4D0020AAAA000000ED00E072
+:100B740026500020CD01001000BDFFFF054B064AA2
+:100B84001360064A136053609360D360136153612A
+:100B9400936170478080808000E400E004E400E01A
+:100BA400024B9C4661448900016070474000003458
+:100BB40083680B4810B584466144624409011201FC
+:100BC4009A18591854684B6801209C4201D802D0E5
+:100BD4000020C0B210BD12680B689A42F9D8F7E73A
+:100BE400FFFFFF0F0A4B1968EFF3108072B60A6813
+:100BF400002AFCD0BFF35F8F1B68BFF35F8F002216
+:100C04001A6080F3108840BF002000217047C0465E
+:100C14000C500020F8B5454657464E46DE46E0B532
+:100C240014000DAA12781D000CAB92461B780268C2
+:100C340081469046002B13D1977B002F4AD0404623
+:100C44007E001268F619033E921951783B008173B5
+:100C5400002900D1C173002191705170117003E01B
+:100C64001F005E00F618033E2E4A94464A469268D8
+:100C7400634494461B010A9A63449A600B9A1C606D
+:100C84005D60DA60434600221B689B199A705A70B3
+:100C94001A7043465B7B9B46002B2BD043463A009D
+:100CA400986859465B6898475B4642465B005B44DC
+:100CB400033B1268002814D0D31896195A46B27010
+:100CC4001A78002A00D072701F705A4643465A732D
+:100CD400BB4511D038003CBC90469946A246AB4671
+:100CE400F8BDD31896199F703278002A00D05A7034
+:100CF4005B46337043465F734B462200187D2B00DE
+:100D040000F034FB041E07D05346002B04D14B469D
+:100D14003900186800F0A8FE0E9B002BDAD01C7076
+:100D2400D8E7C046FFFFFF0FF0B5DE4657464E46F4
+:100D340045460023E0B58DB00A936D4B8200D4582C
+:100D440000239B460B9000F0AFFA6268EFF3108526
+:100D540072B61368002BFCD0BFF35F8F23689C46E8
+:100D64005B7B9946002B00D16BE0A268614B9046F7
+:100D74004B441B01984443461E685F6832003B00A5
+:100D8400121A8B41002B65DD3B0032000B9800F0FA
+:100D9400EDFA0023002208920993002300279A46C3
+:100DA4006368BFF35F8F5A461A6085F31088534611
+:100DB400002B08D10028C6D10DB03CBC9046994602
+:100DC400A246AB46F0BD0A9B390018024B461843B5
+:100DD400D047626806900791EFF3108872B65646C2
+:100DE40045461368002BFCD0B246A846BFF35F8F7C
+:100DF4000699079A131E49DB194302D02369002B75
+:100E04005FD12368DA7B002A07D051008A18196859
+:100E14008C4649466244033A51704A46DA73E268A2
+:100E24004B469446013B63441A7801321A705B4680
+:100E340023616368BFF35F8F5A461A6088F3108892
+:100E440081E70023002208920993002300279A4691
+:100E54000020A5E7002B01D1002A95D1002160468E
+:100E640000F024FD43461A685B68089209934346E0
+:100E74009B689A464346DF68E3684B44013B1B7812
+:100E84000A931B0203432361002089E72369002B93
+:100E9400B7D0089D099E6D1A96412A003300089D1B
+:100EA400099E9E4218D81BD05946049101210391F2
+:100EB400494602915146019700912000FFF7AAFE8E
+:100EC400B5E700F0F1F9069A079B12184B419942D5
+:100ED40002D8E9D19042E7D901225242D317E3E77D
+:100EE40008999142E0D901225242D317DCE7C04667
+:100EF400F84F0020FFFFFF0F10B5124C6368002B62
+:100F040004D00A211048FFF74BFE10BD23000F4AFE
+:100F14001021206800F0ECFA032000F0B9F9032056
+:100F240000F098FA0A49032000F0DAF9FFF772FC9E
+:100F3400084B9C46032360442375074B8000606084
+:100F4400DC60DEE7D44D00200C5000207109002045
+:100F5400E90A002040000034F84F0020F0B557465D
+:100F64004546DE464E46E0B585B00092019310AB8F
+:100F74001B7800270393002380469A4643465A6809
+:100F8400EFF3108972B61368002BFCD0BFF35F8FA8
+:100F940043461D68AC7B002C4FD0660036192B6885
+:100FA400033E9B195A78AA73002A00D1EA73424679
+:100FB4009F705F701F7092684E4B94460099019A1F
+:100FC400E3181B01634419605A600E9A9A600F9AE1
+:100FD400DA602B689B199F705F701F706B7B9B4658
+:100FE400002B42D022001900A8686B6898475B4622
+:100FF4005B005B44033B2A6800282DD0D318961964
+:101004005A46B2701A78002A00D072701C705B467F
+:101014006B735C452AD04346DB681B19013B187887
+:1010240043465B68BFF35F8F1F6089F310885346A4
+:10103400002B2AD10002204307E05B68BFF35F8FD7
+:101044001C6089F310880120404205B03CBC9046E6
+:101054009946A246AB46F0BDD31896199C703278D7
+:10106400002A00D05A705B4633706C734346187D77
+:10107400009A019B00F07AF982460028CBD04346BF
+:101084002100186800F0F0FCC5E7039B002B2FD06B
+:101094000E9B0F990020984703000B4328D00400AF
+:1010A4000D1E0DDA0098019902000B00121BAB41D2
+:1010B400994213D818D000920193039B9A465DE796
+:1010C40000F0F2F824184D4123002C000093019401
+:1010D400A94203D8F1D1009B9842EED901235B4287
+:1010E400DC1700930194E8E700999142E3D9F5E70E
+:1010F4000020AAE7FFFFFF0FF0B5C64600B584B095
+:1011040004000D0000F0D0F824184D41A9421DD868
+:101114001AD006267642F71736196F41AF4251D9D5
+:101124000026002700F0C0F832003B00121A8B4161
+:10113400002B19DC002B42D02000290000F0C0F85D
+:1011440004B004BC9046F0BDA042E2D90726764222
+:10115400F71700F0A9F832003B00121A8B41012462
+:101164006442E517002BE5DD002302930193184B3D
+:101174003200009317483B00FFF7F0FE0028DBDB4A
+:101184000023BC4698461449144A4B6A9C4504D82B
+:10119400886AB042D0D29C45CED11068EFF3108358
+:1011A40072B60768002FFCD0BFF35F8F1068BFF3DF
+:1011B4005F8F4746076083F3108820BFE5E7002A66
+:1011C400BAD0D1E7AF42ADD1A642A9D8AAE7C0466A
+:1011D400A5090020D44D0020004005400C500020FB
+:1011E400F0B5C64600B5EFF305833F22134018005F
+:1011F4001038EFF3108772B61F4D2A68002AFCD00E
+:10120400BFF35F8F012211008140884644461B4989
+:101214004C631B4C2678A4463400C440224015D0AD
+:101224004C6A1849820051588C4217D3164BD25835
+:1012340043469E4363461E70BFF35F8F00232B60BB
+:1012440087F31088002A06D0904704E0BFF35F8F2D
+:101254002A6087F3108804BC9046F0BD0B4A9B00BB
+:10126400944663441A681A60BFF35F8F00232B60AF
+:1012740087F31088EFE7C046280100D000400540FE
+:101284002750002010500020744F0020D03F05400C
+:1012940010B50100024A0348FFF736FA10BDC046F4
+:1012A400544A002025500020044A516A00E01900E5
+:1012B400906A536A9942FAD17047C046004005408B
+:1012C400064A536A9942FCD807D1044B02E05A6A91
+:1012D400914202D19A6A8242F9D370470040054094
+:1012E40070B504000D00EFF3108672B61A4A136845
+:1012F400002BFCD0BFF35F8F002D1BD02000FFF725
+:10130400D7FA164988420AD02000FFF7D9FA0121FA
+:101314002000FFF7BBFA0123A340114A1360114BCD
+:10132400A400E550BFF35F8F00220B4B1A6086F3D5
+:10133400108870BD0B4BA200D5500122A2400A496F
+:1013440020000B7893430B700449FFF7E3FA002164
+:101354002000FFF79BFAE5E7280100D0A10F002049
+:1013640038600540744F002027500020F0B5D64661
+:101374004F464646324CC0B5656A00E00D00A66A89
+:10138400616AA942FAD1AB4209D806D001242000EF
+:101394001CBC90469946A246F0BDB242F6D9EFF382
+:1013A400108972B6274C21680029FCD0BFF35F8FE7
+:1013B4000126254986408C460978244D0F00374381
+:1013C4008846F9B28A46614654460C701C49041D8D
+:1013D400A4004E636250840063510D6A00243542B8
+:1013E4001AD04D6A00E025008F6A4C6AAC42FAD1EB
+:1013F400AB4219D801D1BA4216D8C2451DD0104B00
+:10140400134A1E625E631F2318401E3B8340136011
+:101414006346424601241A70BFF35F8F0022094BD2
+:101424001A6089F31088B2E70024BFF35F8F0022AB
+:10143400044B1A6089F31088A9E70124ECE7C0463D
+:1014440000400540280100D0275000201050002003
+:1014540080E200E010B5EFF3108472B60A490B681D
+:10146400002BFCD0BFF35F8F01238340074A084859
+:10147400136202789A430270BFF35F8F00230B60FC
+:1014840084F3108810BDC046280100D000400540F8
+:101494002750002070B506000D00140000291ED04E
+:1014A400002A1ED073688068984763006A001B197D
+:1014B4005219033B033A3168002808D0CB188A1824
+:1014C4009D70117800290ED11470280008E08A1844
+:1014D400CB1894701978002900D051701D70200029
+:1014E40070BD0800FCE7597028001470F8E7C04686
+:1014F400F0B5DE4657464E464546E0B583600023C8
+:1015040089B04260026806914373C9B20133059100
+:1015140001738373C1730492012900D8A4E00A0003
+:101524004B1ED9B2931E0791072B00D8AEE00025BD
+:10153400CB080393049B564C591C564B56489B4668
+:10154400564B9A46564B9C46564B0293524663461C
+:101554005F465E4662401A40504B2740FB185A4093
+:101564000640534601966646434033404B4E0A704C
+:10157400B046019E0135B146C84446467340160440
+:10158400360ECE701602120E4A721A04120E0B7325
+:10159400CA731A021B0E4B75029B360E5C406346DF
+:1015A4001C40404B120E9846029B474458406346E9
+:1015B40018404B4643445840039BEDB28E718A74E5
+:1015C4007C401831AB42C1D1079907230A009A43E2
+:1015D400531CDBB2914247D0049C5A00A446D21853
+:1015E400591C6244059DC9B2033A51708D423BD9DE
+:1015F4004A005218981C6244C0B2033A50708542A3
+:1016040032D942001218D91C6244C9B2033A51704B
+:101614008D4229D94A005218181D6244C0B2033AB7
+:101624005070854220D942001218591D6244C9B233
+:10163400033A51708D4217D94A005218981D6244DA
+:10164400C0B2033A507085420ED942001218D91D17
+:101654006244C9B2033A51708D4205D94A00521806
+:101664006244033A08335370FF23069A1340590027
+:10167400C918049B9C460023614403394B7009B08C
+:101684003CBC90469946A246AB46F0BD0123A3E775
+:10169400010203047F7F7F7F050607080101010122
+:1016A400808080800808080870B50400002907D0ED
+:1016B4004B0000685B18033BC3185A78002A01D119
+:1016C400080070BD5500AD18033D4019002546784B
+:1016D40045705D702000FFF7DDFE3100050020003D
+:1016E400FFF7E2FF290002002000FFF7D3FE01000C
+:1016F400E6E7C046F0B54E464546DE465746E0B5F9
+:101704000E0074000168A41985B0033C01920A1903
+:101714000500107800284CD043001B18033BCB185D
+:101724005F78BC46002F16D1019C002C3ED0EC7B88
+:10173400002C04D063001B19CB18033B5E70EE73BE
+:1017440000282FD10023537005B03CBC9046994625
+:10175400A246AB46F0BD7A006244033A89184A783F
+:10176400934600224A7090465A7001003A002800BD
+:10177400FFF790FE5B468146002B07D05B0029688B
+:101784005B44033BCB185A78002A16D15A46494683
+:101794002800FFF77FFE2968019B0A19002BC6D198
+:1017A4000028CFD043001B18033BCB1800219970AD
+:1017B400C8E7019B002BBAD1C4E750008018033856
+:1017C400091848788246404648705870594628009F
+:1017D400FFF760FE53468346002B07D05B00296861
+:1017E4005344033BCB185A78002A06D15946524633
+:1017F4002800FFF74FFE8346C8E7500080180338DF
+:10180400091840464F78487058705146280002978E
+:10181400FFF740FE8246002F08D0BC467B002968B3
+:101824006344033BCB185A78002A06D15146029AE6
+:101834002800FFF72FFE8246D8E7500080180338AF
+:10184400091840464F784870587002992800039749
+:10185400FFF720FE8046002F08D0BC467B00296895
+:101864006344033BCB185A78002A06D1039A4146B5
+:101874002800FFF70FFE0290D8E7032050430338F7
+:10188400091800204F784870587003992800FFF712
+:1018940001FE390002902800FFF706FF02990200BA
+:1018A4002800FFF7F7FD0390E0E7C046F0B54E4689
+:1018B4004546DE465746E0B5467B050074000068A1
+:1018C400A419033C85B002190191117800294ED066
+:1018D4004B005B18033BC3185F78BC46002F18D13C
+:1018E400019C002C40D0EC7B002C04D063001B191D
+:1018F400C318033B5E70EE73002931D1002330001E
+:101904005370697305B03CBC90469946A246AB46F9
+:10191400F0BD7A006244033A80184278934600226C
+:10192400427090465A7028003A00FFF7B3FD5B46B8
+:101934008146002B07D05B0029685B44033BCB182E
+:101944005A78002A17D15A4649462800FFF7A2FDC3
+:10195400019B010028680219002BC4D10029CDD0B5
+:101964004B005B18033BC31800209870C6E7019B2B
+:10197400002BB8D1C2E75000801803380918487802
+:10198400824640464870587059462800FFF782FD49
+:1019940053468346002B07D05B0029685344033B1E
+:1019A400CB185A78002A06D1594652462800FFF728
+:1019B40071FD8346C7E75000801803380918404674
+:1019C4004F7848705870514628000297FFF762FD1F
+:1019D4008246002F08D0BC467B0029686344033B41
+:1019E400CB185A78002A06D15146029A2800FFF7EC
+:1019F40051FD8246D8E75000801803380918404644
+:101A04004F7848705870029928000397FFF742FDF9
+:101A14008046002F08D0BC467B0029686344033B02
+:101A2400CB185A78002A06D1039A41462800FFF7BA
+:101A340031FD0290D8E703205043033809180020F1
+:101A44004F784870587003992800FFF723FD390038
+:101A540002902800FFF728FE029902002800FFF7F1
+:101A640019FD0390E0E7C04670B5040000292CD0AE
+:101A7400437B8B422ED00568480040180338281851
+:101A84008278002A21D053009B18033BEB181A7864
+:101A94008A4202D11BE0002A08D053009B18033B62
+:101AA400EB185A788A42F6D142785A700023012200
+:101AB400837043702000FFF71DFE617B020020004D
+:101AC400FFF7E8FC6073012000E0002070BD42785D
+:101AD4001A70EBE701221900FFF70CFE6073012076
+:101AE400F4E7C04610B50400FEF794FE01002000A0
+:101AF400FFF756F8FF232371BFF35F8F10BDC04675
+:101B040010B50400FEF786FE01002000FFF748F838
+:101B1400FF23A380BFF35F8F10BDC046F8B5040058
+:101B240006200D0000F066FA002845D02B4B2C4906
+:101B3400E3185A4253418022D20394465B42134035
+:101B4400284A63441360284A136018008A68904343
+:101B5400FBD1224B8021E3185A425341234A5B00B4
+:101B640049000620995200F045FA2900C00001F00E
+:101B740077FEC30921D14027012226008025626215
+:101B8400A36200232C36AD0135432B60062000F000
+:101B940031FA3900800001F063FE6023E26A5340A9
+:101BA4006E221A4080235B0133431A60104B236377
+:101BB40010232B600D3BA364F8BD0E4A934203D956
+:101BC40000230D4F0D4AD8E77F2210400130400812
+:101BD4009F011A003F180300CFE7C0460080FCBFF6
+:101BE40000C0004000E0004000F000402850002009
+:101BF40001030000FEFF0000C0FF3F00FFFF0000E4
+:101C04002D4B2E4A70B51A602D4A2E4B2E491A6060
+:101C140010008B689843FBD12C4C2D4B9C4209D26D
+:101C2400013B1D1BAD080135AD002D1908CC9847AB
+:101C3400AC42FBD100F07EF8264A224B1A60224ABD
+:101C44009368DB018033FBD14022234B234D24488E
+:101C54009A675A671A67DA66A84205D30EE0FFF757
+:101C64004FFF2000AC4209D2040003680834002B63
+:101C7400F5D1FFF737FF2000AC42F5D3194C1A4DCC
+:101C8400A168C022280002F075FCA560FEF7B4FD2F
+:101C9400FEF774FFFFF730F9144C154B9C4209D240
+:101CA400013B1D1BAD080135AD002D1908CC98472B
+:101CB400A542FBD170BDC04600E00040BFCDFBFE95
+:101CC400FE7F3C0000F0004000C000403C4E00207D
+:101CD4004C4E0020FFFFFF0100F001403C4E00206D
+:101CE400344E002000ED00E0000000204C4E0020A7
+:101CF400504E002000BEFDE70FB400B5084883B085
+:101D040002F0EEFD049B002B07D005A918000191F9
+:101D140001F030FD034802F0E3FD00BEFDE7C046DC
+:101D2400844A0020184A002010B50148FFF7E4FF58
+:101D3400784A002030B50C2083B000F0B5F9FEF7E6
+:101D440053FD00280ED0944B944A1A605A609A604E
+:101D5400DA601A615A619A61DA611A62904A5A62C7
+:101D640003B030BD8F4CA06700F0A6F901228E4B62
+:101D74001A60636C012BFCD103228C4B1A60894AD4
+:101D8400936B012BFCD101330093894A0433012165
+:101D9400884800F035F90523874A009301218748D4
+:101DA40000F02EF9864B5A68FF2A02D8802252008E
+:101DB4005A608022784C7D4B21691201804D1A6053
+:101DC400002905D0606901F04BFD01300138FDD1D7
+:101DD400E0217B4B02201A681140802252012A43E1
+:101DE40011601968484003210140116004219A6878
+:101DF4001142FCD08022802192012A430901116002
+:101E0400802252005A606F4B23616F4B5968FF293F
+:101E140000D85A6003226C48634B01211A60020007
+:101E240093681942FCD0E02513681D4080235B01B0
+:101E340003431D6012684A400321114019600221C6
+:101E4400614A93681942FCD0802380219B0103439B
+:101E54000901196080215D4B4900516063615C4B4D
+:101E64005A68FF2A00D8596080225A4BE16912014E
+:101E7400574D1A60002905D0606901F0F1FC01306A
+:101E84000138FDD1E02252490B681A4080235B01DE
+:101E94002B431A60802380229B012B4312011A607A
+:101EA40080223E4B52004A60E3614B4B5968FF2944
+:101EB40000D85A608022494B216A1201464D1A60AB
+:101EC400002905D0606901F0CBFC01300138FDD157
+:101ED400E02241490B681A4080235B012B431A60BE
+:101EE400802380229B012B4312011A6080235B0014
+:101EF4004B602A4B3A4A23623A4B5968914201D8C3
+:101F040001325A608022384B616A1201354D1A60E1
+:101F1400002905D0606901F0A3FC01300138FDD12E
+:101F2400E02230490B681A4080235B012B431A607E
+:101F3400802380229B012B4312011A608023DB0241
+:101F44004B60174B6362294B5A68FF2A02D88022E0
+:101F540052005A608022264BA1691201234D1A6057
+:101F6400002905D0606901F07BFC01300138FDD106
+:101F7400E0221E490B681A4080235B012B431A6040
+:101F8400802380229B012B4312011A6080235B0073
+:101F94004B600E4BA361E3E6844F0020006CDC022F
+:101FA4001BB70000008000403CB0004030B000404F
+:101FB400002F685900800240008C864700C0024010
+:101FC40030800040001BB7003C800040405973073C
+:101FD4005480004054B000406080004060B0004035
+:101FE400FFFF03006C8000406CB00040488000405C
+:101FF40048B00040014B8000C0587047844F002017
+:10200400F8B504000C201E0017000D0001F028FC98
+:102014004201121A9101891AC9000918890138006C
+:1020240001F01EFC069B226836041B033343002A7E
+:1020340021DB194A194EA21851424A418021490113
+:102044008C4652420A40164962440A6015490A60A5
+:102054001700B1688F43FBD1C021221D89011143B0
+:1020640021222560A0600A602268002AFCDAE3606D
+:1020740008230B60F8BD3F2221680A40AA42D8D148
+:10208400A2681205120D8242D3D1EE21E268C90280
+:102094000A409A42CDD1EDE70040FDBF00C00040A8
+:1020A40000E0004000F000408023024A9B0003430C
+:1020B400D362704700800540AA23064A1B011360BF
+:1020C4002F230549D360054B19605368002BFCDAB4
+:1020D4007047C0460040024000B0FA000060024071
+:1020E4007047C046F8B557464E464546DE46E0B50D
+:1020F40099460A9B07009A460D9B884693460B9E79
+:1021040015009B070FD10C9B9E420CD29D1B0E0009
+:102114005D44541C4B4631002020B8472200A542A0
+:10212400F7D1B0460B9E002E28D04446AD19534635
+:10213400AA1B013E985D21004B46B847002EF6D1FC
+:1021440023002C0098460D9B9B0710D55B46E51A8F
+:102154000C9BAB420BD946462200984601344B46B1
+:10216400310020200135B8472200A845F6D82000C8
+:102174003CBC90469946A246AB46F8BD2C00E2E72B
+:10218400F0B54F464646D646C0B584B098460EAB29
+:102194001B7894469946129B0D9C109F119E9A079A
+:1021A40024D401221A409246002E62D1BC420CD2A1
+:1021B4001F2C00D9B8E00C9A551E302201E0202CC7
+:1021C40003D001342A55A742F9D85246002A0DD02B
+:1021D400A6420BD9202C5AD00C9A551E302201E06D
+:1021E400202C54D001342A55B442F9D1DA0632D520
+:1021F4005A0555D4002C4FD10F9A102A00D18CE0E7
+:10220400022A00D17EE030220C9C22704A4601242E
+:10221400002A25D02D220C9D2A55013403930C9BB2
+:1022240002960093019443466246FFF75BFF04B0B5
+:102234001CBC90469946A246F0BD202CEED00C9AC8
+:102244001519013478222A70202CE7D030250C9AF5
+:10225400121915700134202CE0D04A46002AD9D135
+:102264005A0728D41A07D9D520220C9D2A5501349F
+:10227400D4E7002A24D04A46002A28D10C321A4234
+:1022840025D1BC42A4D21F2C95D9202E1DD920249F
+:10229400DA06C3D55A0503D4A7421AD0B44218D0DB
+:1022A4000F9A102A1FD0022ACED1202CB6D00C9A15
+:1022B400121901342EE02B220C9D2A550134ADE76E
+:1022C400BC4293D21F2C00D875E720248EE7013E30
+:1022D400D7E7621E002A10D00F9D102D2DD0022D9D
+:1022E40015D01400B2E79A06A7D5202C96D058250D
+:1022F4000C9A121915700134A6E70F9C102C15D0F6
+:10230400022CEED162220C9C227001249EE70C9DCB
+:10231400AA4652446225157096E79A06E7D47822B5
+:102324000C9C2270012491E720244EE79A06F6D5EE
+:1023340058220C9C2270012488E7023C9D06D6D4C6
+:102344000C9D2D1914007DE710B5002800D110BD97
+:1023540002F074FAFBE7C04610B5002803D04A68BF
+:102364000B681100984710BDF0B5454657464E46D8
+:10237400DE46E0B59BB0249D259C824688460992A2
+:1023840099462A0023002800210001F032FD00288C
+:1023940000D0CBE00122D94B52422800210001F0A9
+:1023A40023FD002800D0C1E00122D54B5242280071
+:1023B400210001F00BFD002800D0B7E0002200232B
+:1023C4002800210001F002FD002800D0EDE1AB4619
+:1023D40008948023289ADB001A40119201D1062325
+:1023E40026935B460C9380235946289A1B011A4076
+:1023F400089B10920B4300D0AFE0002A00D0BFE14D
+:1024040004260D930E930C9300230A93279BB34247
+:1024140001D99B1B0A930227289B1F4005D07342B6
+:1024240073410A9A5B421A400A920C9B002B07D014
+:10243400584608990D9A0E9B01F067FC8346089153
+:10244400002200232800210001F0C0FC002805D050
+:10245400802000068446089961440891289AA94B73
+:10246400414613405A4604930A9B50460393269BC5
+:102474000293089B009201934B46099A00F0A2F93B
+:10248400002E63D0289B02009C061F23E4179C4364
+:102494006534431C089320004B464146D0470C9BAF
+:1024A4000024DA179D18DB0F9B46731E55400C93CE
+:1024B40002E00500202C11D00AAA94461F230134FF
+:1024C40063440A2128001E1901F0CAF93031317021
+:1024D40028000A2101F0C4F9092DEAD8052306933E
+:1024E4000C9B01940593002304930A3303935B46E6
+:1024F400029312AB0093089A4B4641465046FFF7AD
+:102504003FFE002F22D0099BC41A279BA3421DD94A
+:10251400020057461E00551C4B46414620200134FC
+:10252400B8472A00A642F6D828000FE0289B2A00C4
+:102534000493279B41460393269B50460293230012
+:10254400009201934B46099A00F03CF91BB03CBC45
+:1025540090469946A246AB46F0BD6B4A089B94460A
+:102564005800400D604401F057FC684A684B01F084
+:10257400EAFB684A684B01F0BFFB089B674A1B03F0
+:102584001B0B1A4306000F000C981100644B002229
+:1025940001F0A9FB634A644B01F0D5FB02000B0078
+:1025A4003000390001F0A8FB01F04EFC0C9001F062
+:1025B40033FC5E4A5E4B06000F0001F0C4FB0022B0
+:1025C4005C4B01F099FB01F03FFC5B4A5B4B0D90C7
+:1025D4003900300001F0B7FB06000D980F0001F040
+:1025E4001BFC574A574B01F0AEFB02000B003000B6
+:1025F400390001F078FB02000B000A900B9101F006
+:10260400A2FB06000F000A980B9902000B0001F0D0
+:1026140073FB00220E900F914B4B3000390001F0F8
+:1026240074FB0022494B01F067FB02000B003000F1
+:10263400390001F06AFB0022454B01F05DFB02000A
+:102644000B003000390001F060FB0A9A0B9B0F006D
+:1026540080210600C905002001F045FB02000B00A3
+:102664003000390001F048FB3A4F02000B000E988D
+:102674000F9901F04AFB0022284B01F03DFBBC46B8
+:102684000D9A624416000022330501F05CFB07003A
+:102694000D900E000E9102000B005846089901F0AF
+:1026A40095FB00285ED13B003200C6260C996331AD
+:1026B4008E42B641109976420436002900D1A3E631
+:1026C400134361D0089F244A244B5846390001F033
+:1026D40083FB002807D00022214B5846390001F023
+:1026E40075FB002850D1269B002B00D18CE6119B52
+:1026F4005A1E9341269AD31A269385E6FFFFEF7F4D
+:10270400FFFFEFFFFFF7FFFF01FCFFFFFB799F5087
+:102714001344D33FB3C8608B288AC63F0000F03F00
+:102724000000F83F61436F63A787D23F71A3790923
+:102734004F930A400000E03F1655B5BBB16B024011
+:10274400EF39FAFE422EE63F00002C400000244000
+:1027540000001840FF0300002D431CEBE2361A3F33
+:1027640080842E410C9B0022013B0C930D98144B4A
+:102774000E9901F0CAFA03000D900A000E9194E735
+:1027840000230D930E930C93269B19000C9B9942E6
+:1027940013DDCB1A013B26938023289ADB001A43CE
+:1027A4000023289200260C932EE680231B069C46C9
+:1027B400A4446346AB4608930BE600232693EBE759
+:1027C40000002440F0B5DE4657464E464546E0B587
+:1027D40097B08046894692469B46209A219B1000DA
+:1027E400190001F006FB002800D01FE2209821996F
+:1027F4000122CC4B524201F0E9FA002800D03EE11C
+:10280400209821990122C84B524201F0EDFA002888
+:1028140000D0E7E0209821990022C44B01F0E4FAAB
+:10282400002800D0C7E0209821990022C04B01F075
+:10283400CDFA002800D0BEE0209821990022002380
+:1028440001F0C4FA002800D0E1E0002380240D93B5
+:10285400249BE4001C4000D0E9E000220626B54B8E
+:10286400069207930EAB08932098219901F0ECFA95
+:1028740007000C9001F0D0FA02000B002098219977
+:1028840001F031FA069A079B01F05DFA0A900B9168
+:1028940001F0FEFA0500099001F0BAFA02000B00FB
+:1028A4000A980B9901F01FFA0022A34B0A900B918E
+:1028B40001F09AFA002800D148E12B0001331800F6
+:1028C400099301F0A5FA069A079B01F085FA0028FE
+:1028D40004D03B0001330C9300230993002E00D055
+:1028E400D5E00C9D280001F097FA02000B00209817
+:1028F400219901F0F8F900228F4B06000F0001F036
+:1029040065FA002808D100228B4B3000390001F011
+:102914006BFA002800D17EE1202C00D1FAE00C9F54
+:102924000A21380000F074FF089E30313155380018
+:102934000A21651C00F06CFF002800D180E1202DE5
+:1029440000D1E7E00A2100F063FF3031715538000F
+:10295400642100F05DFF0234051E14D0202C00D148
+:10296400D8E008AA944617232800634401340A21B6
+:102974001E1900F04DFF3031317028000A2100F09B
+:1029840047FF051EEAD10323249A1340012B00D1EB
+:10299400ECE0202C00D1C2E00D9B002B00D111E112
+:1029A4002D23089A651C1355249B01950393239B9F
+:1029B4000293089B20E0249B52460493239B4946A0
+:1029C4000393229B40460293209B219C00930194F5
+:1029D4005B46FFF7C9FC17B03CBC90469946A2463B
+:1029E400AB46F0BD249B5B070ED40322534B2499C2
+:1029F4000192039123990291009352465B46494602
+:102A04004046FFF76FFBE6E74D4B0422EFE7209AC1
+:102A1400219B0020002101F066F9012380240D93FD
+:102A2400249BE400209021911C4000D115E7229BB7
+:102A3400092B00D808E1190030230EAA4E1E089273
+:102A44001370092E00D1F9E0537008AA0C009446C3
+:102A54008E1E1721093C02236144302205E0013314
+:102A6400CA54013E202B00D1A3E09C42F7D1354B40
+:102A7400F2009B181A685B6806920793F4E6249B9D
+:102A84000393239B0293042301932F4BB4E7202C3D
+:102A940040D0099D731E0A212800069300F0E0FE31
+:102AA400089B3031195528000A2100F0D9FE671C13
+:102AB4000995092D00D892E0202F2BD0B11E069144
+:102AC4000A2100F0CDFE089B3031D95509986421C4
+:102AD40000F0C6FE099AA51C0700632A00D87FE00F
+:102AE4003419013C14E0631B08AA06939446172387
+:102AF400013563440A2138005E1900F0B1FE30311B
+:102B0400317038000A2100F0ABFE092F68D90700A4
+:102B1400202DE8D10323249A1340012B25D020250E
+:102B240042E7C046FFFFEFFFFFFFEF7F65CDCD41DA
+:102B340065CDCDC180842E410000E03F744C00205F
+:102B4400784C0020904C0020844C002000220A98ED
+:102B54000B99494B01F03AF9002800D0BEE62B1E30
+:102B640060D1099B01330993B8E62024239B002BF1
+:102B740000D10EE70D9B002B03D1249A0C33134292
+:102B840002D0239B013B2393239BA34200D800E75D
+:102B940008AA9446172330226344202CBFD02399DB
+:102BA40001341A558C4200D1F3E6202CF7D12025AC
+:102BB400FAE6324BF2009B185C681B680693079494
+:102BC400202451E6249B5B0720D4249B25001B076B
+:102BD40000D4E9E62023089A01351355E4E63D00C4
+:102BE400202D97D008A98C461723069863444219D0
+:102BF4003021002826D001355955202D30D0AA4245
+:102C0400F9D12E230899541C8B5485E62B23089A5A
+:102C1400651C1355C8E60123AC462B409C4463460F
+:102C24000C9379E6DB0700D458E69AE7249B0393D8
+:102C3400239B029303230193114BDDE6012416E742
+:102C44002C00A0E62A00DCE7DA001E000B4B9B18E0
+:102C54005C681B68069307940EAB0024089303E694
+:102C64000323249A1340012B00D09DE6239B002BC1
+:102C740000D199E620247DE70000E03F904C00203D
+:102C8400804C0020F0B54546DE4657464E46E0B53A
+:102C9400A1B01D002A9B90460B93BD4ABD4B0A90E0
+:102CA4008B461A60002900D10DE2002328789A4649
+:102CB400002861D0B84B56469946C24609E0741CB8
+:102CC400320053460A9E5946B04726002878002809
+:102CD40050D001352528F2D1042328789846023BA8
+:102CE4009C460300203B691CDBB200240A00102B25
+:102CF4000ED84F469B00FB589F4601230D001C43F2
+:102D04002878691C0300203BDBB20A00102BF0D9A1
+:102D14000300303B092B41D900272A286AD000231D
+:102D24000C932E2851D00300683BDBB2122B5FD8E2
+:102D34009A499B00CB589F4663460D001C43DFE72E
+:102D440043460D001C43DBE710230D001C43D7E76B
+:102D540008230D001C43D3E780235B0068781C43E1
+:102D6400551C0300253BDBB2532BA8D88C4A9B008F
+:102D7400D3589F46D046B2465246D04501D8434622
+:102D84005A1E4346594600200A9CA047504621B08B
+:102D94003CBC90469946A246AB46F0BD00270300D2
+:102DA40001E00D000131B800C0194000C0180B78D3
+:102DB40030381A00303A0700092AF2D918000023E3
+:102DC400AA1C0C930D002E28ADD180236878DB005B
+:102DD4001C430300303B092B00D877E12A2800D19B
+:102DE400ABE10300683BDBB215000132122B9FD923
+:102DF4001500B6E70B9B80CB002F00DA5BE1687807
+:102E0400AA1C0B930D008AE768786C2800D14DE268
+:102E140080235B001C43551CA3E780239B00687838
+:102E24001C43551C9DE76878682800D139E280234B
+:102E3400551C1C4395E70B9B04CB98460C9B0B92AB
+:102E44001078002B00D0A2E1002801D100F071FC21
+:102E540002235B425A1C0B9B944619000D92614459
+:102E640001E08B4206D001331A78002AF9D10B9A7B
+:102E74009B1A0D938023DB0023400E9305D00D9BFA
+:102E840019000C9B994200D90D93022323400F9300
+:102E940000D140E2002800D126E20E9B002B00D195
+:102EA400E6E141460C9B0C9129009C190B9B5D4665
+:102EB4009B1B3200B8460B938B460AE0534629000D
+:102EC4000A9F561CB8470B9B985D002800D104E26A
+:102ED40032009442F2D10C9B474698465B4626004A
+:102EE400AB461D000F9B002B00D0FDE143460B9326
+:102EF400ECE60B9B04CB0B93002A00D128E12123A1
+:102F04001C43A44610A988461F240F2144440023CF
+:102F1400884603E0202B00D124E10A0041461140F9
+:102F2400CFB238003730092900D807380133E054CC
+:102F340011090F2AEED815E10B9B04330C93731C73
+:102F44000D939846A30700D406E20B9B3200187831
+:102F5400594653460A9CA047BE19012F00D8A7E240
+:102F64002B0042465546B0469A465E460A9F541C7C
+:102F74002B0031002020B84722004445F7D15346A6
+:102F8400B346AA4626001D000C9B0B939EE6C04642
+:102F9400452A0020F44F0020944A0020D84A0020FB
+:102FA400244B0020782800D152E2582800D183E134
+:102FB4006F2800D1F3E0622800D156E310232200E9
+:102FC4009A438023DB000D922340692800D0BCE3A0
+:102FD4000A220E92002B00D146E201230D9A9A4355
+:102FE4000D9280240D9BA40023409C46692800D1A7
+:102FF400E7E0642800D1E4E06346002B00D094E2CB
+:1030040080230D9A5B001A400B9B904604330F9368
+:10301400002A00D02CE30D9B5B0600D544E20D9BF7
+:103024001B0600D488E30B9B1B881800031E00D0EA
+:103034004DE20D9A1033110099430D91520500D4BD
+:1030440045E2002398460D9B059706930C9B049339
+:103054000E9B0393002302934346019318AB009302
+:103064003200534659460A98FFF78AF80F9B060028
+:103074000B932BE6462800D18EE007220B9B049489
+:103084000733934319000C9A039702920CC90A98C8
+:10309400009201930B91320053465946FFF792FB7D
+:1030A400060013E6741C320053460A9E5946252036
+:1030B400B04726000AE60222687814437F42AA1C1D
+:1030C4000B930D002BE6D34B0A93EEE5002301008E
+:1030D40000E02A009800C01840004018517803000E
+:1030E40008003038551C303B0928F2D90C930800ED
+:1030F400023218E6202302009A43472A04D180238F
+:103104001B011C4302239843452801D120231C435F
+:1031140007220B9B04940733934319000C9A0397DB
+:1031240002920CC90A98009201930B913200534603
+:103134005946FFF719F90600C8E50B9BA87802CB9E
+:10314400CA43D21711400C91EA1C0B930235EAE5ED
+:10315400102321009943113319438C460023610540
+:1031640000D4CFE662460692082205920C9A049295
+:103174001022039200220292019318AB00933200B2
+:10318400534659460A98FEF7FBFF06009EE50028C1
+:1031940000D1CDE2013B5DE620231C436DE708230B
+:1031A4000E9322000D948023DB001340642800D08A
+:1031B400CEE2002B00D010E780241300A4002340AB
+:1031C4009C466346002B00D0E5E080230D9A5B000B
+:1031D4001A400B9B904604330F93002A00D0C6E19B
+:1031E4000D9B5B0600D547E10D9B1B0600D499E2BD
+:1031F4000B9B00229B5ED9175A184A401000DA0F25
+:103204001492002B09D1802310220D99DB000B406E
+:1032140091430D91002B00D050E10D9A6123920649
+:1032240000D5412310AA1F249446DBB264440A3B10
+:10323400159716960B9346460700A84625000E9C44
+:103244000AE03033DBB20136AB55A74200D231E19C
+:10325400202E00D12EE107002100380000F000FBF1
+:10326400CBB20929EDD90B9A94466344DBB2EAE761
+:103274000B9B32009E1B33005E46AB4655469A4676
+:103284000B970A9F2B003100541CB8475346185D16
+:1032940022000028F6D1AA460B9F5D46B3462600BD
+:1032A40020E6C023A8781C4303355AE5C0239B00BD
+:1032B400A8781C43033554E50C2322009A431433A5
+:1032C4001A430D92630500D5D3E080239B001C4074
+:1032D400F13BFF3BA4460E938EE60C9B4746984673
+:1032E4005B46AB461D00FDE50D9B32009F4200D8B6
+:1032F400FCE5BE19F61A2B005D469B460A9F541C3A
+:10330400534629002020B8472200B442F7D15B4637
+:10331400AB461D00EAE50D9A531C974200D812E211
+:10332400BB199B1A0D971F0032005E46AB460A9DDF
+:10333400541C534631002020A8472200BC42F7D138
+:103344005D46B34626000D9F7B1C0D930B9B18789E
+:10335400002800D0A1E5C9E5012F00D8F0E1731ED3
+:103364003200A846DF190A9E5D460D9C00E0013438
+:10337400534629002020B0472200BC42F7D1260042
+:10338400AB46454601360B9B3A00187859465346DE
+:103394000A9CA047F8E507220B9B073393430132AD
+:1033A40094469C4462460B921A685B689C46DB1701
+:1033B4001293139312981399030053401093644685
+:1033C4000B0063401193109B119C1B1A8C411093AA
+:1033D40011946346DB0F149363461A4350D00D9A3D
+:1033E4006123920600D541230022DBB2904610AA45
+:1033F4000A3B1F2494460F935B46644417932300AF
+:1034040015971696AB46109E119F44460E9D9846FE
+:1034140010E0C046A11E00203032D2B2434601342F
+:103424001A550023BB4200D167E1202C00D167E18B
+:1034340006000F002A0000233000390000F052FA81
+:10344400D2B2092AE8D90F9B9C466244D2B2E5E77E
+:1034540080231022DB0023400E920C2294430D940F
+:10346400002B00D1BDE5B8E580239B001C40A44699
+:10347400A7E610230E93B0E50B9B1B781A00BDE65C
+:103484000D9A1023110099430D915205A7D50023DD
+:1034940098460D9B059706930C9B04930E9B0393F0
+:1034A400149B0293434667E60B9B1B781800BDE50B
+:1034B4000D9E69E54546159FB046169E0D9B0597E2
+:1034C40006930C9B04930E9B0393149BC3E50D9AE4
+:1034D4006123920600D5412310AA1F249446DBB22F
+:1034E40064440A3B149715960B9346460700A84676
+:1034F40025000E9C08E03033DBB20136AB55A74201
+:103504000ED3202E0CD007002100380000F0A8F9BB
+:10351400CBB20929EFD90B9A94466344DBB2ECE7AA
+:103524004546149FB046159E8DE507220B9B073335
+:103534009343013294469C4462460B921A6859683C
+:103544001300100009910B435CD10D9A1033110044
+:1035540099430D91520555D5002398460D9B059727
+:1035640006930C9B04930E9B0393002399E70B9BF8
+:103574001B68D9175A184A401000DA0F1692002B0C
+:1035840008D1802310220D99DB000B4091430D914B
+:10359400002B2CD10D9A6123920600D5412310AA49
+:1035A40090461F24DBB244440A3B14971596A84660
+:1035B4000B932500070066460E9C08E03033DBB20F
+:1035C4000136AB55A7420ED3202E0CD007002100A4
+:1035D400380000F045F9CBB20929EFD90B9A94468B
+:1035E4006344DBB2ECE74546B446149F159E0D9B3D
+:1035F400059706930C9B04930E9B0393169B0293CF
+:1036040063462AE50D9A6123920600D541230022E0
+:10361400DBB2904610AA0A3B1F2494460F935B46E4
+:10362400644414971596AB4646461693A0460E9DE1
+:10363400099F04000BE03032D2B2434601369A555A
+:103644000023BB4265D0202E65D004000F002A0061
+:1036540000232000390000F045F9D2B2092AEAD942
+:103664000F9B9C466244D2B2E7E702230E9398E58F
+:103674000B9B1B68181E08D1802310220D99DB00B8
+:103684000B4091430D91002B2CD10D9A612392068E
+:1036940000D5412310AA90461F24DBB244440A3BC0
+:1036A40014971596A8460B932500070066460E9CB2
+:1036B40008E03033DBB20136AB55A7420ED3202EDF
+:1036C4000CD007002100380000F0CAF8CBB2092959
+:1036D400EFD90B9A94466344DBB2ECE74546B44613
+:1036E400149F159E0D9B059706930C9B04930E9BAC
+:1036F4000393002302936346AFE4B54200D894E6F3
+:10370400179B109611975D46159F169EA0469B46E3
+:10371400BFE6A54297D9169BB0465D46149F159EF9
+:103724009B461BE70B9B1B68D9175A184A4065E553
+:1037340000230D93FFF79EFB0B9B1B68180075E499
+:1037440037000D9E1FE60D9302E60A230E932AE529
+:10375400140082E600B585B0039101210290009324
+:10376400034813004A4202A9FFF78CFA05B000BDD2
+:103774001921002010B5094A84B01468002C09D01E
+:10378400012200910300524203A90548A0470120E9
+:1037940004B010BD01F0A4F80020F9E7F44F0020B4
+:1037A4000921002001480421014B1847004E002044
+:1037B40095350020142310B50100188804331B88A4
+:1037C400984710BD162310B50100188802331B88D2
+:1037D400984710BDF0B5C64600B5002916D014238D
+:1037E4000400012598461827890046184346216895
+:1037F40018883B88984701C4431E984140420540BD
+:10380400A642F3D1280004BC9046F0BD0125F9E797
+:10381400124A936F9B0815D29066D166002905D091
+:10382400FFE7FFE7FFE7516F106F704704B5802192
+:103834000906C2175140002800D0C84301F04AF9D4
+:10384400002104BDF0B5146E556E576F166FFFF767
+:10385400E3FF1466556657671667F0BD000000D095
+:10386400114A936F9B0813D210665166002905D044
+:10387400FFE7FFE7FFE7516F106F704704B50028BB
+:1038840001D00020C04301F025F9002104BDC04649
+:10389400F0B5146E556E576F166FFFF7E5FF14669B
+:1038A400556657671667F0BD000000D094464E4A2F
+:1038B400926F9208624601D230E0C046F0B54A4E9B
+:1038C400B56F6D08FCD3346E756E776F366F00F08C
+:1038D40025F89446444A1466556657671667624647
+:1038E400F0BDC0469446404A926F9208624601D2A7
+:1038F40058E0C046F0B53C4EB56F6D08FCD3346E4D
+:10390400756E776F366F00F04DF89446364A14663C
+:103914005566576716676246F0BDC046002B24DB28
+:1039240011D000293EDA00B5C943404200D101312B
+:1039340000F038F8C943404200D10131DB43524220
+:1039440000D1013300BD002AEBD1002801D10029A8
+:1039540005D00020C90FC90701D1C043410800B5F3
+:1039640001F0B8F80022002300BD00B500290ADBED
+:10397400DB43524200D1013300F014F8C943404202
+:1039840000D1013100BDC943404200D10131DB43C4
+:10399400524200D1013300F005F8DB43524200D11A
+:1039A400013300BD002923D1002B18D1002A0CD0EB
+:1039B400BC460D4F38667A6600210023FFE7FFE717
+:1039C400FFE77A6F386F67467047002801D00748D1
+:1039D400010000B501F07EF80022002300BD0200C2
+:1039E4000B00002000217047000000D0FFFFFFFF04
+:1039F400002B00D0BFE0130C28D1002AE7D080B4FC
+:103A0400114F39667A66FFE7FFE730B4040C7B6F29
+:103A1400396F1B0423433B667A66FFE7FFE7FFE742
+:103A2400C04684B27B6F3D6F1B0423433B667A66BA
+:103A3400FFE7FFE7C04600232C042D0C7A6F386F94
+:103A440000196941B0BC7047000000D0F0B594463D
+:103A54000025140E01D112020835140F01D11201F0
+:103A64000435940F01D192000235D40F01D15200D4
+:103A74000135D40B0134254F7C66254C3C660E0C75
+:103A840093B2FFE7FFE7FFE73C6F6643360C77032B
+:103A9400BE467343DF0B5B04C01AB941130C734376
+:103AA400DB18C91ACE086643360CB64493B2734386
+:103AB4001F0F1B01C01AB941130C73431F0B1B05C5
+:103AC400C01AB941860D8F023E436643360C092D58
+:103AD40024DB520A7243801A7703460A6643360C83
+:103AE40016235B1BDE40DF40BF1964466643821B1E
+:103AF4007046043506330100D940A840C01900D3EC
+:103B04000131A24206D20023F0BD0000000000D023
+:103B1400FFFFFFFF121B0130F3D3F1E709277F1BDF
+:103B2400FE406446A2B27243801A00D20139220CCC
+:103B34007243130C1204821A99410B007046043527
+:103B440013370100F940A840801900D30131002B3C
+:103B540002D1A2420AD2F0BD013000D30131121BBE
+:103B6400FAD2013BF8D1A24200D2F0BD013000D319
+:103B74000131121BF7E7F0B51C0C00D080E00CB447
+:103B840000251C0A04D11B02160E33431202083509
+:103B94001C0B04D11B01160F3343120104359C0B7B
+:103BA40004D19B00960F334392000235DC0B02D103
+:103BB40092185B4101351C00971864410134464F4B
+:103BC4007C66464C3C660E0CFFE7FFE7FFE7C04609
+:103BD4003C6F6643360C7703BE4697B27743C01BEF
+:103BE40000D20139C01B00D201399FB27743C91BEF
+:103BF400C91B170C77437E04FF0B801BB941CE0809
+:103C04006643360C0C2D33DBB644120B1F053A43C6
+:103C14001B0B97B27743C01B00D201399FB2774385
+:103C2400C91B170C77433E043F0C801BB941860D1A
+:103C34008F023E43664329277F1BFE400C3D774697
+:103C4400AF40BF1930BCA2B2ABB272437343801A07
+:103C54009941220C7243130C1204801A99410200F8
+:103C64000B000137001BA941F9D2781E0021F0BDD9
+:103C74000C277F1BFE4077467F0BAF40FF19E0E720
+:103C840000245D1C07D0144F7D663966FFE7FFE70B
+:103C9400FFE7FFE73C6F95B29EB265436643401B66
+:103CA400B141150C1E0C6543664336042F0C3E438C
+:103CB4002D04401BB141994204D202000B002000A4
+:103CC4000021F0BD01D19042F7D3801A994101340B
+:103CD4009942F2D3F6E70000000000D0FFFFFFFF97
+:103CE40048404140484018B41B4B5B68FC46019374
+:103CF40008BD04DF573D002018B4174B1B68FC4671
+:103D0400019308BD00DF613D00209446134A926F81
+:103D1400920809D2624618B40F4BDB68FC46019343
+:103D240008BD0CDF194000200C4AF0B5146E556E26
+:103D3400576F166F6246FFF7EEFF084A1466556622
+:103D440057671667F0BD18B4034B9B68FC46019394
+:103D540008BD08DFBD3E00202C500020000000D02C
+:103D6400FFB550404240504059404B40594000E05C
+:103D7400FFB5154F4C00640D03D0BC4204D10C03B5
+:103D840014D80020090D09055C00640D03D0BC4261
+:103D940004D11C030AD800221B0D1B0501264B402D
+:103DA40009D44B4003D58B4200D18242FFBD9942D6
+:103DB400FCD19042FFBD0B43DB1803431343F5D002
+:103DC400C9434918FFBD0000FF07000000B5FFF715
+:103DD400CFFF804100BDC04600B5FFF7C1FF01D948
+:103DE400002000BD012000BD00B5FFF7B9FF8041F0
+:103DF40000BD012040054A00121804D85A001218C8
+:103E040001D800207047012070470020704700004F
+:103E14000021002805D17047C1174840401AFAD044
+:103E2400C90713B5064B1B6898470CBC441CA24039
+:103E34001005120B0349091B09051943114310BD51
+:103E4400085000201F04000010B54C00620D8023B0
+:103E5400D218DB00D21A5B057E2A10DD9E3A13DAF3
+:103E6400CC170903490819435242D1406400013474
+:103E74001532202A05DAD0400843604310BD0020E3
+:103E840010BD0846604310BDC80FC018013810BDEE
+:103E940018B4044B5B6AFC46019308BD24DFC94196
+:103EA400002000002C500020132370B51D78012D34
+:103EB40015D010DD2648FFF785FC264C0100802232
+:103EC400200000F057FB022D06D02348FFF772FCB8
+:103ED400224B186070BD1F4C214AA264F5E71D4CAB
+:103EE4001F4AA3085B421D402FD02B0022602020D4
+:103EF400A9006118451B0A604A608A60CA600A61A9
+:103F04004A618A61CA610A624A628A62CA620A634F
+:103F14004A638A63CA630A644A648A64CA640A652F
+:103F24004A658A65CA650A664A668A66CA660A670F
+:103F34004A676D08102D03D18A67CA67A264C4E773
+:103F44001E339B00E250A264BFE70023CFE7C046C4
+:103F5400534400002C5000204C3300000850002033
+:103F6400253D002007B5604601880A0A0230DF2A91
+:103F7400FAD1C9B2820804D30288408800041043ED
+:103F840000E00068014A5050039007BD2C50002007
+:103F94000FB403BC0CBCF0B50124E407634000E09B
+:103FA400F0B50C0DCF0F661E3605891B640503D3CF
+:103FB400C943404200D30131640D03D0661CF60AA4
+:103FC40007D0E41B00207F00791C89078912803CFC
+:103FD40024031D0DDF0F6E1E36059B1B6D0503D3D9
+:103FE400DB43524200D301336D0D03D06E1CF60A3D
+:103FF40007D0ED1B00227F007B1C9B079B12803D9A
+:104004002D032F1B661B58D4A446202E46DA2037D6
+:104014001400BC401D00BD40F24033412A438018C7
+:104024005941CB0F05D0C943C043002264425041DB
+:10403400514162464D0D28D10D0D07D100281FD0E6
+:10404400241940414941013A0D0DF9D0640006D3C9
+:10405400013000D30131002C01D140084000013A65
+:104064000BD4941CE40A04D112051144DB0719444F
+:10407400F0BDD907204B194300E0D9070020F0BD5B
+:104084000029DDD1002CDBD1F0BD0132C607400888
+:10409400CD0728434908002EE1D0D9E73C2E29DA80
+:1040A400203E40371400BC4000D00124F2401443A9
+:1040B4001A00BB401C43D317ACE7AC46202F08DAE8
+:1040C40020360400B4400D00B540F840394128437F
+:1040D400A5E73C2F0CDA203F40360400B44000D062
+:1040E4000124F84004430800B1400C43C117EAE737
+:1040F40010001900002494E70000F07FF0B50C0DC7
+:10410400661E3605891BE60A6405640D02D0651C2B
+:10411400ED0A04D0002001210905803C2403A446B3
+:104124001C0D671E3F05DB1BE70A6405640D02D006
+:10413400651CED0A04D0002201231B05803C2403E6
+:104144007740644497B484B296B27443070C7E43B8
+:10415400150C6F4380B26843361802D30120000463
+:104164003F183004350C00197D41844688B29AB258
+:1041740050430C0C62431F0C7C438EB27E43921955
+:1041840002D301263604A4191604170C3618674105
+:1041940001BC81B29AB25143040C62431B0C5C43D0
+:1041A40080B25843121802D30120000424181004CA
+:1041B400130C401863412D185E410020474106BC92
+:1041C40088B293B258430C0C6343120C544389B223
+:1041D40051435B1802D301210904641819041A0C11
+:1041E400091862416D1856410020474118BCF90274
+:1041F400720D1143F0026A0D1043ED020A0D03D152
+:104204006D1940414941013B124E9B1B7600B3425C
+:104214000ED26D0007D30130002671416646354346
+:1042240001D1400840001B05C918E4072144F0BD32
+:104234000BDA013306D1013004D101314F0D01D025
+:104244004908F2E7E1070020F0BD013631050020FE
+:10425400EBE70000FF030000F0B51C0D671E3F05EF
+:10426400DB1BE70A6405640D02D0661CF60A04D061
+:10427400002201231B05803C2403D0252D060026A3
+:10428400F6432E661E096E66CE0FF619B446490033
+:104294004F0D02D07E1CF60A03D000200021403FBF
+:1042A4003F033E1BB600B444013F7F05C91B4908C8
+:1042B4002E6F013676089C02950D25437543ED1348
+:1042C4007543AD1301356D10F603761B0CB4CC02A7
+:1042D400450D2C43A2B2B3B25A43270C7B43350C91
+:1042E4006F43A4B26C431B1902D3012424043F1965
+:1042F4001C041D0CA4187D4124196D41009A91B22F
+:10430400ACB26143170C7C432B0C5F4392B25A430B
+:10431400A41802D301221204BF182204230C521839
+:104324007B41019C6C431B19520ED9010A43440181
+:10433400A01A81B2B2B2514303145A43360C7343E8
+:1043440087B27743D617D21900277E4136049B19CA
+:104354001704160C7F185E417316ED18F30100263E
+:1043640080337541A90F06D16400690AE8055B0A28
+:10437400184309D22FE00422944480337541A90ADA
+:10438400A8059B0A184326D3404149412404009AB6
+:10439400019B0D005543641B4343E41A95B286B256
+:1043A4007543170C7E43030C5F4392B25A43B6180D
+:1043B40002D301221204BF183204330C52197B4178
+:1043C40052429C41002C02D4002201305141400849
+:1043D400CA071043490802B06246D7079210084B37
+:1043E400D218084B9A4203D212058918C919F0BD94
+:1043F4000020002A01DC3900F0BD01331905F5E77E
+:10440400FD030000FE070000002200B5203200F08A
+:1044140004F8080000BD000000220B150AD410B5F2
+:10442400944600F031F81414013400DA0021CB175B
+:10443400144C20470020002170476244343A0CD4C5
+:104444000C2A07DA04009140904052422032D440B2
+:10445400214310BDD843D94310BD203207D40C46A4
+:104464009440524220321141D040204310BD0800F4
+:10447400C917203203D452422032104110BD180013
+:10448400190010BDFB4100200A0DCC0F531E1B0563
+:10449400C91A520503D3C943404200D30131520D16
+:1044A40003D0531CDB0A07D0121B00206400611CDC
+:1044B40089078912803A1203014BD21A704700000F
+:1044C400FF030000132310B51C781348FFF77AF993
+:1044D400012C0BD004DD01008022104800F04AF8C2
+:1044E4000F48FFF767F90F4B186010BD0B4C010024
+:1044F4005422200000F03EF80B4B6365A365E3658E
+:1045040023666366A366E36623676367A367E3675B
+:104514002362E361E4E7C046534600002C510020C7
+:104524004C33000008500020ED42002007B56046DF
+:1045340001880A0A0230DF2AFAD1C9B2820804D3F8
+:10454400028840880004104300E00068014A50508B
+:10455400039007BD2C51002001480421014B18474A
+:10456400104E002095350020014B1B6818470000B1
+:10457400104E0020014B5B6818470000104E0020CD
+:10458400030010B508001B681100984710BDC04611
+:10459400F8B54746CE4680B5437C80460C001500EE
+:1045A400002B43D0002A34DD0A78037C00200A2A39
+:1045B40033D0012D1ED0204B0121671E994602E005
+:1045C4003100B54216D0635C7A5C4E1C0A2BF7D1DD
+:1045D4000D2AF5D043461B68884204DA091A2018CC
+:1045E400984743461B6802214846984730003100EB
+:1045F400B542E8D1854204DD4346291A1B682018D8
+:1046040098476419013C23780D3B5A425341424672
+:1046140013740CBC90469946F8BD002BC9D143468F
+:10462400054802211B6898470120C2E7036811006E
+:1046340020009847EDE7C046444D0020F8B54E46AB
+:10464400DE4657464546344BE0B51C688146002C8F
+:104654004ED0324B9A46324B9B4602E0E468002C23
+:1046640046D02368002BF9D052461268002A01D0A4
+:10467400A242F3D14F46627C40CF002A48D0002E9C
+:10468400ECDD49460979227C00200A2939D0012E23
+:104694001ED04B4601215D1C03E0013541464645D1
+:1046A40016D04B1C98462B79EA780A2BF5D10D2AA3
+:1046B400F3D02368814203DD091A38189847236828
+:1046C4000221584698470135404641464645E8D1BF
+:1046D400864203DD311A236838189847BF19013F11
+:1046E4003B780D3B5A4253412374E468002CB8D103
+:1046F4004A46002313603CBC90469946A246AB460A
+:10470400F8BD002AC3D10648083998470120BEE7FE
+:10471400310038009847A1E7EC4F0020F04F00200B
+:10472400444D00200B6870B505000C00802B04D0AC
+:104734005A1C2260E418257170BD0800FFF77EFF43
+:104744002368F5E7F0B5DE4657464E464546E0B5E4
+:104754001E00D0231B0683B01C68334B01AF804678
+:104764000D001800390091469B4600F01DFA824660
+:10477400002808D1019B64B29C4204D0584600F042
+:10478400EFF901239A466B1C03D1404600F0A4F9CB
+:104794000500002E28D1254E254B1C68002C16D070
+:1047A4004B46002B22D1234F02E0E468002C0ED0AC
+:1047B4002368002BF9D03B68002B01D0A342F4D12D
+:1047C40020002A004146B047E468002CF0D153464B
+:1047D400002B25D1681E8541E8B203B03CBC90464D
+:1047E4009946A246AB46F0BD134ED5E7114B994608
+:1047F40002E0E468002CEAD02368002BF9D04B4691
+:104804001B68002B01D0A342F3D12A0041462000AB
+:10481400B0470A230122390020003B70B047E8E783
+:10482400584600F0E5F9D5E7344E00205143002006
+:10483400EC4F0020F04F002041430020F0B54746E4
+:10484400CE4680B583B06B46DF1CD02338701B0680
+:104854001C68204B060001A91800984600F0A4F932
+:10486400051E22D01C4B1C68002C2AD01B4B9946D9
+:1048740002E0E468002C10D02368002BF9D04B46EA
+:104884001B68002B01D0A342F3D120000122390080
+:10489400FFF77EFEE468002CEED1002D11D130002C
+:1048A40003B00CBC90469946F0BD019B64B29C4297
+:1048B4000BD0404600F054F9074B01251C68002C2E
+:1048C400D4D1404600F094F9E9E7034B1C68002C6E
+:1048D400CCD1E4E7344E0020EC4F0020F04F002010
+:1048E40070B5040000F0F8F800230100050001226F
+:1048F4002000FFF727FF084B1C68002C06D06368D4
+:10490400002B05D09847E468002CF8D1280070BD2E
+:10491400E468002CF3D1F9E7EC4F00200A4A13684D
+:10492400002B05D10CE01A00DB680C32002B07D0F9
+:104934009842F8D1002902D1C3681360C16070475E
+:104944000029FCD01060FAE7EC4F0020F0B5C64611
+:10495400D02300B5204EA2B01B06070088463000C5
+:1049640001A91C6800F020F9051E07D1019B64B25F
+:104974009C4203D0300000F0F3F80135842200217A
+:1049840001A8FFF7F1FD43463A0001A91348FEF7D9
+:10499400E1FE019B0700002B02D001A8FFF74EFEA9
+:1049A4000F4B1C68002C06D06368002B0AD0984774
+:1049B400E468002CF8D1002D09D1380022B004BCE1
+:1049C4009046F0BDE468002CEED1002DF5D0300007
+:1049D40000F00EF9F1E7C046344E0020E544002013
+:1049E400EC4F00200FB400B583B004A901C90191B4
+:1049F400FFF7ACFF03B008BC04B0184710B500F0D3
+:104A040045F810BDF0B5002915DD0E4B0D271A68C9
+:104A14000D4B4118D3185C4263410C4C5B001E5F84
+:104A240020240578AE4207D093691C42FCD10130A2
+:104A340015608842F5D1F0BD93691C42FCD1176022
+:104A4400F2E7C046205000200080FCBF2850002020
+:104A540030B5002914DD0C4B1A689369DB060FD4BA
+:104A6400002510240138013593691C42FCD11368D8
+:104A74004355A94202D093691C42F4D0280030BDAA
+:104A840003256D42FAE7C04620500020E12110B50D
+:104A94000B4B0C481B780C4B49021B780B4B1860D2
+:104AA400FDF73CF802210020FBF7C0FE02210120A3
+:104AB400FBF7BCFE01210648FFF730FF10BDC046DE
+:104AC400FC020010004003400003001020500020AE
+:104AD400204E00207047C04610B5830727D00378C6
+:104AE400002B26D00300032102E01A78002A1CD0F0
+:104AF40001330B42F9D119680F4A104C8A188A43C2
+:104B040022420FD1043319680B4A8A188A4322427D
+:104B140008D104331968084A8A188A432242F1D01A
+:104B240000E001331A78002AFBD1181A10BD0300E3
+:104B3400E1E70020FAE7C046FFFEFEFE80808080A9
+:104B4400F8B5C0460000000001B40248844601BC28
+:084B5400604700BF730200106E
+:104B5C00D02330B500251B065D57002406E0036802
+:104B6C00BFF35F8F1C6081F3108820BF0268EFF3E6
+:104B7C00108172B61368002BFCD0BFF35F8F0379E2
+:104B8C007F2BECD905710368BFF35F8F00221A608D
+:104B9C0081F3108830BDC046030010B50068EFF3F8
+:104BAC00108472B60268002AFCD0BFF35F8F042217
+:104BBC009A56002A0BDB00290FD000200A601B68D4
+:104BCC00BFF35F8F00221A6084F3108810BDD022CF
+:104BDC001206126801201A71F1E70020EFE7C046B7
+:104BEC000268EFF3108172B61368002BFCD0BFF390
+:104BFC005F8FFF2303710368BFF35F8F00221A607E
+:104C0C0081F3108840BF7047E049002005FF000089
+:104C1C00A08003A088650840209F00006D63752567
+:104C2C0064202D2076616C7565207075743A202592
+:104C3C0030326C78202D2076616C75652072656140
+:104C4C00643A202530326C780A0000004E6F2070D8
+:104C5C00726F6772616D2073706163650000000094
+:104C6C004E6F2050494F207374617465206D6163E1
+:104C7C0068696E65732061726520617661696C612B
+:104C8C00626C6500486172647761726520616C6169
+:104C9C00726D20256420616C726561647920636C8F
+:104CAC0061696D6564000000486172642061737312
+:104CBC00657274000A2A2A2A2050414E4943202A40
+:104CCC002A2A0A00102B0020D02A0020D02A0020EB
+:104CDC00082B0020D02A0020D02A0020D02A002027
+:104CEC00D02A0020D02A0020D02A0020D02A002050
+:104CFC00002B0020D02A0020F82A0020D02A0020E7
+:104D0C00D02A0020BA2A0020E62B0020B02B00204D
+:104D1C00DA2B0020B02B0020C82B0020B02B002059
+:104D2C00B02B0020B02B0020B02B0020B02B00208B
+:104D3C00B02B0020B02B0020182B0020B02B002013
+:104D4C00B02B0020B02B0020B02B0020B02B00206B
+:104D5C00182B0020642E00207E2A00207E2A0020A2
+:104D6C007E2A00207E2A00207E2A00207E2A002017
+:104D7C007E2A00207E2A00207E2A00207E2A002007
+:104D8C007E2A00207E2A00207E2A00207E2A0020F7
+:104D9C007E2A00207E2A00207E2A00207E2A0020E7
+:104DAC007E2A00207E2A00207E2A00207E2A0020D7
+:104DBC007E2A00207E2A00207E2A00207E2A0020C7
+:104DCC007E2A00207E2A00207E2A00207E2A0020B7
+:104DDC007E2A0020B42E0020342E0020B42E002079
+:104DEC007E2A00207E2A00207E2A00207E2A002097
+:104DFC007E2A00207E2A00207E2A00207E2A002087
+:104E0C007E2A00207E2A00207E2A00207E2A002076
+:104E1C007E2A00207E2A00207E2A00207E2A002066
+:104E2C00642D00207E2A00207E2A00207E2A00206D
+:104E3C007E2A00207E2A00207E2A00207E2A002046
+:104E4C007E2A00207E2A0020642D0020F82C0020D1
+:104E5C00642D0020B42E0020342E0020B42E00200F
+:104E6C007E2A0020642D00207E2A00207E2A00202D
+:104E7C007E2A00207E2A00207E2A0020642D00201D
+:104E8C00B22C00207E2A00207E2A0020F62B002047
+:104E9C007E2A0020642D00207E2A00207E2A0020FD
+:104EAC00642D0020666E6900666E692B00000000A0
+:104EBC006E616E00666E692D00000000000000003F
+:104ECC00000000000000F03F000000000000244043
+:104EDC0000000000000059400000000000408F401E
+:104EEC00000000000088C34000000000006AF84089
+:104EFC000000000080842E4100000000D0126341AD
+:104F0C000000000084D797410000000065CDCD4122
+:104F1C0006005250BBFF3CB6244D002006005250F8
+:104F2C00E182887F0C4D002006005250D3F0754270
+:104F3C00044D002052656C6561736500626F6F747F
+:104F4C00325F77323571303830000000312E342E1C
+:104F5C00300000007069636F000000006475616CC4
+:104F6C002D6D63752D3000004A616E203330203278
+:104F7C00303233000D0A00000600525053B4F4A135
+:104F8C00744D0020080052509200000055415254BC
+:104F9C0020737464696E000055415254207374641C
+:104FAC006F7574005541525420737464696E202FD0
+:104FBC00207374646F757400100000000000000012
+:104FCC0000000100000000000000000000000200D2
+:104FDC0000000000000000000000030000000000C2
+:104FEC00000000000000FF000000000000B5486851
+:104FFC0001318E460047704609380149884700BD8B
+:10500C0089080020EC4D002000000000504E0020CC
+:10501C00AC4F00200000000000000000BC4F00203E
+:10502C000000000000000000100000000000000064
+:10503C00503300004C330000543300005233000056
+:10504C004D5300004D430000533400004334000026
+:10505C00C54700200000000011480020000000009F
+:10506C0000010000000000000000000019430020B7
+:10507C0065350020693C0020854200203901002064
+:04000005100001E9FD
+:00000001FF
diff --git a/demo/dual-mcu/dual-mcu-1.hex b/demo/dual-mcu/dual-mcu-1.hex
new file mode 100644
index 0000000..be76e03
--- /dev/null
+++ b/demo/dual-mcu/dual-mcu-1.hex
@@ -0,0 +1,1247 @@
+:020000041000EA
+:1000000000B5324B212058609868022188439860DF
+:10001000D860186158612E4B002199600221596106
+:100020000121F02299502B49196001219960352056
+:1000300000F044F80222904214D00621196600F024
+:1000400034F8196E01211966002018661A6600F04E
+:100050002CF8196E196E196E052000F02FF8012189
+:100060000842F9D1002199601B49196000215960AB
+:100070001A491B48016001219960EB211966A021F2
+:10008000196600F012F800219960164914480160C1
+:100090000121996001BC002800D000471248134993
+:1000A000086003C880F30888084703B5996A0420EC
+:1000B0000142FBD001200142F8D103BD02B5186610
+:1000C0001866FFF7F2FF186E186E02BD00000240BE
+:1000D000000000180000070000035F00212200005C
+:1000E000F4000018222000A00001001008ED00E03C
+:1000F00000000000000000000000000074B24E7A12
+:1001000000200420F7010010C3010010C5010010F9
+:10011000C1010010C1010010C1010010C101001097
+:10012000C1010010C1010010C1010010C701001081
+:10013000C1010010C1010010C9010010CB01001065
+:10014000CD010010CD010010CD010010CD01001037
+:10015000CD010010CD010010CD010010CD01001027
+:10016000CD010010CD010010CD010010CD01001017
+:10017000CD010010CD010010CD010010CD01001007
+:10018000CD010010CD010010CD010010CD010010F7
+:10019000CD010010CD010010CD010010CD010010E7
+:1001A000CD010010CD010010CD010010CD010010D7
+:1001B000CD010010CD010010CD010010CD010010C7
+:1001C00000BE00BE00BE00BE00BE00BE00F051F882
+:1001D000103800BEF2EB8871E0020010040300103A
+:1001E0003402001090A31AE700202449086006C8D2
+:1001F00081F30888104722480068002835D10DA4F3
+:100200000ECC002902D000F012F8F9E71D491E4A71
+:10021000002000E001C19142FCD11C4988471C49E3
+:1002200088471C49884700BEFDE701C901C29A42C0
+:10023000FBD3704704030010C0000020404600209C
+:100240008448001040460020704B0020B44D001040
+:100250000000042000000420B44D00100010042011
+:10026000001004200000000070470B4800F018F850
+:100270000047EFF30580C0B27047000008ED00E0D2
+:10028000000000D0704B00204C4F0020E9160020E9
+:100290005D010020DD17002057560000000000001F
+:1002A00001B40248844601BC604700BF9D32002073
+:1002B00006005250ABB360533C4A00200600525037
+:1002C000861C03024C4A0020060052505422A29D74
+:1002D000584A002005005250DE65F468B44D001005
+:1002E000D4020010C8020010BC020010004A002016
+:1002F000B00200100C4A0020184A0020684A002072
+:04030000744A00201B
+:10030400F8B5C0460448054B10B5834203D0044BEE
+:10031400002B00D0984710BD704B0020704B00207C
+:100324000000000006480749091A8910CB0F591824
+:1003340010B5491003D0044B002B00D0984710BDD2
+:10034400704B0020704B00200000000010B5074CDB
+:100354002378002B09D1FFF7D5FF054B002B02D0E2
+:10036400044800E000BF0123237010BD704C00203E
+:100374000000000040460020054B10B5002B03D0C0
+:100384000449054800E000BFFFF7CCFF10BDC0469C
+:1003940000000000744C002040460020F0B5DE460A
+:1003A400454657464E46E0B58BB004F0BBF90121F3
+:1003B4003D4800F083F83D4980463B4800F09CF8F6
+:1003C400002380220593F82352025B0202920393D6
+:1003D400C02305001B03102202A906A8049303F0FE
+:1003E4005DFF2B1DEA011B03134306A9102202A87B
+:1003F400079303F053FF2E4B0224059380231B0322
+:1004040004932000062100F00FFA200000220121AD
+:10041400013400F021FA0A2CF3D10023224C414686
+:10042400009302220833200000F0CAF82A00414653
+:1004340002AB200000F008F943461E4A0125944609
+:10044400FA225B004344DB00634452041A604146D1
+:100454002B008B4022682E00134323604346103345
+:100464009E40083B9D408B009846134B00279B46BB
+:1004740008239A46073B994653464846DB1B984057
+:10048400FF22424063681E42FCD10749414408618F
+:1004940063681D42FCD10B6A5846012104F036F909
+:1004A400072301371F40E7E700002050F8460020EB
+:1004B40002008100C80020500C4700200B4B10B5EF
+:1004C4009C46604444424441094AA40082B00092DC
+:1004D400E31C2200074800F037F9844202DC001BC9
+:1004E40002B010BD01204042FAE7C0460000D0AF80
+:1004F40050470020444D0020F8B5DE464546574697
+:100504004E46E0B505000F0000F0E6F8294B8046A2
+:10051400E9184B425941284B3E799C468B009B4637
+:1005240063465A46985801230524B34020223C5779
+:10053400013B921B002C2FDB944237DCA340184272
+:1005440034D19946002E18D07B783A781B021A438E
+:10055400BB781B041343FA7812061A43924600230D
+:1005640051465A008F5A7A0B00D1E7191A191232E0
+:100574009200013357519E42F2D84B465A461843D3
+:1005840063469850404600F0B3F820003CBC9046C7
+:100594009946A246AB46F8BD002A07DB19009140F4
+:1005A400140089460142CDD0013AF7D2034801F044
+:1005B40037FAC0460000D0AF8C4C00203C470020E6
+:1005C400F0B557464E464546DE468B464900E0B5F3
+:1005D4000D0082465D44ED0055442F0009AC267899
+:1005E400DC37741EA6418946396874428C46154925
+:1005F4001F26884626404644052B0ED9A020B8461F
+:100604001F274005D8354146540104430532053BB4
+:100614000C603A402E60052BF5D859464944C90070
+:10062400514452019B0613430A000800DC32136054
+:100634006346D830066013603CBC90469946A24697
+:10064400AB46F0BD80E00000F0B501258D400468A4
+:10065400AC434D0004606C18E40004192600C8364D
+:10066400002B2AD01F68DC3437605F6877609F688E
+:10067400DB68B76023606D18ED002C008023D03454
+:1006840004195B012343802424061C601C60114B65
+:100694000C1D8B40836001231F00A7403C000831E0
+:1006A4008B400668344304600468234303601F23BB
+:1006B40040191A40D8300260F0BD80277F023760AD
+:1006C400F8277F027760C027DC343F03B7602360DC
+:1006D400D1E7C04601010101EFF3108072B6034A6D
+:1006E4001368002BFCD0BFF35F8F70472C0100D040
+:1006F400BFF35F8F0022024B1A6080F310887047AB
+:100704002C0100D0F8B5EFF3108772B60D4E3368A4
+:10071400002BFCD0BFF35F8F0725CB08C018012343
+:100724000D40AB401D000478254007D123430370DE
+:10073400BFF35F8F356087F31088F8BD100001F0B8
+:100744006FF9C0462C0100D0F8B5CE4647468C461A
+:1007540080B5EFF3108872B6214D2C68002CFCD0C4
+:10076400BFF35F8F9A422CD80721012511408D4099
+:10077400D4080419267835421FD007218946063942
+:1007840009E04D460F001540AF40D40804192678FF
+:100794003D00374211D001329342F2D2012040424F
+:1007A400BFF35F8F00220E4B1A6088F31088002875
+:1007B4000FDB0CBC90469946F8BD354325701000FC
+:1007C400EEE7BFF35F8F00232B6088F310880120CE
+:1007D40040426346002BECD0089801F021F9C04652
+:1007E4002C0100D0024B18688007C00F7047C04628
+:1007F40000C006400021044B044ABFF35F8F02C3CC
+:100804009342FAD17047C046000100D0800100D065
+:10081400044A1078431CDBB2172B00D91023137041
+:100824007047C046A84A0020094A830094464022E3
+:10083400634410B51C68C0006240C0241440802288
+:10084400520113431C60034B9C466044416010BD3D
+:1008540004C00140004001400A4B80009C46042330
+:100864006044002901D00C230821002A00D10B0088
+:10087400026853400C221A4080235B011843026033
+:100884007047C04604C0014001238340002904D0BE
+:10089400034A1360034A13607047034A1360FBE77B
+:1008A40080E200E000E100E080E100E0024B103073
+:1008B4009B688000C058704700ED00E070B50D00E3
+:1008C400EFF3108672B60F4A1368002BFCD0BFF307
+:1008D4005F8F0D4B10309B6884001B590B4A934269
+:1008E40003D09D4201D001F0B3F8074B9B681D5122
+:1008F400BFF35F8FBFF35F8F0022024B1A6086F352
+:10090400108870BD240100D000ED00E0CD0100107E
+:10091400F0B54546DE4657464E46E0B50D0083B079
+:10092400EFF3108A72B65A4A1368002BFCD0BFF357
+:100934005F8F1022914681444A46564B96009B682D
+:100944009C59554B98469C4205D0AC4216D0534F07
+:10095400E31B2F2B14D94F4B9B689C51BFF35F8F24
+:10096400BFF35F8F00224A4B1A608AF3108803B0EA
+:100974003CBC90469946A246AB46F0BD1C00EAE753
+:10098400012383409B465A46454B1B681A400092FC
+:100994005A46444B1A60BFF35F8F03F069FF01901E
+:1009A400002803D0814501D001F052F80123220030
+:1009B40006219A43936851569D420AD152E04B0056
+:1009C4005B1806219B00FB1898685956A8420FD063
+:1009D4001A000029F3DA009B002B05D05A46324B4B
+:1009E4001A602F4B1A60B6E75A462E4B1A60B2E7CC
+:1009F400002921DB4A00501880003D188046A86871
+:100A04009860E879D871062028569871002826DB6A
+:100A1400AD88F81A6D052D1545444019E0250005EB
+:100A2400400D2D02284398805218204B9200BF1885
+:100A34001A781970BA71CEE70199002918D1002AE1
+:100A440023D0FF3191711A49918018490A789A711B
+:100A5400184ADB1B5B415A43120D0A70BBE7BD20E9
+:100A64000002E0E713000029C4DA019A002A0CD03E
+:100A7400114A1249D21A083A5002400D0143998092
+:100A84000F4952080A43DA80A5E74446DDE7C04629
+:100A9400240100D000ED00E0CD010010AC4A00209C
+:100AA40000E100E080E100E080E200E0464D00204B
+:100AB40000BDFFFFAAAA0000E64A002000F0FFFFE5
+:100AC40000F8FFFFF8B501250400054303F0D0FE4C
+:100AD400EFF3108672B6214A1368002BFCD0BFF3E3
+:100AE4005F8F1F4B1F4A2100C91A49414A43120D07
+:100AF4001D4980008F6852B23F58AF421CD0062176
+:100B0400595691421CD012215956914222D01E218D
+:100B14005956914220D02A2159560320914210D08F
+:100B2400124B19781A70A171BFF35F8F00220B4B1F
+:100B34001A6086F31088F8BD8B680D491950EFE7E9
+:100B440000204100091889005B18FF2199710949A7
+:100B54009980E5E70120F4E70220F2E7240100D0C0
+:100B6400AC4A0020AAAA000000ED00E0464D002097
+:100B7400CD01001000BDFFFF054B064A1360064A75
+:100B8400136053609360D360136153619361704742
+:100B94008080808000E400E004E400E0024B9C4696
+:100BA40061448900016070474000003483680B4849
+:100BB40010B5844661446244090112019A18591817
+:100BC40054684B6801209C4201D802D00020C0B276
+:100BD40010BD12680B689A42F9D8F7E7FFFFFF0FC0
+:100BE400F8B5454657464E46DE46E0B514000DAA14
+:100BF40012781D000CAB92461B7802688146904621
+:100C0400002B13D1977B002F4AD040467E001268F8
+:100C1400F619033E921951783B008173002900D1E3
+:100C2400C173002191705170117003E01F005E00C8
+:100C3400F618033E2E4A94464A4692686344944604
+:100C44001B010A9A63449A600B9A1C605D60DA6027
+:100C5400434600221B689B199A705A701A704346C7
+:100C64005B7B9B46002B2BD043463A009868594641
+:100C74005B6898475B4642465B005B44033B1268F3
+:100C8400002814D0D31896195A46B2701A78002A3C
+:100C940000D072701F705A4643465A73BB4511D038
+:100CA40038003CBC90469946A246AB46F8BDD318E2
+:100CB40096199F703278002A00D05A705B463370C0
+:100CC40043465F734B462200187D2B0000F0E2F987
+:100CD400041E07D05346002B04D14B463900186834
+:100CE40000F056FD0E9B002BDAD01C70D8E7C046EE
+:100CF400FFFFFF0FF0B5DE4657464E46454600233C
+:100D0400E0B58DB00A936D4B8200D45800239B4606
+:100D14000B9000F06DF96268EFF3108572B61368FA
+:100D2400002BFCD0BFF35F8F23689C465B7B994606
+:100D3400002B00D16BE0A268614B90464B441B0131
+:100D4400984443461E685F6832003B00121A8B4188
+:100D5400002B65DD3B0032000B9800F09BF900236B
+:100D6400002208920993002300279A466368BFF380
+:100D74005F8F5A461A6085F310885346002B08D1BA
+:100D84000028C6D10DB03CBC90469946A246AB465D
+:100D9400F0BD0A9B390018024B461843D0476268DD
+:100DA40006900791EFF3108872B6564645461368CD
+:100DB400002BFCD0B246A846BFF35F8F0699079A72
+:100DC400131E49DB194302D02369002B5FD123682A
+:100DD400DA7B002A07D051008A1819688C464946E4
+:100DE4006244033A51704A46DA73E2684B469446C9
+:100DF400013B63441A7801321A705B4623616368CD
+:100E0400BFF35F8F5A461A6088F3108881E7002386
+:100E1400002208920993002300279A460020A5E7A0
+:100E2400002B01D1002A95D10021604600F0D2FBAD
+:100E340043461A685B680892099343469B689A463E
+:100E44004346DF68E3684B44013B1B780A931B026B
+:100E540003432361002089E72369002BB7D0089D51
+:100E6400099E6D1A96412A003300089D099E9E42F0
+:100E740018D81BD059460491012103914946029187
+:100E84005146019700912000FFF7AAFEB5E700F054
+:100E9400AFF8069A079B12184B41994202D8E9D140
+:100EA4009042E7D901225242D317E3E708999142CD
+:100EB400E0D901225242D317DCE7C046184D002086
+:100EC400FFFFFF0F10B5124C6368002B04D00A21FA
+:100ED4001048FFF763FE10BD23000F4A102120685D
+:100EE40000F09AF9032000F077F8032000F046F9A7
+:100EF4000A49032000F088F8FFF78AFC084B9C4657
+:100F0400032360442375074B80006060DC60DEE7E8
+:100F1400F44A00202C4D00206D090020B50A002061
+:100F240040000034184D0020F0B5C64600B5EFF37C
+:100F340005833F22134018001038EFF3108772B670
+:100F44001F4D2A68002AFCD0BFF35F8F01221100D5
+:100F54008140884644461B494C631B4C2678A44672
+:100F64003400C440224015D04C6A184982005158BC
+:100F74008C4217D3164BD25843469E4363461E7089
+:100F8400BFF35F8F00232B6087F31088002A06D0FD
+:100F9400904704E0BFF35F8F2A6087F3108804BC96
+:100FA4009046F0BD0B4A9B00944663441A681A604D
+:100FB400BFF35F8F00232B6087F31088EFE7C046F1
+:100FC400280100D000400540474D0020304D00204E
+:100FD400944C0020D03F054010B50100024A03485C
+:100FE400FFF790FB10BDC04674470020454D00201C
+:100FF400044A516A00E01900906A536A9942FAD18E
+:101004007047C0460040054070B504000D00EFF382
+:10101400108672B61A4A1368002BFCD0BFF35F8F98
+:10102400002D1BD02000FFF741FC164988420AD04E
+:101034002000FFF743FC01212000FFF725FC0123DA
+:10104400A340114A1360114BA400E550BFF35F8F16
+:1010540000220B4B1A6086F3108870BD0B4BA20064
+:10106400D5500122A2400A4920000B7893430B700B
+:101074000449FFF74DFC00212000FFF705FCE5E7DC
+:10108400280100D0E90C002038600540944C002071
+:10109400474D0020F0B5D6464F464646324CC0B5C3
+:1010A400656A00E00D00A66A616AA942FAD1AB4202
+:1010B40009D806D0012420001CBC90469946A246BB
+:1010C400F0BDB242F6D9EFF3108972B6274C21680D
+:1010D4000029FCD0BFF35F8F0126254986408C464A
+:1010E4000978244D0F0037438846F9B28A46614691
+:1010F40054460C701C49041DA4004E6362508400C5
+:1011040063510D6A002435421AD04D6A00E025006F
+:101114008F6A4C6AAC42FAD1AB4219D801D1BA42B7
+:1011240016D8C2451DD0104B134A1E625E631F239E
+:1011340018401E3B834013606346424601241A70E4
+:10114400BFF35F8F0022094B1A6089F31088B2E75E
+:101154000024BFF35F8F0022044B1A6089F31088C8
+:10116400A9E70124ECE7C04600400540280100D06F
+:10117400474D0020304D002080E200E010B5EFF331
+:10118400108472B60A490B68002BFCD0BFF35F8F42
+:1011940001238340074A0848136202789A43027085
+:1011A400BFF35F8F00230B6084F3108810BDC0462B
+:1011B400280100D000400540474D002070B50600CE
+:1011C4000D00140000291ED0002A1ED07368806808
+:1011D400984763006A001B195219033B033A3168AC
+:1011E400002808D0CB188A189D70117800290ED1D8
+:1011F4001470280008E08A18CB1894701978002914
+:1012040000D051701D70200070BD0800FCE75970BB
+:1012140028001470F8E7C046F0B5DE4657464E463F
+:101224004546E0B58360002389B0426002680691B8
+:101234004373C9B20133059101738373C17304927B
+:10124400012900D8A4E00A004B1ED9B2931E0791CD
+:10125400072B00D8AEE00025CB080393049B564C23
+:10126400591C564B56489B46564B9A46564B9C46E1
+:10127400564B0293524663465F465E4662401A40AE
+:10128400504B2740FB185A40064053460196664689
+:10129400434033404B4E0A70B046019E0135B1467F
+:1012A400C844464673401604360ECE701602120E1B
+:1012B4004A721A04120E0B73CA731A021B0E4B7570
+:1012C400029B360E5C4063461C40404B120E98460F
+:1012D400029B47445840634618404B464344584099
+:1012E400039BEDB28E718A747C401831AB42C1D13C
+:1012F400079907230A009A43531CDBB2914247D053
+:10130400049C5A00A446D218591C6244059DC9B2D3
+:10131400033A51708D423BD94A005218981C6244DA
+:10132400C0B2033A5070854232D942001218D91C17
+:101334006244C9B2033A51708D4229D94A00521805
+:10134400181D6244C0B2033A5070854220D942004D
+:101354001218591D6244C9B2033A51708D4217D90B
+:101364004A005218981D6244C0B2033A5070854234
+:101374000ED942001218D91D6244C9B2033A517001
+:101384008D4205D94A0052186244033A0833537017
+:10139400FF23069A13405900C918049B9C46002356
+:1013A400614403394B7009B03CBC90469946A2464F
+:1013B400AB46F0BD0123A3E7010203047F7F7F7FD7
+:1013C40005060708010101018080808008080808DB
+:1013D40070B50400002907D04B0000685B18033B7C
+:1013E400C3185A78002A01D1080070BD5500AD1801
+:1013F400033D40190025467845705D702000FFF7D5
+:10140400DDFE310005002000FFF7E2FF29000200A5
+:101414002000FFF7D3FE0100E6E7C046F0B54E46D4
+:101424004546DE465746E0B50E0074000168A4192F
+:1014340085B0033C01920A190500107800284CD0AD
+:1014440043001B18033BCB185F78BC46002F16D112
+:10145400019C002C3ED0EC7B002C04D063001B19B3
+:10146400CB18033B5E70EE7300282FD1002353701A
+:1014740005B03CBC90469946A246AB46F0BD7A0006
+:101484006244033A89184A78934600224A70904687
+:101494005A7001003A002800FFF790FE5B4681462F
+:1014A400002B07D05B0029685B44033BCB185A78B8
+:1014B400002A16D15A4649462800FFF77FFE2968BC
+:1014C400019B0A19002BC6D10028CFD043001B185A
+:1014D400033BCB1800219970C8E7019B002BBAD1BC
+:1014E400C4E75000801803380918487882464046FB
+:1014F4004870587059462800FFF760FE53468346EB
+:10150400002B07D05B0029685344033BCB185A785F
+:10151400002A06D1594652462800FFF74FFE83465B
+:10152400C8E7500080180338091840464F784870BF
+:101534005870514628000297FFF740FE8246002F5C
+:1015440008D0BC467B0029686344033BCB185A7817
+:10155400002A06D15146029A2800FFF72FFE824640
+:10156400D8E7500080180338091840464F7848706F
+:101574005870029928000397FFF720FE8046002F39
+:1015840008D0BC467B0029686344033BCB185A78D7
+:10159400002A06D1039A41462800FFF70FFE029065
+:1015A400D8E7032050430338091800204F784870C7
+:1015B400587003992800FFF701FE390002902800B3
+:1015C400FFF706FF029902002800FFF7F7FD0390DA
+:1015D400E0E7C046F0B54E464546DE465746E0B520
+:1015E400467B050074000068A419033C85B0021909
+:1015F4000191117800294ED04B005B18033BC318AE
+:101604005F78BC46002F18D1019C002C40D0EC7BA5
+:10161400002C04D063001B19C318033B5E70EE73E7
+:10162400002931D1002330005370697305B03CBCEC
+:1016340090469946A246AB46F0BD7A006244033A0E
+:101644008018427893460022427090465A702800CF
+:101654003A00FFF7B3FD5B468146002B07D05B00E1
+:1016640029685B44033BCB185A78002A17D15A46A1
+:1016740049462800FFF7A2FD019B010028680219D2
+:10168400002BC4D10029CDD04B005B18033BC318F9
+:1016940000209870C6E7019B002BB8D1C2E7500028
+:1016A40080180338091848788246404648705870B4
+:1016B40059462800FFF782FD53468346002B07D086
+:1016C4005B0029685344033BCB185A78002A06D19F
+:1016D400594652462800FFF771FD8346C7E750007C
+:1016E40080180338091840464F784870587051469E
+:1016F40028000297FFF762FD8246002F08D0BC46FF
+:101704007B0029686344033BCB185A78002A06D12E
+:101714005146029A2800FFF751FD8246D8E750004F
+:1017240080180338091840464F7848705870029959
+:1017340028000397FFF742FD8046002F08D0BC46DF
+:101744007B0029686344033BCB185A78002A06D1EE
+:10175400039A41462800FFF731FD0290D8E70320A1
+:1017640050430338091800204F7848705870039983
+:101774002800FFF723FD390002902800FFF728FE18
+:10178400029902002800FFF719FD0390E0E7C04624
+:1017940070B5040000292CD0437B8B422ED0056801
+:1017A40048004018033828188278002A21D05300B2
+:1017B4009B18033BEB181A788A4202D11BE0002ADB
+:1017C40008D053009B18033BEB185A788A42F6D191
+:1017D40042785A7000230122837043702000FFF77F
+:1017E4001DFE617B02002000FFF7E8FC607301200E
+:1017F40000E0002070BD42781A70EBE70122190066
+:10180400FFF70CFE60730120F4E7C04610B5040036
+:10181400FEF7FEFF01002000FFF7C0F9FF2323714C
+:10182400BFF35F8F10BDC04610B50400FEF7F0FF94
+:1018340001002000FFF7B2F9FF23A380BFF35F8FFD
+:1018440010BDC046F8B5040006200D0000F066FA8D
+:10185400002845D02B4B2C49E3185A42534180228F
+:10186400D20394465B421340284A63441360284AD7
+:10187400136018008A689043FBD1224B8021E3183F
+:101884005A425341234A5B0049000620995200F012
+:1018940045FA2900C00001F077FEC30921D1402791
+:1018A4000122260080256262A36200232C36AD014A
+:1018B40035432B60062000F031FA3900800001F036
+:1018C40063FE6023E26A53406E221A4080235B0168
+:1018D40033431A60104B236310232B600D3BA36426
+:1018E400F8BD0E4A934203D900230D4F0D4AD8E7A1
+:1018F4007F221040013040089F011A003F18030066
+:10190400CFE7C0460080FCBF00C0004000E00040BC
+:1019140000F00040484D002001030000FEFF0000DD
+:10192400C0FF3F00FFFF00002D4B2E4A70B51A6028
+:101934002D4A2E4B2E491A6010008B689843FBD118
+:101944002C4C2D4B9C4209D2013B1D1BAD0801358B
+:10195400AD002D1908CC9847AC42FBD100F07EF8BD
+:10196400264A224B1A60224A9368DB018033FBD15A
+:101974004022234B234D24489A675A671A67DA6634
+:10198400A84205D30EE0FFF74FFF2000AC4209D276
+:10199400040003680834002BF5D1FFF737FF20005B
+:1019A400AC42F5D3194C1A4DA168C022280002F0AC
+:1019B40075FCA560FEF71EFFFFF7DEF8FFF782FA5D
+:1019C400144C154B9C4209D2013B1D1BAD0801353B
+:1019D400AD002D1908CC9847A542FBD170BDC04677
+:1019E40000E00040BFCDFBFEFE7F3C0000F0004065
+:1019F40000C000405C4B00206C4B0020FFFFFF0147
+:101A040000F001405C4B0020544B002000ED00E04E
+:101A1400000000206C4B0020704B002000BEFDE74E
+:101A24000FB400B5084883B002F0EEFD049B002B10
+:101A340007D005A91800019101F030FD034802F018
+:101A4400E3FD00BEFDE7C046A44700203847002060
+:101A540010B50148FFF7E4FF9847002030B50C208B
+:101A640083B000F0B5F9FEF7BDFE00280ED0944B0C
+:101A7400944A1A605A609A60DA601A615A619A61EB
+:101A8400DA611A62904A5A6203B030BD8F4CA06783
+:101A940000F0A6F901228E4B1A60636C012BFCD175
+:101AA40003228C4B1A60894A936B012BFCD10133BE
+:101AB4000093894A04330121884800F035F905234D
+:101AC400874A00930121874800F02EF9864B5A6813
+:101AD400FF2A02D8802252005A608022784C7D4B23
+:101AE40021691201804D1A60002905D0606901F056
+:101AF4004BFD01300138FDD1E0217B4B02201A68F7
+:101B04001140802252012A43116019684840032180
+:101B14000140116004219A681142FCD08022802186
+:101B240092012A4309011160802252005A606F4BCE
+:101B340023616F4B5968FF2900D85A6003226C480F
+:101B4400634B01211A60020093681942FCD0E0251E
+:101B540013681D4080235B0103431D6012684A40E3
+:101B64000321114019600221614A93681942FCD093
+:101B7400802380219B0103430901196080215D4B6F
+:101B84004900516063615C4B5A68FF2A00D8596070
+:101B940080225A4BE1691201574D1A60002905D081
+:101BA400606901F0F1FC01300138FDD1E0225249B5
+:101BB4000B681A4080235B012B431A608023802228
+:101BC4009B012B4312011A6080223E4B52004A6053
+:101BD400E3614B4B5968FF2900D85A608022494B76
+:101BE400216A1201464D1A60002905D0606901F08E
+:101BF400CBFC01300138FDD1E02241490B681A4089
+:101C040080235B012B431A60802380229B012B439A
+:101C140012011A6080235B004B602A4B3A4A23620C
+:101C24003A4B5968914201D801325A608022384BAC
+:101C3400616A1201354D1A60002905D0606901F00E
+:101C4400A3FC01300138FDD1E02230490B681A4071
+:101C540080235B012B431A60802380229B012B434A
+:101C640012011A608023DB024B60174B6362294B1D
+:101C74005A68FF2A02D8802252005A608022264BDA
+:101C8400A1691201234D1A60002905D0606901F091
+:101C94007BFC01300138FDD1E0221E490B681A405B
+:101CA40080235B012B431A60802380229B012B43FA
+:101CB40012011A6080235B004B600E4BA361E3E6C4
+:101CC400A44C0020006CDC021BB700000080004024
+:101CD4003CB0004030B00040002F68590080024002
+:101CE400008C864700C0024030800040001BB700D3
+:101CF4003C800040405973075480004054B0004079
+:101D04006080004060B00040FFFF03006C80004032
+:101D14006CB000404880004048B00040014B800057
+:101D2400C0587047A44C0020F8B504000C201E00D5
+:101D340017000D0001F028FC4201121A9101891AC2
+:101D4400C90009188901380001F01EFC069B2268AD
+:101D540036041B033343002A21DB194A194EA21807
+:101D640051424A41802149018C4652420A40164957
+:101D740062440A6015490A601700B1688F43FBD1B9
+:101D8400C021221D8901114321222560A0600A601F
+:101D94002268002AFCDAE36008230B60F8BD3F22C6
+:101DA40021680A40AA42D8D1A2681205120D8242C3
+:101DB400D3D1EE21E268C9020A409A42CDD1EDE7BF
+:101DC4000040FDBF00C0004000E0004000F00040C3
+:101DD4008023024A9B000343D3627047008005407E
+:101DE400AA23064A1B0113602F230549D360054B20
+:101DF40019605368002BFCDA7047C046004002406B
+:101E040000B0FA00006002407047C046F8B557467B
+:101E14004E464546DE46E0B599460A9B07009A467B
+:101E24000D9B884693460B9E15009B070FD10C9B78
+:101E34009E420CD29D1B0E005D44541C4B46310047
+:101E44002020B8472200A542F7D1B0460B9E002EB1
+:101E540028D04446AD195346AA1B013E985D210083
+:101E64004B46B847002EF6D123002C0098460D9B14
+:101E74009B0710D55B46E51A0C9BAB420BD9464633
+:101E84002200984601344B46310020200135B847E2
+:101E94002200A845F6D820003CBC90469946A246AC
+:101EA400AB46F8BD2C00E2E7F0B54F464646D646B1
+:101EB400C0B584B098460EAB1B7894469946129BE5
+:101EC4000D9C109F119E9A0724D401221A40924619
+:101ED400002E62D1BC420CD21F2C00D9B8E00C9A5F
+:101EE400551E302201E0202C03D001342A55A7428C
+:101EF400F9D85246002A0DD0A6420BD9202C5AD02C
+:101F04000C9A551E302201E0202C54D001342A555D
+:101F1400B442F9D1DA0632D55A0555D4002C4FD142
+:101F24000F9A102A00D18CE0022A00D17EE03022E0
+:101F34000C9C22704A460124002A25D02D220C9D97
+:101F44002A55013403930C9B029600930194434653
+:101F54006246FFF75BFF04B01CBC90469946A2465C
+:101F6400F0BD202CEED00C9A1519013478222A7079
+:101F7400202CE7D030250C9A121915700134202C2E
+:101F8400E0D04A46002AD9D15A0728D41A07D9D50D
+:101F940020220C9D2A550134D4E7002A24D04A4635
+:101FA400002A28D10C321A4225D1BC42A4D21F2CBB
+:101FB40095D9202E1DD92024DA06C3D55A0503D479
+:101FC400A7421AD0B44218D00F9A102A1FD0022A5E
+:101FD400CED1202CB6D00C9A121901342EE02B222B
+:101FE4000C9D2A550134ADE7BC4293D21F2C00D876
+:101FF40075E720248EE7013ED7E7621E002A10D041
+:102004000F9D102D2DD0022D15D01400B2E79A0685
+:10201400A7D5202C96D058250C9A12191570013486
+:10202400A6E70F9C102C15D0022CEED162220C9C3A
+:10203400227001249EE70C9DAA4652446225157025
+:1020440096E79A06E7D478220C9C2270012491E743
+:1020540020244EE79A06F6D558220C9C22700124BF
+:1020640088E7023C9D06D6D40C9D2D1914007DE70B
+:1020740010B5002800D110BD02F074FAFBE7C04689
+:1020840010B5002803D04A680B681100984710BDAA
+:10209400F0B5454657464E46DE46E0B59BB0249D16
+:1020A400259C82468846099299462A0023002800E6
+:1020B400210001F032FD002800D0CBE00122D94BF1
+:1020C40052422800210001F023FD002800D0C1E085
+:1020D4000122D54B52422800210001F00BFD0028BB
+:1020E40000D0B7E0002200232800210001F002FD07
+:1020F400002800D0EDE1AB4608948023289ADB0049
+:102104001A40119201D1062326935B460C93802337
+:102114005946289A1B011A40089B10920B4300D081
+:10212400AFE0002A00D0BFE104260D930E930C9378
+:1021340000230A93279BB34201D99B1B0A930227CE
+:10214400289B1F4005D0734273410A9A5B421A4090
+:102154000A920C9B002B07D0584608990D9A0E9BA7
+:1021640001F067FC83460891002200232800210027
+:1021740001F0C0FC002805D08020000684460899A0
+:1021840061440891289AA94B414613405A46049346
+:102194000A9B50460393269B0293089B009201934B
+:1021A4004B46099A00F0A2F9002E63D0289B020046
+:1021B4009C061F23E4179C436534431C08932000AA
+:1021C4004B464146D0470C9B0024DA179D18DB0F81
+:1021D4009B46731E55400C9302E00500202C11D041
+:1021E4000AAA94461F23013463440A2128001E19B5
+:1021F40001F0CAF93031317028000A2101F0C4F924
+:10220400092DEAD8052306930C9B0194059300231A
+:1022140004930A3303935B46029312AB0093089A28
+:102224004B4641465046FFF73FFE002F22D0099B04
+:10223400C41A279BA3421DD9020057461E00551CF1
+:102244004B46414620200134B8472A00A642F6D81E
+:1022540028000FE0289B2A000493279B4146039300
+:10226400269B504602932300009201934B46099A01
+:1022740000F03CF91BB03CBC90469946A246AB46E4
+:10228400F0BD6B4A089B94465800400D604401F031
+:1022940057FC684A684B01F0EAFB684A684B01F056
+:1022A400BFFB089B674A1B031B0B1A4306000F0066
+:1022B4000C981100644B002201F0A9FB634A644BA3
+:1022C40001F0D5FB02000B003000390001F0A8FB3F
+:1022D40001F04EFC0C9001F033FC5E4A5E4B0600AC
+:1022E4000F0001F0C4FB00225C4B01F099FB01F0EC
+:1022F4003FFC5B4A5B4B0D903900300001F0B7FBAB
+:1023040006000D980F0001F01BFC574A574B01F0D3
+:10231400AEFB02000B003000390001F078FB020034
+:102324000B000A900B9101F0A2FB06000F000A9823
+:102334000B9902000B0001F073FB00220E900F9129
+:102344004B4B3000390001F074FB0022494B01F083
+:1023540067FB02000B003000390001F06AFB002229
+:10236400454B01F05DFB02000B003000390001F029
+:1023740060FB0A9A0B9B0F0080210600C905002010
+:1023840001F045FB02000B003000390001F048FB6E
+:102394003A4F02000B000E980F9901F04AFB0022FD
+:1023A400284B01F03DFBBC460D9A62441600002206
+:1023B400330501F05CFB07000D900E000E91020046
+:1023C4000B005846089901F095FB00285ED13B00AC
+:1023D4003200C6260C9963318E42B641109976427A
+:1023E4000436002900D1A3E6134361D0089F244A90
+:1023F400244B5846390001F083FB002807D0002203
+:10240400214B5846390001F075FB002850D1269B1A
+:10241400002B00D18CE6119B5A1E9341269AD31AA5
+:10242400269385E6FFFFEF7FFFFFEFFFFFF7FFFF38
+:1024340001FCFFFFFB799F501344D33FB3C8608B6B
+:10244400288AC63F0000F03F0000F83F61436F63F5
+:10245400A787D23F71A379094F930A400000E03F58
+:102464001655B5BBB16B0240EF39FAFE422EE63F7A
+:1024740000002C400000244000001840FF0300002E
+:102484002D431CEBE2361A3F80842E410C9B002224
+:10249400013B0C930D98144B0E9901F0CAFA0300FA
+:1024A4000D900A000E9194E700230D930E930C9364
+:1024B400269B19000C9B994213DDCB1A013B2693F2
+:1024C4008023289ADB001A430023289200260C93C9
+:1024D4002EE680231B069C46A4446346AB46089321
+:1024E4000BE600232693EBE700002440F0B5DE461C
+:1024F40057464E464546E0B597B0804689469246D3
+:102504009B46209A219B1000190001F006FB00282D
+:1025140000D01FE2209821990122CC4B524201F0B5
+:10252400E9FA002800D03EE1209821990122C84B05
+:10253400524201F0EDFA002800D0E7E020982199FA
+:102544000022C44B01F0E4FA002800D0C7E0209830
+:1025540021990022C04B01F0CDFA002800D0BEE042
+:10256400209821990022002301F0C4FA002800D009
+:10257400E1E0002380240D93249BE4001C4000D060
+:10258400E9E000220626B54B069207930EAB0893AA
+:102594002098219901F0ECFA07000C9001F0D0FA90
+:1025A40002000B002098219901F031FA069A079B4A
+:1025B40001F05DFA0A900B9101F0FEFA0500099012
+:1025C40001F0BAFA02000B000A980B9901F01FFA05
+:1025D4000022A34B0A900B9101F09AFA002800D133
+:1025E40048E12B0001331800099301F0A5FA069A7B
+:1025F400079B01F085FA002804D03B0001330C93BB
+:1026040000230993002E00D0D5E00C9D280001F092
+:1026140097FA02000B002098219901F0F8F90022A2
+:102624008F4B06000F0001F065FA002808D1002244
+:102634008B4B3000390001F06BFA002800D17EE1A9
+:10264400202C00D1FAE00C9F0A21380000F074FF1E
+:10265400089E3031315538000A21651C00F06CFFAA
+:10266400002800D180E1202D00D1E7E00A2100F00C
+:1026740063FF303171553800642100F05DFF02348E
+:10268400051E14D0202C00D1D8E008AA94461723A4
+:102694002800634401340A211E1900F04DFF303133
+:1026A400317028000A2100F047FF051EEAD10323F8
+:1026B400249A1340012B00D1ECE0202C00D1C2E07D
+:1026C4000D9B002B00D111E12D23089A651C135595
+:1026D400249B01950393239B0293089B20E0249B56
+:1026E40052460493239B49460393229B40460293FC
+:1026F400209B219C009301945B46FFF7C9FC17B013
+:102704003CBC90469946A246AB46F0BD249B5B0771
+:102714000ED40322534B24990192039123990291DD
+:10272400009352465B4649464046FFF76FFBE6E797
+:102734004D4B0422EFE7209A219B0020002101F059
+:1027440066F9012380240D93249BE40020902191B9
+:102754001C4000D115E7229B092B00D808E1190081
+:1027640030230EAA4E1E08921370092E00D1F9E0F0
+:10277400537008AA0C0094468E1E1721093C0223AC
+:102784006144302205E00133CA54013E202B00D1BC
+:10279400A3E09C42F7D1354BF2009B181A685B68A2
+:1027A40006920793F4E6249B0393239B029304234A
+:1027B40001932F4BB4E7202C40D0099D731E0A21AE
+:1027C4002800069300F0E0FE089B303119552800DC
+:1027D4000A2100F0D9FE671C0995092D00D892E062
+:1027E400202F2BD0B11E06910A2100F0CDFE089BAC
+:1027F4003031D9550998642100F0C6FE099AA51C08
+:102804000700632A00D87FE03419013C14E0631BFD
+:1028140008AA069394461723013563440A21380015
+:102824005E1900F0B1FE3031317038000A2100F039
+:10283400ABFE092F68D90700202DE8D10323249A81
+:102844001340012B25D0202542E7C046FFFFEFFFB0
+:10285400FFFFEF7F65CDCD4165CDCDC180842E4195
+:102864000000E03F9449002098490020B04900202E
+:10287400A449002000220A980B99494B01F03AF927
+:10288400002800D0BEE62B1E60D1099B01330993BA
+:10289400B8E62024239B002B00D10EE70D9B002BD0
+:1028A40003D1249A0C33134202D0239B013B23937C
+:1028B400239BA34200D800E708AA9446172330229A
+:1028C4006344202CBFD0239901341A558C4200D183
+:1028D400F3E6202CF7D12025FAE6324BF2009B18C0
+:1028E4005C681B6806930794202451E6249B5B07CD
+:1028F40020D4249B25001B0700D4E9E62023089A52
+:1029040001351355E4E63D00202D97D008A98C46E7
+:1029140017230698634442193021002826D0013534
+:102924005955202D30D0AA42F9D12E230899541C90
+:102934008B5485E62B23089A651C1355C8E601239E
+:10294400AC462B409C4463460C9379E6DB0700D4E9
+:1029540058E69AE7249B0393239B02930323019352
+:10296400114BDDE6012416E72C00A0E62A00DCE783
+:10297400DA001E000B4B9B185C681B6806930794D7
+:102984000EAB0024089303E60323249A1340012B7F
+:1029940000D09DE6239B002B00D199E620247DE7FF
+:1029A4000000E03FB0490020A0490020F0B54546B2
+:1029B400DE4657464E46E0B5A1B01D002A9B904620
+:1029C4000B93BD4ABD4B0A908B461A60002900D177
+:1029D4000DE2002328789A46002861D0B84B564669
+:1029E4009946C24609E0741C320053460A9E594671
+:1029F400B04726002878002850D001352528F2D188
+:102A0400042328789846023B9C460300203B691C1B
+:102A1400DBB200240A00102B0ED84F469B00FB5853
+:102A24009F4601230D001C432878691C0300203BAA
+:102A3400DBB20A00102BF0D90300303B092B41D93B
+:102A440000272A286AD000230C932E2851D0030093
+:102A5400683BDBB2122B5FD89A499B00CB589F4648
+:102A640063460D001C43DFE743460D001C43DBE7D0
+:102A740010230D001C43D7E708230D001C43D3E7A4
+:102A840080235B0068781C43551C0300253BDBB2A4
+:102A9400532BA8D88C4A9B00D3589F46D046B246A5
+:102AA4005246D04501D843465A1E43465946002053
+:102AB4000A9CA047504621B03CBC90469946A24689
+:102AC400AB46F0BD0027030001E00D000131B80062
+:102AD400C0194000C0180B7830381A00303A07008B
+:102AE400092AF2D918000023AA1C0C930D002E28E1
+:102AF400ADD180236878DB001C430300303B092BF5
+:102B040000D877E12A2800D1ABE10300683BDBB2AF
+:102B140015000132122B9FD91500B6E70B9B80CB11
+:102B2400002F00DA5BE16878AA1C0B930D008AE79A
+:102B340068786C2800D14DE280235B001C43551C4F
+:102B4400A3E780239B0068781C43551C9DE76878A5
+:102B5400682800D139E28023551C1C4395E70B9B60
+:102B640004CB98460C9B0B921078002B00D0A2E16A
+:102B7400002801D100F071FC02235B425A1C0B9B1C
+:102B8400944619000D92614401E08B4206D0013352
+:102B94001A78002AF9D10B9A9B1A0D938023DB0033
+:102BA40023400E9305D00D9B19000C9B994200D92C
+:102BB4000D93022323400F9300D140E2002800D15B
+:102BC40026E20E9B002B00D1E6E141460C9B0C91C2
+:102BD40029009C190B9B5D469B1B3200B8460B9346
+:102BE4008B460AE0534629000A9F561CB8470B9BA4
+:102BF400985D002800D104E232009442F2D10C9B8B
+:102C0400474698465B462600AB461D000F9B002BAB
+:102C140000D0FDE143460B93ECE60B9B04CB0B93F6
+:102C2400002A00D128E121231C43A44610A9884688
+:102C34001F240F2144440023884603E0202B00D1A5
+:102C440024E10A0041461140CFB238003730092947
+:102C540000D807380133E05411090F2AEED815E1E2
+:102C64000B9B04330C93731C0D939846A30700D459
+:102C740006E20B9B32001878594653460A9CA0473B
+:102C8400BE19012F00D8A7E22B0042465546B04694
+:102C94009A465E460A9F541C2B0031002020B847F8
+:102CA40022004445F7D15346B346AA4626001D00E8
+:102CB4000C9B0B939EE6C0466D270020144D00200C
+:102CC400B4470020F847002044480020782800D169
+:102CD40052E2582800D183E16F2800D1F3E0622842
+:102CE40000D156E3102322009A438023DB000D9287
+:102CF4002340692800D0BCE30A220E92002B00D1A5
+:102D040046E201230D9A9A430D9280240D9BA40060
+:102D140023409C46692800D1E7E0642800D1E4E020
+:102D24006346002B00D094E280230D9A5B001A4086
+:102D34000B9B904604330F93002A00D02CE30D9B89
+:102D44005B0600D544E20D9B1B0600D488E30B9B75
+:102D54001B881800031E00D04DE20D9A1033110099
+:102D640099430D91520500D445E2002398460D9BEA
+:102D7400059706930C9B04930E9B039300230293E5
+:102D84004346019318AB00933200534659460A98C0
+:102D9400FFF78AF80F9B06000B932BE6462800D119
+:102DA4008EE007220B9B04940733934319000C9A7B
+:102DB400039702920CC90A98009201930B91320076
+:102DC40053465946FFF792FB060013E6741C320083
+:102DD40053460A9E59462520B04726000AE6022299
+:102DE400687814437F42AA1C0B930D002BE6D34B47
+:102DF4000A93EEE50023010000E02A009800C018C1
+:102E0400400040185178030008003038551C303B0E
+:102E14000928F2D90C930800023218E62023020094
+:102E24009A43472A04D180231B011C43022398435D
+:102E3400452801D120231C4307220B9B049407330C
+:102E4400934319000C9A039702920CC90A980092B2
+:102E540001930B91320053465946FFF719F90600C6
+:102E6400C8E50B9BA87802CBCA43D21711400C913A
+:102E7400EA1C0B930235EAE5102321009943113330
+:102E840019438C460023610500D4CFE662460692BE
+:102E9400082205920C9A04921022039200220292B4
+:102EA400019318AB00933200534659460A98FEF733
+:102EB400FBFF06009EE5002800D1CDE2013B5DE664
+:102EC40020231C436DE708230E9322000D948023D6
+:102ED400DB001340642800D0CEE2002B00D010E7C2
+:102EE40080241300A40023409C466346002B00D09A
+:102EF400E5E080230D9A5B001A400B9B9046043357
+:102F04000F93002A00D0C6E10D9B5B0600D547E174
+:102F14000D9B1B0600D499E20B9B00229B5ED917E4
+:102F24005A184A401000DA0F1492002B09D180235A
+:102F340010220D99DB000B4091430D91002B00D022
+:102F440050E10D9A6123920600D5412310AA1F2453
+:102F54009446DBB264440A3B159716960B93464697
+:102F64000700A84625000E9C0AE03033DBB2013688
+:102F7400AB55A74200D231E1202E00D12EE107004B
+:102F84002100380000F000FBCBB20929EDD90B9ADF
+:102F940094466344DBB2EAE70B9B32009E1B33008A
+:102FA4005E46AB4655469A460B970A9F2B00310066
+:102FB400541CB8475346185D22000028F6D1AA468F
+:102FC4000B9F5D46B346260020E6C023A8781C4329
+:102FD40003355AE5C0239B00A8781C43033554E508
+:102FE4000C2322009A4314331A430D92630500D52F
+:102FF400D3E080239B001C40F13BFF3BA4460E938F
+:103004008EE60C9B474698465B46AB461D00FDE5A5
+:103014000D9B32009F4200D8FCE5BE19F61A2B0026
+:103024005D469B460A9F541C534629002020B847FE
+:103034002200B442F7D15B46AB461D00EAE50D9A87
+:10304400531C974200D812E2BB199B1A0D971F001C
+:1030540032005E46AB460A9D541C53463100202084
+:10306400A8472200BC42F7D15D46B34626000D9F17
+:103074007B1C0D930B9B1878002800D0A1E5C9E5B3
+:10308400012F00D8F0E1731E3200A846DF190A9E12
+:103094005D460D9C00E00134534629002020B047D2
+:1030A4002200BC42F7D12600AB46454601360B9BB5
+:1030B4003A001878594653460A9CA047F8E5072277
+:1030C4000B9B07339343013294469C4462460B9214
+:1030D4001A685B689C46DB17129313931298139932
+:1030E40003005340109364460B0063401193109BFC
+:1030F400119C1B1A8C41109311946346DB0F14939B
+:1031040063461A4350D00D9A6123920600D5412399
+:103114000022DBB2904610AA0A3B1F2494460F9368
+:103124005B4664441793230015971696AB46109E8E
+:10313400119F44460E9D984610E0C046C91B0020CE
+:103144003032D2B2434601341A550023BB4200D177
+:1031540067E1202C00D167E106000F002A0000235C
+:103164003000390000F052FAD2B2092AE8D90F9B94
+:103174009C466244D2B2E5E780231022DB00234060
+:103184000E920C2294430D94002B00D1BDE5B8E5BA
+:1031940080239B001C40A446A7E610230E93B0E5B1
+:1031A4000B9B1B781A00BDE60D9A1023110099435E
+:1031B4000D915205A7D5002398460D9B05970693BC
+:1031C4000C9B04930E9B0393149B0293434667E664
+:1031D4000B9B1B781800BDE50D9E69E54546159FC0
+:1031E400B046169E0D9B059706930C9B04930E9B6D
+:1031F4000393149BC3E50D9A6123920600D54123E2
+:1032040010AA1F249446DBB264440A3B1497159613
+:103214000B9346460700A84625000E9C08E0303371
+:10322400DBB20136AB55A7420ED3202E0CD00700DB
+:103234002100380000F0A8F9CBB20929EFD90B9A84
+:1032440094466344DBB2ECE74546149FB046159EB2
+:103254008DE507220B9B07339343013294469C442C
+:1032640062460B921A6859681300100009910B43C7
+:103274005CD10D9A1033110099430D91520555D527
+:10328400002398460D9B059706930C9B04930E9B75
+:103294000393002399E70B9B1B68D9175A184A40DC
+:1032A4001000DA0F1692002B08D1802310220D99FA
+:1032B400DB000B4091430D91002B2CD10D9A61231F
+:1032C400920600D5412310AA90461F24DBB2444441
+:1032D4000A3B14971596A8460B93250007006646EB
+:1032E4000E9C08E03033DBB20136AB55A7420ED357
+:1032F400202E0CD007002100380000F045F9CBB295
+:103304000929EFD90B9A94466344DBB2ECE74546AE
+:10331400B446149F159E0D9B059706930C9B04932E
+:103324000E9B0393169B029363462AE50D9A612331
+:10333400920600D541230022DBB2904610AA0A3B34
+:103344001F2494460F935B46644414971596AB462A
+:1033540046461693A0460E9D099F04000BE03032AA
+:10336400D2B2434601369A550023BB4265D0202E83
+:1033740065D004000F002A0000232000390000F06B
+:1033840045F9D2B2092AEAD90F9B9C466244D2B2CB
+:10339400E7E702230E9398E50B9B1B68181E08D1E0
+:1033A400802310220D99DB000B4091430D91002BDB
+:1033B4002CD10D9A6123920600D5412310AA904680
+:1033C4001F24DBB244440A3B14971596A8460B937A
+:1033D4002500070066460E9C08E03033DBB2013658
+:1033E400AB55A7420ED3202E0CD007002100380085
+:1033F40000F0CAF8CBB20929EFD90B9A944663447A
+:10340400DBB2ECE74546B446149F159E0D9B059729
+:1034140006930C9B04930E9B039300230293634631
+:10342400AFE4B54200D894E6179B109611975D4619
+:10343400159F169EA0469B46BFE6A54297D9169BAC
+:10344400B0465D46149F159E9B461BE70B9B1B686D
+:10345400D9175A184A4065E500230D93FFF79EFBE0
+:103464000B9B1B68180075E437000D9E1FE60D9337
+:1034740002E60A230E932AE5140082E600B585B01D
+:103484000391012102900093034813004A4202A9C8
+:10349400FFF78CFA05B000BD411E002010B5094AA3
+:1034A40084B01468002C09D0012200910300524218
+:1034B40003A90548A047012004B010BD01F0A4F8F9
+:1034C4000020F9E7144D0020311E0020014804219A
+:1034D400014B1847204B0020BD320020142310B5A7
+:1034E4000100188804331B88984710BD162310B5B3
+:1034F4000100188802331B88984710BDF0B5C646F2
+:1035040000B5002916D01423040001259846182775
+:10351400890046184346216818883B88984701C4A7
+:10352400431E984140420540A642F3D1280004BC02
+:103534009046F0BD0125F9E7124A936F9B0815D216
+:103544009066D166002905D0FFE7FFE7FFE7516FDA
+:10355400106F704704B580210906C2175140002836
+:1035640000D0C84301F04AF9002104BDF0B5146E3F
+:10357400556E576F166FFFF7E3FF1466556657676E
+:103584001667F0BD000000D0114A936F9B0813D258
+:1035940010665166002905D0FFE7FFE7FFE7516F8A
+:1035A400106F704704B5002801D00020C04301F01B
+:1035B40025F9002104BDC046F0B5146E556E576F51
+:1035C400166FFFF7E5FF1466556657671667F0BD7B
+:1035D400000000D094464E4A926F9208624601D28F
+:1035E40030E0C046F0B54A4EB56F6D08FCD3346E7A
+:1035F400756E776F366F00F025F89446444A14666A
+:103604005566576716676246F0BDC0469446404A01
+:10361400926F9208624601D258E0C046F0B53C4E23
+:10362400B56F6D08FCD3346E756E776F366F00F02E
+:103634004DF89446364A14665566576716676246CF
+:10364400F0BDC046002B24DB11D000293EDA00B5C2
+:10365400C943404200D1013100F038F8C943404227
+:1036640000D10131DB43524200D1013300BD002AB5
+:10367400EBD1002801D1002905D00020C90FC907CA
+:1036840001D1C043410800B501F0B8F8002200237D
+:1036940000BD00B500290ADBDB43524200D10133EF
+:1036A40000F014F8C943404200D1013100BDC943C0
+:1036B400404200D10131DB43524200D1013300F0DA
+:1036C40005F8DB43524200D1013300BD002923D168
+:1036D400002B18D1002A0CD0BC460D4F38667A66F0
+:1036E40000210023FFE7FFE7FFE77A6F386F6746A3
+:1036F4007047002801D00748010000B501F07EF8AA
+:103704000022002300BD02000B00002000217047AE
+:10371400000000D0FFFFFFFF002B00D0BFE0130C20
+:1037240028D1002AE7D080B4114F39667A66FFE7C2
+:10373400FFE730B4040C7B6F396F1B0423433B66F3
+:103744007A66FFE7FFE7FFE7C04684B27B6F3D6F11
+:103754001B0423433B667A66FFE7FFE7C04600236A
+:103764002C042D0C7A6F386F00196941B0BC704776
+:10377400000000D0F0B594460025140E01D11202C9
+:103784000835140F01D112010435940F01D19200B0
+:103794000235D40F01D152000135D40B0134254F29
+:1037A4007C66254C3C660E0C93B2FFE7FFE7FFE70F
+:1037B4003C6F6643360C7703BE467343DF0B5B04F2
+:1037C400C01AB941130C7343DB18C91ACE086643F7
+:1037D400360CB64493B273431F0F1B01C01AB94190
+:1037E400130C73431F0B1B05C01AB941860D8F02BE
+:1037F4003E436643360C092D24DB520A7243801A79
+:103804007703460A6643360C16235B1BDE40DF4013
+:10381400BF1964466643821B7046043506330100B3
+:10382400D940A840C01900D30131A24206D20023D6
+:10383400F0BD0000000000D0FFFFFFFF121B0130AD
+:10384400F3D3F1E709277F1BFE406446A2B272431B
+:10385400801A00D20139220C7243130C1204821A0A
+:1038640099410B007046043513370100F940A84014
+:10387400801900D30131002B02D1A2420AD2F0BD3B
+:10388400013000D30131121BFAD2013BF8D1A2421C
+:1038940000D2F0BD013000D30131121BF7E7F0B5BF
+:1038A4001C0C00D080E00CB400251C0A04D11B02BF
+:1038B400160E3343120208351C0B04D11B01160FDC
+:1038C4003343120104359C0B04D19B00960F334300
+:1038D40092000235DC0B02D192185B4101351C00C9
+:1038E400971864410134464F7C66464C3C660E0C86
+:1038F400FFE7FFE7FFE7C0463C6F6643360C7703FC
+:10390400BE4697B27743C01B00D20139C01B00D218
+:1039140001399FB27743C91BC91B170C77437E0437
+:10392400FF0B801BB941CE086643360C0C2D33DBEC
+:10393400B644120B1F053A431B0B97B27743C01BC7
+:1039440000D201399FB27743C91B170C77433E0459
+:103954003F0C801BB941860D8F023E4366432927E5
+:103964007F1BFE400C3D7746AF40BF1930BCA2B26E
+:10397400ABB272437343801A9941220C7243130C05
+:103984001204801A994102000B000137001BA9415F
+:10399400F9D2781E0021F0BD0C277F1BFE4077462C
+:1039A4007F0BAF40FF19E0E700245D1C07D0144FE4
+:1039B4007D663966FFE7FFE7FFE7FFE73C6F95B2F7
+:1039C4009EB265436643401BB141150C1E0C654312
+:1039D400664336042F0C3E432D04401BB1419942EB
+:1039E40004D202000B0020000021F0BD01D190425E
+:1039F400F7D3801A994101349942F2D3F6E70000D3
+:103A0400000000D0FFFFFFFF48404140484018B489
+:103A14001B4B5B68FC46019308BD04DF7F3A002022
+:103A240018B4174B1B68FC46019308BD00DF893AA4
+:103A340000209446134A926F920809D2624618B441
+:103A44000F4BDB68FC46019308BD0CDF413D0020B1
+:103A54000C4AF0B5146E556E576F166F6246FFF739
+:103A6400EEFF084A1466556657671667F0BD18B42A
+:103A7400034B9B68FC46019308BD08DFE53B00202F
+:103A84004C4D0020000000D0FFB550404240504053
+:103A940059404B40594000E0FFB5154F4C00640DB0
+:103AA40003D0BC4204D10C0314D80020090D09052D
+:103AB4005C00640D03D0BC4204D11C030AD800226C
+:103AC4001B0D1B0501264B4009D44B4003D58B42EB
+:103AD40000D18242FFBD9942FCD19042FFBD0B430D
+:103AE400DB1803431343F5D0C9434918FFBD000055
+:103AF400FF07000000B5FFF7CFFF804100BDC046BF
+:103B040000B5FFF7C1FF01D9002000BD012000BDB1
+:103B140000B5FFF7B9FF804100BD012040054A0010
+:103B2400121804D85A00121801D800207047012036
+:103B340070470020704700000021002805D170471D
+:103B4400C1174840401AFAD0C90713B5064B1B6881
+:103B540098470CBC441CA2401005120B0349091BD6
+:103B640009051943114310BD284D00201F0400000E
+:103B740010B54C00620D8023D218DB00D21A5B050D
+:103B84007E2A10DD9E3A13DACC170903490819433B
+:103B94005242D140640001341532202A05DAD04063
+:103BA4000843604310BD002010BD0846604310BDAB
+:103BB400C80FC018013810BD18B4044B5B6AFC462A
+:103BC400019308BD24DFF13E002000004C4D00208D
+:103BD400132370B51D78012D15D010DD2648FFF78D
+:103BE40085FC264C01008022200000F057FB022DAA
+:103BF40006D02348FFF772FC224B186070BD1F4C9F
+:103C0400214AA264F5E71D4C1F4AA3085B421D40EC
+:103C14002FD02B0022602020A9006118451B0A60C8
+:103C24004A608A60CA600A614A618A61CA610A623A
+:103C34004A628A62CA620A634A638A63CA630A641A
+:103C44004A648A64CA640A654A658A65CA650A66FA
+:103C54004A668A66CA660A674A676D08102D03D1E8
+:103C64008A67CA67A264C4E71E339B00E250A26459
+:103C7400BFE70023CFE7C046534400004C4D00206B
+:103C84004C330000284D00204D3A002007B5604613
+:103C940001880A0A0230DF2AFAD1C9B2820804D3A1
+:103CA400028840880004104300E00068014A505034
+:103CB400039007BD4C4D00200FB403BC0CBCF0B501
+:103CC4000124E407634000E0F0B50C0DCF0F661E3D
+:103CD4003605891B640503D3C943404200D301312F
+:103CE400640D03D0661CF60A07D0E41B00207F0095
+:103CF400791C89078912803C24031D0DDF0F6E1E79
+:103D040036059B1B6D0503D3DB43524200D30133BD
+:103D14006D0D03D06E1CF60A07D0ED1B00227F0048
+:103D24007B1C9B079B12803D2D032F1B661B58D4C5
+:103D3400A446202E46DA20371400BC401D00BD40A6
+:103D4400F24033412A4380185941CB0F05D0C9436F
+:103D5400C043002264425041514162464D0D28D176
+:103D64000D0D07D100281FD0241940414941013AC3
+:103D74000D0DF9D0640006D3013000D30131002CBD
+:103D840001D140084000013A0BD4941CE40A04D148
+:103D940012051144DB071944F0BDD907204B194320
+:103DA40000E0D9070020F0BD0029DDD1002CDBD1D3
+:103DB400F0BD0132C6074008CD0728434908002E4C
+:103DC400E1D0D9E73C2E29DA203E40371400BC402C
+:103DD40000D00124F24014431A00BB401C43D31703
+:103DE400ACE7AC46202F08DA20360400B4400D00BE
+:103DF400B540F84039412843A5E73C2F0CDA203F71
+:103E040040360400B44000D00124F84004430800C4
+:103E1400B1400C43C117EAE710001900002494E7ED
+:103E24000000F07FF0B50C0D661E3605891BE60A0E
+:103E34006405640D02D0651CED0A04D00020012144
+:103E44000905803C2403A4461C0D671E3F05DB1BAB
+:103E5400E70A6405640D02D0651CED0A04D0002253
+:103E640001231B05803C24037740644497B484B247
+:103E740096B27443070C7E43150C6F4380B26843BB
+:103E8400361802D3012000043F183004350C001901
+:103E94007D41844688B29AB250430C0C62431F0C95
+:103EA4007C438EB27E43921902D301263604A419B0
+:103EB4001604170C3618674101BC81B29AB25143FB
+:103EC400040C62431B0C5C4380B25843121802D3A7
+:103ED4000120000424181004130C401863412D1809
+:103EE4005E410020474106BC88B293B258430C0C93
+:103EF4006343120C544389B251435B1802D301212A
+:103F04000904641819041A0C091862416D18564101
+:103F14000020474118BCF902720D1143F0026A0DEA
+:103F24001043ED020A0D03D16D1940414941013B93
+:103F3400124E9B1B7600B3420ED26D0007D30130A4
+:103F4400002671416646354301D1400840001B05F7
+:103F5400C918E4072144F0BD0BDA013306D101305E
+:103F640004D101314F0D01D04908F2E7E1070020E7
+:103F7400F0BD013631050020EBE70000FF0300002F
+:103F8400F0B51C0D671E3F05DB1BE70A6405640DD5
+:103F940002D0661CF60A04D0002201231B05803CD3
+:103FA4002403D0252D060026F6432E661E096E66D0
+:103FB400CE0FF619B44649004F0D02D07E1CF60A06
+:103FC40003D000200021403F3F033E1BB600B44411
+:103FD400013F7F05C91B49082E6F013676089C02F4
+:103FE400950D25437543ED137543AD1301356D10E0
+:103FF400F603761B0CB4CC02450D2C43A2B2B3B22B
+:104004005A43270C7B43350C6F43A4B26C431B19F2
+:1040140002D3012424043F191C041D0CA4187D415F
+:1040240024196D41009A91B2ACB26143170C7C43E0
+:104034002B0C5F4392B25A43A41802D301221204F8
+:10404400BF182204230C52187B41019C6C431B199A
+:10405400520ED9010A434401A01A81B2B2B25143AB
+:1040640003145A43360C734387B27743D617D219D5
+:1040740000277E4136049B191704160C7F185E41F5
+:104084007316ED18F301002680337541A90F06D18C
+:104094006400690AE8055B0A184309D22FE0042288
+:1040A400944480337541A90AA8059B0A184326D372
+:1040B400404149412404009A019B0D005543641B6F
+:1040C4004343E41A95B286B27543170C7E43030C3E
+:1040D4005F4392B25A43B61802D301221204BF18A6
+:1040E4003204330C52197B4152429C41002C02D4BD
+:1040F4000022013051414008CA071043490802B068
+:104104006246D7079210084BD218084B9A4203D242
+:1041140012058918C919F0BD0020002A01DC3900F4
+:10412400F0BD01331905F5E7FD030000FE070000AB
+:10413400002200B5203200F004F8080000BD0000A1
+:1041440000220B150AD410B5944600F031F814146B
+:10415400013400DA0021CB17144C20470020002141
+:1041640070476244343A0CD40C2A07DA04009140B4
+:10417400904052422032D440214310BDD843D94309
+:1041840010BD203207D40C469440524220321141D3
+:10419400D040204310BD0800C917203203D4524236
+:1041A4002032104110BD1800190010BD233F00201B
+:1041B4000A0DCC0F531E1B05C91A520503D3C9435C
+:1041C400404200D30131520D03D0531CDB0A07D007
+:1041D400121B00206400611C89078912803A1203B3
+:1041E400014BD21A70470000FF030000132310B5DF
+:1041F4001C781348FFF77AF9012C0BD004DD010079
+:104204008022104800F04AF80F48FFF767F90F4B77
+:10421400186010BD0B4C01005422200000F03EF841
+:104224000B4B6365A365E36523666366A366E36678
+:1042340023676367A367E3672362E361E4E7C04638
+:10424400534600004C4E00204C330000284D002003
+:104254001540002007B5604601880A0A0230DF2AAB
+:10426400FAD1C9B2820804D30288408800041043FA
+:1042740000E00068014A5050039007BD4C4E0020F6
+:1042840001480421014B1847304B0020BD32002067
+:10429400014B1B6818470000304B0020014B5B6842
+:1042A40018470000304B0020030010B508001B68BD
+:1042B4001100984710BDC046F8B54746CE4680B5B4
+:1042C400437C80460C001500002B43D0002A34DDCB
+:1042D4000A78037C00200A2A33D0012D1ED0204BFB
+:1042E4000121671E994602E03100B54216D0635C95
+:1042F4007A5C4E1C0A2BF7D10D2AF5D043461B6875
+:10430400884204DA091A2018984743461B68022198
+:104314004846984730003100B542E8D1854204DD73
+:104324004346291A1B68201898476419013C2378CE
+:104334000D3B5A425341424613740CBC9046994675
+:10434400F8BD002BC9D14346054802211B68984794
+:104354000120C2E70368110020009847EDE7C0463A
+:10436400644A0020F8B54E46DE4657464546344B6F
+:10437400E0B51C688146002C4ED0324B9A46324B35
+:104384009B4602E0E468002C46D02368002BF9D059
+:1043940052461268002A01D0A242F3D14F46627CF1
+:1043A40040CF002A48D0002EECDD49460979227C12
+:1043B40000200A2939D0012E1ED04B4601215D1C54
+:1043C40003E001354146464516D04B1C98462B79EF
+:1043D400EA780A2BF5D10D2AF3D02368814203DD54
+:1043E400091A381898472368022158469847013516
+:1043F400404641464645E8D1864203DD311A2368EA
+:1044040038189847BF19013F3B780D3B5A42534136
+:104414002374E468002CB8D14A46002313603CBCE2
+:1044240090469946A246AB46F8BD002AC3D1064839
+:10443400083998470120BEE7310038009847A1E7C2
+:104444000C4D0020104D0020644A00200B6870B50C
+:1044540005000C00802B04D05A1C2260E41825713E
+:1044640070BD0800FFF77EFF2368F5E7F0B5DE4670
+:1044740057464E464546E0B51E00D0231B0683B082
+:104484001C68334B01AF80460D001800390091467B
+:104494009B4600F019FA8246002808D1019B64B2B9
+:1044A4009C4204D0584600F0EBF901239A466B1C59
+:1044B40003D1404600F0A4F90500002E28D1254E72
+:1044C400254B1C68002C16D04B46002B22D1234FC1
+:1044D40002E0E468002C0ED02368002BF9D03B687E
+:1044E400002B01D0A342F4D120002A004146B0475A
+:1044F400E468002CF0D15346002B25D1681E854179
+:10450400E8B203B03CBC90469946A246AB46F0BD27
+:10451400134ED5E7114B994602E0E468002CEAD02B
+:104524002368002BF9D04B461B68002B01D0A34213
+:10453400F3D12A0041462000B0470A230122390062
+:1045440020003B70B047E8E7584600F0E1F9D5E7B2
+:10455400544B0020794000200C4D0020104D0020C9
+:1045640069400020F0B54746CE4680B583B06B461F
+:10457400DF1CD02338701B061C68204B060001A9E1
+:104584001800984600F0A0F9051E22D01C4B1C68A8
+:10459400002C2AD01B4B994602E0E468002C10D072
+:1045A4002368002BF9D04B461B68002B01D0A34293
+:1045B400F3D1200001223900FFF77EFEE468002CCD
+:1045C400EED1002D11D1300003B00CBC90469946B9
+:1045D400F0BD019B64B29C420BD0404600F050F900
+:1045E400074B01251C68002CD4D1404600F090F9FB
+:1045F400E9E7034B1C68002CCCD1E4E7544B0020C2
+:104604000C4D0020104D002070B5040000F0F8F8A7
+:1046140000230100050001222000FFF727FF084BBB
+:104624001C68002C06D06368002B05D09847E4680A
+:10463400002CF8D1280070BDE468002CF3D1F9E710
+:104644000C4D00200A4A1368002B05D10CE01A0017
+:10465400DB680C32002B07D09842F8D1002902D134
+:10466400C3681360C16070470029FCD01060FAE78A
+:104674000C4D0020F0B5C646D02300B5204EA2B0A4
+:104684001B0607008846300001A91C6800F01CF9CD
+:10469400051E07D1019B64B29C4203D0300000F098
+:1046A400EFF801358422002101A8FFF7F1FD43460C
+:1046B4003A0001A91348FEF7E1FE019B0700002B15
+:1046C40002D001A8FFF74EFE0F4B1C68002C06D049
+:1046D4006368002B0AD09847E468002CF8D1002DB9
+:1046E40009D1380022B004BC9046F0BDE468002C27
+:1046F400EED1002DF5D0300000F00AF9F1E7C04604
+:10470400544B00200D4200200C4D00200FB400B586
+:1047140083B004A901C90191FFF7ACFF03B008BC41
+:1047240004B0184710B500F045F810BDF0B50029E5
+:1047340015DD0E4B0D271A680D4B4118D3185C423A
+:1047440063410C4C5B001E5F20240578AE4207D009
+:1047540093691C42FCD1013015608842F5D1F0BD4B
+:1047640093691C42FCD11760F2E7C046404D00201B
+:104774000080FCBF484D002030B5002914DD0C4BEF
+:104784001A689369DB060FD400251024013801351B
+:1047940093691C42FCD113684355A94202D0936922
+:1047A4001C42F4D0280030BD03256D42FAE7C04610
+:1047B400404D0020E12110B50B4B0C481B780C4BED
+:1047C40049021B780B4B1860FDF73CF802210020CE
+:1047D400FCF72AF802210120FCF726F801210648FB
+:1047E400FFF730FF10BDC046FC020010004003403C
+:1047F40000030010404D0020404B00207047C0468D
+:1048040010B5830727D00378002B26D0030003219B
+:1048140002E01A78002A1CD001330B42F9D119683E
+:104824000F4A104C8A188A4322420FD10433196864
+:104834000B4A8A188A43224208D104331968084A69
+:104844008A188A432242F1D000E001331A78002A00
+:10485400FBD1181A10BD0300E1E70020FAE7C046B7
+:10486400FFFEFEFE80808080F8B5C0460000000098
+:1048740001B40248844601BC604700BF73020010C3
+:10488400D02330B500251B065D57002406E00368DD
+:10489400BFF35F8F1C6081F3108820BF0268EFF3C1
+:1048A400108172B61368002BFCD0BFF35F8F0379BD
+:1048B4007F2BECD905710368BFF35F8F00221A6068
+:1048C40081F3108830BDC046030010B50068EFF3D3
+:1048D400108472B60268002AFCD0BFF35F8F0422F2
+:1048E4009A56002A0BDB00290FD000200A601B68AF
+:1048F400BFF35F8F00221A6084F3108810BDD022AA
+:104904001206126801201A71F1E70020EFE7C04691
+:104914000268EFF3108172B61368002BFCD0BFF36A
+:104924005F8FFF2303710368BFF35F8F00221A6058
+:1049340081F3108840BF70470047002005FF000046
+:10494400A08003A088650840209F00006D63752542
+:1049540064202D2076616C7565207075743A20256D
+:1049640030326C78202D2076616C7565207265611B
+:10497400643A202530326C780A0000004E6F2070B3
+:10498400726F6772616D207370616365000000006F
+:104994004E6F2050494F207374617465206D6163BC
+:1049A40068696E65732061726520617661696C6106
+:1049B400626C6500486172647761726520616C6144
+:1049C400726D20256420616C726561647920636C6A
+:1049D40061696D65640000004861726420617373ED
+:1049E400657274000A2A2A2A2050414E4943202A1B
+:1049F4002A2A0A0038280020F8270020F827002057
+:104A040030280020F8270020F8270020F82700206D
+:104A1400F8270020F8270020F8270020F827002096
+:104A240028280020F827002020280020F82700202C
+:104A3400F8270020E22700200E290020D828002093
+:104A440002290020D8280020F0280020D82800209F
+:104A5400D8280020D8280020D8280020D8280020D2
+:104A6400D8280020D828002040280020D82800205A
+:104A7400D8280020D8280020D8280020D8280020B2
+:104A8400402800208C2B0020A6270020A6270020E9
+:104A9400A6270020A6270020A6270020A62700205E
+:104AA400A6270020A6270020A6270020A62700204E
+:104AB400A6270020A6270020A6270020A62700203E
+:104AC400A6270020A6270020A6270020A62700202E
+:104AD400A6270020A6270020A6270020A62700201E
+:104AE400A6270020A6270020A6270020A62700200E
+:104AF400A6270020A6270020A6270020A6270020FE
+:104B0400A6270020DC2B00205C2B0020DC2B0020BF
+:104B1400A6270020A6270020A6270020A6270020DD
+:104B2400A6270020A6270020A6270020A6270020CD
+:104B3400A6270020A6270020A6270020A6270020BD
+:104B4400A6270020A6270020A6270020A6270020AD
+:104B54008C2A0020A6270020A6270020A6270020B4
+:104B6400A6270020A6270020A6270020A62700208D
+:104B7400A6270020A62700208C2A0020202A002017
+:104B84008C2A0020DC2B00205C2B0020DC2B002056
+:104B9400A62700208C2A0020A6270020A627002074
+:104BA400A6270020A6270020A62700208C2A002064
+:104BB400DA290020A6270020A62700201E2900208D
+:104BC400A62700208C2A0020A6270020A627002044
+:104BD4008C2A0020666E6900666E692B0000000056
+:104BE4006E616E00666E692D00000000000000001A
+:104BF400000000000000F03F00000000000024401E
+:104C040000000000000059400000000000408F40F8
+:104C1400000000000088C34000000000006AF84063
+:104C24000000000080842E4100000000D012634187
+:104C34000000000084D797410000000065CDCD41FD
+:104C440006005250BBFF3CB6444A002006005250B6
+:104C5400E182887F2C4A002006005250D3F075422E
+:104C6400244A002052656C6561736500626F6F743D
+:104C7400325F77323571303830000000312E342EF7
+:104C8400300000007069636F000000006475616C9F
+:104C94002D6D63752D3100004A616E203330203252
+:104CA400303233000D0A00000600525053B4F4A110
+:104CB400944A00200800525092000000554152547A
+:104CC40020737464696E00005541525420737464F7
+:104CD4006F7574005541525420737464696E202FAB
+:104CE400207374646F7574001000000000000000ED
+:104CF40000000100000000000000000000000200AD
+:104D0400000000000000000000000300000000009C
+:104D1400000000000000FF000000000000B548682B
+:104D240001318E460047704609380149884700BD65
+:104D3400850800200C4B002000000000704B002070
+:104D4400CC4C00200000000000000000DC4C0020DF
+:104D5400000000000000000010000000000000003F
+:104D6400503300004C330000543300005233000031
+:104D74004D5300004D430000533400004334000001
+:104D8400ED44002000000000394500200000000030
+:104D9400000100000000000000000000414000206D
+:104DA4008D32002091390020AD3F002039010020D0
+:04000005100001E9FD
+:00000001FF
diff --git a/demo/dual-mcu/dual-mcu.c b/demo/dual-mcu/dual-mcu.c
new file mode 100644
index 0000000..493cedc
--- /dev/null
+++ b/demo/dual-mcu/dual-mcu.c
@@ -0,0 +1,37 @@
+#include <stdio.h>
+#include "pico/stdlib.h"
+#include "hardware/structs/rosc.h"
+#include "dual-mcu.pio.h"
+
+int main() {
+  stdio_init_all();
+
+  uint bus_start_pin = 2; // start at GPIO2, leave GPIO0/1 to UART
+  PIO pio = pio0;
+  uint sm = pio_claim_unused_sm(pio, true);
+  uint offset = pio_add_program(pio, &dualmcu_program);
+  dualmcu_program_init(pio, sm, offset, bus_start_pin, 500); // run PIO at 125MHz/500=0.25MHz
+
+#ifdef MCU0
+  uint mcu = 0;
+#else
+  uint mcu = 1;
+#endif
+  uint8_t bus_cycle = 0;
+  while (true) {
+    // The PIO program keeps pins at low and changes pindirs instead:
+    // pindir 1 (output) thus pulls the pin to low,
+    // pindir 0 (input) will make the pullup pull the signal to high
+    // (unless the other MCU drives that pin low).
+    uint32_t bus_val = (1 << ((mcu == 0) ? bus_cycle : (8 - bus_cycle))) ^ 0xff;
+    uint32_t out_dirs = bus_val ^ 0xff;
+    pio_sm_put_blocking(pio, sm, out_dirs);
+    uint32_t read_val = pio_sm_get_blocking(pio, sm);
+
+    if(mcu == 0) {
+      sleep_us(10); // just make sure the emulator does not print messages on top of each other
+    }
+    printf("mcu%d - value put: %02lx - value read: %02lx\n", mcu, bus_val, read_val);
+    bus_cycle = (bus_cycle + 1) % 8;
+  }
+}
diff --git a/demo/dual-mcu/dual-mcu.pio b/demo/dual-mcu/dual-mcu.pio
new file mode 100644
index 0000000..f0bdb82
--- /dev/null
+++ b/demo/dual-mcu/dual-mcu.pio
@@ -0,0 +1,26 @@
+.program dualmcu
+
+    pull block
+    mov pins, null
+    out pindirs, 8  [5]
+    in pins, 8
+    push            [31]
+
+% c-sdk {
+static inline void dualmcu_program_init(PIO pio, uint sm, uint offset, uint bus_pin_start, float div) {
+    const uint bus_pin_count = 8;
+    pio_sm_config c = dualmcu_program_get_default_config(offset);
+    sm_config_set_out_pins(&c, bus_pin_start, bus_pin_count);
+    sm_config_set_in_pins(&c, bus_pin_start);
+    sm_config_set_in_shift(&c, false /* true: shift ISR right */, false, 0);
+    sm_config_set_out_shift(&c, true /* true: shift OSR right */, false, 0);
+    for(uint i=0; i<bus_pin_count; i++) {
+        pio_gpio_init(pio, bus_pin_start+i);
+        gpio_set_pulls(bus_pin_start+i, true, false);
+    }
+    pio_sm_set_consecutive_pindirs(pio, sm, bus_pin_start, bus_pin_count, false);
+    pio_sm_init(pio, sm, offset, &c);
+    pio_sm_set_clkdiv(pio, sm, div);
+    pio_sm_set_enabled(pio, sm, true);
+}
+%}
diff --git a/demo/dual-mcu/pico_sdk_import.cmake b/demo/dual-mcu/pico_sdk_import.cmake
new file mode 100644
index 0000000..2548382
--- /dev/null
+++ b/demo/dual-mcu/pico_sdk_import.cmake
@@ -0,0 +1,64 @@
+# This is a copy of <PICO_SDK_PATH>/external/pico_sdk_import.cmake
+
+# This can be dropped into an external project to help locate this SDK
+# It should be include()ed prior to project()
+
+# todo document
+
+if (DEFINED ENV{PICO_SDK_PATH} AND (NOT PICO_SDK_PATH))
+    set(PICO_SDK_PATH $ENV{PICO_SDK_PATH})
+    message("Using PICO_SDK_PATH from environment ('${PICO_SDK_PATH}')")
+endif ()
+
+if (DEFINED ENV{PICO_SDK_FETCH_FROM_GIT} AND (NOT PICO_SDK_FETCH_FROM_GIT))
+    set(PICO_SDK_FETCH_FROM_GIT $ENV{PICO_SDK_FETCH_FROM_GIT})
+    message("Using PICO_SDK_FETCH_FROM_GIT from environment ('${PICO_SDK_FETCH_FROM_GIT}')")
+endif ()
+
+if (DEFINED ENV{PICO_SDK_FETCH_FROM_GIT_PATH} AND (NOT PICO_SDK_FETCH_FROM_GIT_PATH))
+    set(PICO_SDK_FETCH_FROM_GIT_PATH $ENV{PICO_SDK_FETCH_FROM_GIT_PATH})
+    message("Using PICO_SDK_FETCH_FROM_GIT_PATH from environment ('${PICO_SDK_FETCH_FROM_GIT_PATH}')")
+endif ()
+
+set(PICO_SDK_PATH "${PICO_SDK_PATH}" CACHE PATH "Path to the PICO SDK")
+set(PICO_SDK_FETCH_FROM_GIT "${PICO_SDK_FETCH_FROM_GIT}" CACHE BOOL "Set to ON to fetch copy of PICO SDK from git if not otherwise locatable")
+set(PICO_SDK_FETCH_FROM_GIT_PATH "${PICO_SDK_FETCH_FROM_GIT_PATH}" CACHE FILEPATH "location to download SDK")
+
+if (NOT PICO_SDK_PATH)
+    if (PICO_SDK_FETCH_FROM_GIT)
+        include(FetchContent)
+        set(FETCHCONTENT_BASE_DIR_SAVE ${FETCHCONTENT_BASE_DIR})
+        if (PICO_SDK_FETCH_FROM_GIT_PATH)
+            get_filename_component(FETCHCONTENT_BASE_DIR "${PICO_SDK_FETCH_FROM_GIT_PATH}" REALPATH BASE_DIR "${CMAKE_SOURCE_DIR}")
+        endif ()
+        FetchContent_Declare(
+                pico_sdk
+                GIT_REPOSITORY git@asic-git.pitowers.org:projectmu/pico_sdk.git
+                GIT_TAG master
+        )
+        if (NOT pico_sdk)
+            message("Downloading PICO SDK")
+            FetchContent_Populate(pico_sdk)
+            set(PICO_SDK_PATH ${pico_sdk_SOURCE_DIR})
+        endif ()
+        set(FETCHCONTENT_BASE_DIR ${FETCHCONTENT_BASE_DIR_SAVE})
+    else ()
+        message(FATAL_ERROR
+                "PICO SDK location was not specified. Please set PICO_SDK_PATH or set PICO_SDK_FETCH_FROM_GIT to on to fetch from git."
+                )
+    endif ()
+endif ()
+
+get_filename_component(PICO_SDK_PATH "${PICO_SDK_PATH}" REALPATH BASE_DIR "${CMAKE_BINARY_DIR}")
+if (NOT EXISTS ${PICO_SDK_PATH})
+    message(FATAL_ERROR "Directory '${PICO_SDK_PATH}' not found")
+endif ()
+
+set(PICO_SDK_INIT_CMAKE_FILE ${PICO_SDK_PATH}/pico_sdk_init.cmake)
+if (NOT EXISTS ${PICO_SDK_INIT_CMAKE_FILE})
+    message(FATAL_ERROR "Directory '${PICO_SDK_PATH}' does not appear to contain the PICO SDK")
+endif ()
+
+set(PICO_SDK_PATH ${PICO_SDK_PATH} CACHE PATH "Path to the PICO SDK" FORCE)
+
+include(${PICO_SDK_INIT_CMAKE_FILE})
diff --git a/package.json b/package.json
index 4b13c9d..933fb69 100644
--- a/package.json
+++ b/package.json
@@ -36,6 +36,7 @@
     "start:micropython": "ts-node demo/micropython-run.ts",
     "start:circuitpython": "ts-node demo/micropython-run.ts --circuitpython",
     "start:gdbdiff": "ts-node debug/gdbdiff.ts",
+    "start:dual-mcu": "ts-node demo/dual-mcu.ts",
     "test": "jest"
   },
   "devDependencies": {
diff --git a/src/peripherals/pio.spec.ts b/src/peripherals/pio.spec.ts
index e14011a..e0b6b3c 100644
--- a/src/peripherals/pio.spec.ts
+++ b/src/peripherals/pio.spec.ts
@@ -358,11 +358,15 @@ describe('PIO', () => {
     await cpu.writeUint32(INSTR_MEM1, pioWAIT(true, PIO_WAIT_SRC_IRQ, 7));
     await cpu.writeUint32(INSTR_MEM2, pioJMP(PIO_COND_ALWAYS, 2));
     await cpu.writeUint32(CTRL, 1); // Starts State Machine #0
+    await cpu.singleStep();
     expect(await cpu.readUint32(SM0_ADDR)).toEqual(1);
     await cpu.writeUint32(SM2_INSTR, pioIRQ(false, false, 5)); // Set IRQ 5
+    await cpu.singleStep();
     expect(await cpu.readUint32(SM0_ADDR)).toEqual(1);
     await cpu.writeUint32(SM2_INSTR, pioIRQ(false, false, 7)); // Set IRQ 7
+    await cpu.singleStep();
     expect(await cpu.readUint32(SM0_ADDR)).toEqual(2);
+    await cpu.singleStep();
     expect(await cpu.readUint32(IRQ)).toEqual(1 << 5); // Wait should have cleared IRQ 7
   });
 
@@ -374,8 +378,10 @@ describe('PIO', () => {
     await cpu.writeUint32(INSTR_MEM1, pioWAIT(false, PIO_WAIT_SRC_IRQ, 7));
     await cpu.writeUint32(INSTR_MEM2, pioJMP(PIO_COND_ALWAYS, 2));
     await cpu.writeUint32(CTRL, 1); // Starts State Machine #0
+    await cpu.singleStep();
     expect(await cpu.readUint32(SM0_ADDR)).toEqual(1);
     await cpu.writeUint32(IRQ, 1 << 7); // Clear IRQ 7
+    await cpu.singleStep();
     expect(await cpu.readUint32(SM0_ADDR)).toEqual(2);
   });
 
@@ -421,6 +427,9 @@ describe('PIO', () => {
     await cpu.writeUint32(INSTR_MEM3, pioJMP(PIO_COND_ALWAYS, 3)); // infinite loop
 
     await cpu.writeUint32(CTRL, 1); // Starts State Machine #0
+    await cpu.singleStep();
+    await cpu.singleStep();
+    await cpu.singleStep();
     expect(await cpu.readUint32(SM0_ADDR)).toEqual(1);
   });
 
diff --git a/src/peripherals/pio.ts b/src/peripherals/pio.ts
index 2febba5..949bb64 100644
--- a/src/peripherals/pio.ts
+++ b/src/peripherals/pio.ts
@@ -138,6 +138,9 @@ export class StateMachine {
 
   clockDivInt: number = 1;
   clockDivFrac: number = 0;
+  curClockInt: number = 0;
+  curClockFrac: number = 0;
+  remainingDelay: number = 0;
   execCtrl = 0x1f << 12;
   shiftCtrl = 0b11 << 18;
   pinCtrl = 0x5 << 26;
@@ -640,8 +643,6 @@ export class StateMachine {
       }
     }
 
-    this.cycles++;
-
     const { sidesetCount, execCtrl } = this;
     const delaySideset = (opcode >> 8) & 0x1f;
     const sideEn = !!(execCtrl & EXECCTRL_SIDE_EN);
@@ -654,6 +655,7 @@ export class StateMachine {
 
     if (this.execValid) {
       this.execValid = false;
+      this.remainingDelay += 1; // delay on EXEC is ignored but EXEC takes 1 cycle
       this.executeInstruction(this.execOpcode);
     } else if (this.waiting) {
       if (this.waitDelay < 0) {
@@ -661,7 +663,7 @@ export class StateMachine {
       }
       this.checkWait();
     } else {
-      this.cycles += delay;
+      this.remainingDelay += delay;
     }
   }
 
@@ -683,11 +685,38 @@ export class StateMachine {
   }
 
   step() {
+    if (!this.enabled) {
+      return;
+    }
+
+    this.curClockFrac += this.clockDivFrac;
+    if (this.curClockFrac > 0xff) {
+      this.curClockInt++;
+      this.curClockFrac -= 0x100;
+    }
+    this.curClockInt++;
+    if (this.curClockInt < this.clockDivInt) {
+      return;
+    } else {
+      this.curClockInt -= this.clockDivInt;
+    }
+
+    this.cycles++;
+
+    if (this.remainingDelay > 0) {
+      this.remainingDelay--;
+      return;
+    }
+
     if (this.waiting) {
       this.checkWait();
       if (this.waiting) {
         return;
       }
+      if (this.remainingDelay > 0) {
+        this.remainingDelay--;
+        return;
+      }
     }
 
     this.updatePC = true;
@@ -833,6 +862,9 @@ export class StateMachine {
 
   restart() {
     this.cycles = 0;
+    this.curClockInt = 0;
+    this.curClockFrac = 0;
+    this.remainingDelay = 0;
     this.inputShiftCount = 0;
     this.outputShiftCount = 32;
     this.inputShiftReg = 0;
@@ -905,7 +937,7 @@ export class StateMachine {
 
     if (!this.waiting) {
       this.nextPC();
-      this.cycles += this.waitDelay;
+      this.remainingDelay += this.waitDelay;
       this.execCtrl &= ~EXECCTRL_EXEC_STALLED;
     }
   }
@@ -930,7 +962,6 @@ export class RPPIO extends BasePeripheral implements Peripheral {
   pinDirections = 0;
   oldPinValues = 0;
   oldPinDirections = 0;
-  private runTimer: NodeJS.Timeout | null = null;
 
   irq0IntEnable = 0;
   irq0IntForce = 0;
@@ -1077,14 +1108,7 @@ export class RPPIO extends BasePeripheral implements Peripheral {
             this.machines[index].clkDivRestart();
           }
         }
-        const shouldRun = value & 0xf;
-        if (this.stopped && shouldRun) {
-          this.stopped = false;
-          this.run();
-        }
-        if (!shouldRun) {
-          this.stopped = true;
-        }
+        this.stopped = !(value & 0xf);
         break;
       }
       case FDEBUG:
@@ -1179,29 +1203,19 @@ export class RPPIO extends BasePeripheral implements Peripheral {
   }
 
   step() {
+    if (this.stopped) {
+      return;
+    }
     for (const machine of this.machines) {
       machine.step();
     }
     this.checkChangedPins();
   }
 
-  run() {
-    for (let i = 0; i < 1000 && !this.stopped; i++) {
-      this.step();
-    }
-    if (!this.stopped) {
-      this.runTimer = setTimeout(() => this.run(), 0);
-    }
-  }
-
   stop() {
     for (const machine of this.machines) {
       machine.enabled = false;
     }
     this.stopped = true;
-    if (this.runTimer) {
-      clearTimeout(this.runTimer);
-      this.runTimer = null;
-    }
   }
 }
diff --git a/src/rp2040.ts b/src/rp2040.ts
index 1dbf24d..d3b4b69 100644
--- a/src/rp2040.ts
+++ b/src/rp2040.ts
@@ -350,7 +350,12 @@ export class RP2040 {
   }
 
   step() {
+    const coreStartCycles = this.core.cycles;
     this.core.executeInstruction();
+    for (let cycle = coreStartCycles; cycle < this.core.cycles; cycle++) {
+      this.pio[0].step();
+      this.pio[1].step();
+    }
   }
 
   execute() {
@@ -358,7 +363,12 @@ export class RP2040 {
     this.executeTimer = null;
     this.stopped = false;
     for (let i = 0; i < 100000 && !this.stopped && !this.core.waiting; i++) {
+      const coreStartCycles = this.core.cycles;
       this.core.executeInstruction();
+      for (let cycle = coreStartCycles; cycle < this.core.cycles; cycle++) {
+        this.pio[0].step();
+        this.pio[1].step();
+      }
     }
     if (!this.stopped) {
       this.executeTimer = setTimeout(() => this.execute(), 0);