From 53e432718420078a5d93a7cc78a5da721df10b3b Mon Sep 17 00:00:00 2001 From: Guillaume Demay Date: Sun, 12 Jul 2026 22:57:19 +0200 Subject: [PATCH] Build secure macOS keyboard switcher --- .github/workflows/ci.yml | 25 + .gitignore | 9 + .vscode/launch.json | 44 ++ LICENSE | 21 + Package.swift | 49 ++ README.md | 59 +++ Resources/Info.plist | 18 + Resources/KeyboardSwitch.entitlements | 6 + Resources/Keybridge.icns | Bin 0 -> 739749 bytes Scripts/build-app.sh | 18 + Scripts/check-reproducible-bundle.sh | 19 + Scripts/ci-policy-checks.sh | 16 + Scripts/hardware-acceptance.sh | 48 ++ Scripts/install.sh | 11 + Scripts/notarize.sh | 13 + Scripts/package-release.sh | 13 + Scripts/sign-app.sh | 9 + Scripts/uninstall.sh | 15 + Scripts/verify-bundle.sh | 11 + .../KeyboardSwitchApp/AppConfiguration.swift | 75 +++ Sources/KeyboardSwitchApp/AppModel.swift | 352 ++++++++++++++ Sources/KeyboardSwitchApp/AppRuntime.swift | 434 ++++++++++++++++++ .../KeyboardSwitchApp/KeyboardSwitchApp.swift | 31 ++ .../KeyboardSwitchApp/MenuPopoverView.swift | 128 ++++++ .../KeyboardSwitchApp/OnboardingView.swift | 124 +++++ .../RuntimeAuthorization.swift | 121 +++++ Sources/KeyboardSwitchApp/SettingsView.swift | 67 +++ .../SystemIntegrations.swift | 9 + .../MacOSBluetoothAdapter.swift | 78 ++++ .../SimulatedBluetoothAdapter.swift | 60 +++ Sources/KeyboardSwitchCore/Bluetooth.swift | 49 ++ Sources/KeyboardSwitchCore/Switching.swift | 228 +++++++++ Sources/KeyboardSwitchDiagnostics/main.swift | 32 ++ Sources/MagicSwitchNetworking/Identity.swift | 86 ++++ .../KeychainTrustStore.swift | 45 ++ .../MagicSwitchNetworking/PeerService.swift | 346 ++++++++++++++ .../MagicSwitchNetworking/PeerTransport.swift | 148 ++++++ Sources/MagicSwitchNetworking/Protocol.swift | 99 ++++ .../MagicSwitchNetworking/SecureCodec.swift | 82 ++++ Sources/MagicSwitchNetworking/Trust.swift | 73 +++ Tests/ACCEPTANCE.md | 14 + .../AppRuntimeTests.swift | 262 +++++++++++ .../MultiPeerIntegrationTests.swift | 50 ++ .../BluetoothSimulatorTests.swift | 40 ++ .../SwitchingTests.swift | 139 ++++++ .../SecurityTests.swift | 355 ++++++++++++++ 46 files changed, 3931 insertions(+) create mode 100644 .github/workflows/ci.yml create mode 100644 .gitignore create mode 100644 .vscode/launch.json create mode 100644 LICENSE create mode 100644 Package.swift create mode 100644 README.md create mode 100644 Resources/Info.plist create mode 100644 Resources/KeyboardSwitch.entitlements create mode 100644 Resources/Keybridge.icns create mode 100755 Scripts/build-app.sh create mode 100755 Scripts/check-reproducible-bundle.sh create mode 100755 Scripts/ci-policy-checks.sh create mode 100755 Scripts/hardware-acceptance.sh create mode 100755 Scripts/install.sh create mode 100755 Scripts/notarize.sh create mode 100755 Scripts/package-release.sh create mode 100755 Scripts/sign-app.sh create mode 100755 Scripts/uninstall.sh create mode 100755 Scripts/verify-bundle.sh create mode 100644 Sources/KeyboardSwitchApp/AppConfiguration.swift create mode 100644 Sources/KeyboardSwitchApp/AppModel.swift create mode 100644 Sources/KeyboardSwitchApp/AppRuntime.swift create mode 100644 Sources/KeyboardSwitchApp/KeyboardSwitchApp.swift create mode 100644 Sources/KeyboardSwitchApp/MenuPopoverView.swift create mode 100644 Sources/KeyboardSwitchApp/OnboardingView.swift create mode 100644 Sources/KeyboardSwitchApp/RuntimeAuthorization.swift create mode 100644 Sources/KeyboardSwitchApp/SettingsView.swift create mode 100644 Sources/KeyboardSwitchApp/SystemIntegrations.swift create mode 100644 Sources/KeyboardSwitchBluetooth/MacOSBluetoothAdapter.swift create mode 100644 Sources/KeyboardSwitchBluetooth/SimulatedBluetoothAdapter.swift create mode 100644 Sources/KeyboardSwitchCore/Bluetooth.swift create mode 100644 Sources/KeyboardSwitchCore/Switching.swift create mode 100644 Sources/KeyboardSwitchDiagnostics/main.swift create mode 100644 Sources/MagicSwitchNetworking/Identity.swift create mode 100644 Sources/MagicSwitchNetworking/KeychainTrustStore.swift create mode 100644 Sources/MagicSwitchNetworking/PeerService.swift create mode 100644 Sources/MagicSwitchNetworking/PeerTransport.swift create mode 100644 Sources/MagicSwitchNetworking/Protocol.swift create mode 100644 Sources/MagicSwitchNetworking/SecureCodec.swift create mode 100644 Sources/MagicSwitchNetworking/Trust.swift create mode 100644 Tests/ACCEPTANCE.md create mode 100644 Tests/KeyboardSwitchAppTests/AppRuntimeTests.swift create mode 100644 Tests/KeyboardSwitchAppTests/MultiPeerIntegrationTests.swift create mode 100644 Tests/KeyboardSwitchCoreTests/BluetoothSimulatorTests.swift create mode 100644 Tests/KeyboardSwitchCoreTests/SwitchingTests.swift create mode 100644 Tests/MagicSwitchNetworkingTests/SecurityTests.swift diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 0000000..79e7612 --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,25 @@ +name: CI +on: + push: + pull_request: +jobs: + test: + runs-on: macos-15 + steps: + - uses: actions/checkout@v4 + - name: Test + run: swift test --parallel + - name: Strict Swift concurrency and warnings + run: swift build -Xswiftc -strict-concurrency=complete -Xswiftc -warnings-as-errors + - name: Repository policy checks + run: ./Scripts/ci-policy-checks.sh + - name: Reproducible app bundle and packaging + run: ./Scripts/check-reproducible-bundle.sh + - name: Release archive + run: ./Scripts/package-release.sh + - uses: actions/upload-artifact@v4 + with: + name: keybridge-unsigned-${{ github.sha }} + path: | + dist/KeyboardSwitch-*.zip + dist/KeyboardSwitch-*.zip.sha256 diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..c43d8f7 --- /dev/null +++ b/.gitignore @@ -0,0 +1,9 @@ +.build/ +.swiftpm/ +DerivedData/ +*.xcarchive +*.dSYM/ +dist/ +.DS_Store +*.p12 +*.provisionprofile diff --git a/.vscode/launch.json b/.vscode/launch.json new file mode 100644 index 0000000..15256c4 --- /dev/null +++ b/.vscode/launch.json @@ -0,0 +1,44 @@ +{ + "configurations": [ + { + "type": "swift", + "request": "launch", + "args": [], + "cwd": "${workspaceFolder:Magic Switch}", + "name": "Debug KeyboardSwitchApp", + "target": "KeyboardSwitchApp", + "configuration": "debug", + "preLaunchTask": "swift: Build Debug KeyboardSwitchApp" + }, + { + "type": "swift", + "request": "launch", + "args": [], + "cwd": "${workspaceFolder:Magic Switch}", + "name": "Release KeyboardSwitchApp", + "target": "KeyboardSwitchApp", + "configuration": "release", + "preLaunchTask": "swift: Build Release KeyboardSwitchApp" + }, + { + "type": "swift", + "request": "launch", + "args": [], + "cwd": "${workspaceFolder:Magic Switch}", + "name": "Debug keyboard-switch-diagnostics", + "target": "keyboard-switch-diagnostics", + "configuration": "debug", + "preLaunchTask": "swift: Build Debug keyboard-switch-diagnostics" + }, + { + "type": "swift", + "request": "launch", + "args": [], + "cwd": "${workspaceFolder:Magic Switch}", + "name": "Release keyboard-switch-diagnostics", + "target": "keyboard-switch-diagnostics", + "configuration": "release", + "preLaunchTask": "swift: Build Release keyboard-switch-diagnostics" + } + ] +} diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..abde6e3 --- /dev/null +++ b/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2026 Keyboard Switch contributors + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/Package.swift b/Package.swift new file mode 100644 index 0000000..0df9ccd --- /dev/null +++ b/Package.swift @@ -0,0 +1,49 @@ +// swift-tools-version: 6.0 +import PackageDescription + +let package = Package( + name: "KeyboardSwitch", + platforms: [.macOS(.v15)], + products: [ + .library(name: "KeyboardSwitchCore", targets: ["KeyboardSwitchCore"]), + .library(name: "KeyboardSwitchBluetooth", targets: ["KeyboardSwitchBluetooth"]), + .library(name: "MagicSwitchNetworking", targets: ["MagicSwitchNetworking"]), + .executable(name: "KeyboardSwitchApp", targets: ["KeyboardSwitchApp"]), + .executable(name: "keyboard-switch-diagnostics", targets: ["KeyboardSwitchDiagnostics"]), + ], + targets: [ + .target(name: "KeyboardSwitchCore"), + .target( + name: "KeyboardSwitchBluetooth", + dependencies: ["KeyboardSwitchCore"], + linkerSettings: [.linkedFramework("IOBluetooth")] + ), + .target( + name: "MagicSwitchNetworking", + linkerSettings: [.linkedFramework("Security")] + ), + .executableTarget( + name: "KeyboardSwitchDiagnostics", + dependencies: ["KeyboardSwitchCore", "KeyboardSwitchBluetooth"] + ), + .executableTarget( + name: "KeyboardSwitchApp", + dependencies: ["KeyboardSwitchCore", "KeyboardSwitchBluetooth", "MagicSwitchNetworking"], + linkerSettings: [ + .linkedFramework("ServiceManagement"), + ] + ), + .testTarget( + name: "KeyboardSwitchCoreTests", + dependencies: ["KeyboardSwitchCore", "KeyboardSwitchBluetooth"] + ), + .testTarget( + name: "MagicSwitchNetworkingTests", + dependencies: ["MagicSwitchNetworking"] + ), + .testTarget( + name: "KeyboardSwitchAppTests", + dependencies: ["KeyboardSwitchApp", "KeyboardSwitchCore", "MagicSwitchNetworking"] + ), + ] +) diff --git a/README.md b/README.md new file mode 100644 index 0000000..1c7ff5b --- /dev/null +++ b/README.md @@ -0,0 +1,59 @@ +# Keyboard Switch + +Keyboard Switch is an experimental, native macOS menu-bar app for coordinating a pre-paired Apple Magic Keyboard between up to three Macs on the same LAN. It uses local peer discovery and asks macOS to disconnect or connect the real Bluetooth HID device; it does not forward keystrokes. + +## Feasibility status + +The software builds and its switching, networking, security, and simulated Bluetooth paths are testable. The legacy public `IOBluetooth` framework can inventory the local paired Magic Keyboard and exposes connection operations. **A reliable physical A→B→A transfer has not yet been demonstrated.** macOS may decline or delay connection requests, and Touch ID association is not portable. Do not treat this repository as a production replacement until the hardware acceptance matrix passes on every intended Mac and OS version. + +Normal switching never deletes Bluetooth pairing information. Cable-pair the keyboard with every Mac before testing. Keep another input device available during feasibility tests. + +## Requirements + +- Apple-silicon Mac with macOS 15 or later +- Xcode 16 or later and Swift 6 +- USB-C rechargeable Apple Magic Keyboard +- All Macs awake and reachable on the same local network + +## Build and test + +```sh +swift test +swift run KeyboardSwitchApp +swift run keyboard-switch-diagnostics +``` + +Inventory is safe and redacts most of the Bluetooth identifier. Explicit diagnostics can interrupt keyboard input: + +```sh +swift run keyboard-switch-diagnostics --disconnect FULL_DEVICE_ID +swift run keyboard-switch-diagnostics --connect FULL_DEVICE_ID +``` + +Run those commands only with a fallback mouse/keyboard available. A successful API return is not proof of usable HID input; verify by typing on the target. + +## App bundle + +`./Scripts/build-app.sh` creates `dist/KeyboardSwitch.app`. By default it is ad-hoc signed. Set `CODE_SIGN_IDENTITY` to a Developer ID Application identity for distribution; `./Scripts/sign-app.sh` can re-sign an existing bundle. `./Scripts/install.sh` installs to `~/Applications`; `./Scripts/uninstall.sh` removes that copy and local preferences. + +For notarization, export `NOTARY_PROFILE` created with `xcrun notarytool store-credentials`, then run `./Scripts/notarize.sh`. See comments in each script for overrides. + +`./Scripts/package-release.sh` verifies the bundle and creates a versioned ZIP plus SHA-256 checksum. CI builds twice and compares every non-signature file, enables complete Swift concurrency checking and warnings-as-errors, and runs license, secret-pattern, and undeclared-dependency checks. An ad-hoc archive is for local testing only; it is not notarized or Gatekeeper-ready. + +## Hardware acceptance gate + +On each supported macOS release, cable-pair once on Macs A, B, and C, unplug the cable, then demonstrate three consecutive A→B→C→A cycles. Record hardware metadata and verify actual typed input after every handoff. Repeat after sleep/wake, Bluetooth restart, app restart, Wi-Fi interruption, and keyboard power-cycle. Pairing must remain intact and recovery must restore the source or report manual action accurately. + +No release should claim physical compatibility until those tests pass on real hardware. Touch ID, FileVault pre-login, wake-from-shutdown, iPad, Windows, pointing devices, and App Store distribution are outside v1. + +Run `./Scripts/hardware-acceptance.sh` for a structured JSON Lines record. See `Tests/ACCEPTANCE.md`. A human must verify actual typed input; the harness never treats an API return as proof. + +## Privacy and security + +The app works locally, captures no keystrokes, and does not request Accessibility or Input Monitoring permission. Peer trust secrets belong in Keychain. Diagnostic identifiers and network addresses must remain redacted in exported logs. + +## License + +MIT. The project uses original branding and UI rather than copying Magic Switch assets. + +`./Scripts/uninstall.sh` preserves Keychain identity and peer trust by default. The explicit `--remove-keychain` flag performs a full reset and removes only the two documented Keybridge generic-password services. diff --git a/Resources/Info.plist b/Resources/Info.plist new file mode 100644 index 0000000..2306b7a --- /dev/null +++ b/Resources/Info.plist @@ -0,0 +1,18 @@ + + + + CFBundleDevelopmentRegionen + CFBundleExecutableKeyboardSwitchApp + CFBundleIconFileKeybridge + CFBundleIdentifierdev.keyboardswitch.app + CFBundleInfoDictionaryVersion6.0 + CFBundleNameKeyboard Switch + CFBundlePackageTypeAPPL + CFBundleShortVersionString0.1.0 + CFBundleVersion1 + LSMinimumSystemVersion15.0 + LSUIElement + NSBluetoothAlwaysUsageDescriptionKeyboard Switch connects and disconnects your pre-paired Magic Keyboard. + NSLocalNetworkUsageDescriptionKeyboard Switch discovers and coordinates with your trusted Macs on the local network. + NSBonjourServices_keyboardswitch._tcp + diff --git a/Resources/KeyboardSwitch.entitlements b/Resources/KeyboardSwitch.entitlements new file mode 100644 index 0000000..1c77540 --- /dev/null +++ b/Resources/KeyboardSwitch.entitlements @@ -0,0 +1,6 @@ + + + + + com.apple.security.app-sandbox + diff --git a/Resources/Keybridge.icns b/Resources/Keybridge.icns new file mode 100644 index 0000000000000000000000000000000000000000..c6af63f67df4b6409fd98c4024a8a95140756339 GIT binary patch literal 739749 zcmb@sQ*b5D7xY}=XG6Wew&v29FjPi#+YTQ|0C=f>8JjsN$z54-!YkNa@Y-KXlb zs=BK_$J*4v1q?x^#M<;1D;OBwXQZ;C6cRi>JQx@ll8m&t>VH=Fe**jCKTU~n9QmIC zcTtrR1*@GQJo~R9ZmuO`p`ZXp_n!|71|Dt=2Km2`{{;U(0Rw}`2M2@r&w~H2FaO8? zJt~|J@&EY$3zSq5t^aQZhBD$JYF1D=nO^mV=3b+-Z@M7=z1ik8`Z}h%xyUcMP1^{y%mldRAk)6FW%$DwZ&t*(gW;f?_{fNJ*H!&whh1U>D3n z?8vh?3bP-EP)gB#etn1D2ICqs!1Yl9M%(%;STaXVkQUCxlPhKP-HWl4ZWjlEt0M5R z2;Mg?Oc35QDTOGxk#r`u9Z;E-I^2vHH*L+3L~tR;>onn5eSGF(L0eDosKBII!=bo1Hs*xZC!NgJk}Uc4?xnl!*m{Z#KL5(U#&Ob?)S`J4 z;OVd92a}M{KF-ZE4!lW~Iit=^Pq^*s(R`XLG<1GaH+a)lx$o9spzA<*RWTih*;eNJ ze&Eejeqp3S{6pp{{*k}*?AY1)9ls+FV?G@p)h?JZP$wnA2zybF`~cQwAa*)#6d4ZA zQ5Pe?Jb)$23~|Ze#*KT8_b+3r4~&FB6>nFh9S_VKg$cK>?0#SvuUyBMLJG>Y>KgPlk zdh``g2jB+66^69!bTGExMZ46`<2}5|6q1(a25NLGB6qn_IL26nN*RICEVuK*qR3t< zZ&{Y)o!`*FG*?k3OxbDm`4eT9g*{29{!=M`@z*iSF)PqUseN~Uj`KMt)hUP42cwT? z?F_h^e19f33X@Lq4HSqn31ND`XG!H|Bc9;s9EVc{C70}pF?2xLa)$6f9x1dKR#)h-_O> zMzrvYr;ZQblFsl-XSF{#R~1yQZ+9BW^r3? znfxE)YI`vLjGkeXcc`J&oidr(O`w~ z>@sATu%u%=qGf(hX4js{A?fAA;|6F1b1lsyTNcb!h0f3Ph&U{@=$hRki& zW1)=YkA=CsF4g9eU|UHzV!15+l)mCob}*@jV$+_YnF}`M2puOyuRM;ZpTqEmXH57t zk6fU9GsXk&$BJ%lRNgpMk3mGK`u!t>0weUT-q+ia75DJbdkk7*&*P5+X<%@%q-e3& zgd5}hhpmNbkoBF5uTr$|VtbT*uTjEc-=L(%YeXu^-+y*yQs#II*p2pJ+(K#(1dgiv z#TVhl$>KkP=Zv;dNeeDqll_CiFGHpSQxw>0YIKwt;BsZ{Udm_SINT$_tNYLX83Vb| zwjZ>3u=pJ-zCS3pD^(mDOEq$)HkTh;FYh_O3ViJxGZ3SA#cA#2$t~|gN{ft1)h)OQ zkrC~QAkY6X-yv>SB*Mf{@ayck@Ii-E@kp11sd!1lB&M=t%05YW78p$gk$zXV>}}?O z@^~&7?PZpY$Mw^IOYhTcUo~05e8kho7*~cIXmAO!tcS9V4-uS9^-{GsXY6}8r28ph z8`iW)TrPJ>l_{7%&D_kzFLX>pzSKxlz~!JG?XK-dguK*W3YrErYvyx=9m)L6CI`~& zT{fRwk(nrH2yLaR(ppw)hz&cPFRRyIs@M1RsU=oFG@VwDt4AmTY0Shdp@1xFp)@$~ z%W?wLxQi4g9<|%a^~~)ir?XGK6x;X3`nnk@2k4-O-BiLhcSM>vYeTXWLGo znN868*XAh7wf-3TS}IM)$z>$9&OAaqp3fxDsNPLfOBsXX)=lXy!t?Ozmt|5JRK8i? zA9j}`&$`otlYW>hn9<)29=? z--|@6+aEW~tuyAvP20pM)SESJ1-kM}Xz%>mgYli%&=U*R=pGKOl>y zT_YnxS@qHucD+vW_nyn(Lr3ypufQnisj2Ggs6U|N@ww$}`9RL%;5M>c8^NTrfvX`q z#i(&TLP~1C;nvev#^X6o$@glnJ+xmvJir^ z+*y?eLo|-ON(~~EClE#Kva-+K4G}nyg~urLmC1tK&Ai=syP=zBSM6zFyFOu6e6QlKEK8-LibXJ`6D!FW6{5pd-dg*4J+f|IgJRJ5_48y@$fvl;M=;asEgTzDz(hVJ z8Ok{DxE-shRjho&8>Rt&wEP)r?<=0x*Cpi6~-H;S5+K0 zVRh3Jq>jo!Ht@)Jc4K@Kbt^>aYWQVwR5&VxvI%K*xzh9XtfQ~W$d8(fgZ9ve%q&i# z>Y7Z09$q^Dg$f@rv-!?3X}NSQJCA5!;M}tUHqr z&$4V5;F;6A!4u3`E68_?J`Oza5vovxmFAGpW)62`5UE_JgS^2MGG8-CJVe*OCi|5_ z(Wl$M^FD`fA+bnu)0AN*A;oMPZt_!?sfvgrjNB_)6g&ZwFRLrG=lQy>OvsPjcJ+hW z-F?PyM?XE6?d!{<+xM!nqBEf7YPA={rMZgfARFfynLv+5krqS|NmpO2EiJSAqLPy; zO_0Va*0d7k<*TI2Nm$|mY|Z`n^2ps{7t%NEu7%b1<*2qber?bU&j;Q8wY)X(ZetW7 zY=BHi3=0_cIvOGR3Npas&<&T2f4}6q{+v-F{)$F0d`sSO>)e|tuU;n#9SBX$RVPhi zf8-Ji>x0r6$7VGTv=7lJ5GOwVWME!pK+%}JDUUr>AsoZ-=hkX(^eF$DI6JysJ6-AC z-bVJ&+4h;ao7KvB{teY8T@;Tm$KK5m$Pm9)Gzty!b9zM)ivMiu*>A&G$!VkjzP~(! zfY?gJ_oK{)N2|6b#19<;w9kYzoQ`s&b0W=bg$e2kzW}MqHRB$KRjF-4HdI}o6TjTk zx4_$}9*QDC)81bUJyuHtc|w``A4ejG=_l2+O~EbcI^o_lze~rUtCZtv1`*Py7$dVf zdFM}<@jGwKQ@<}Y#xvT_+0rwDjonIoo+bciSq1wg4Qi$#^7j6K|-Djuchdu1^rkf&}iTH?S z4Ax{n<$PMl8^~-?|A+<{C&+&u-yY8UE&3N#=)x!6R;*nz5w`x6lgSC4*V(9Lq@2pu zipGO;+Cl(`aK-X-B6_N>Goh5;Tjz4NUY-hcS(4-C%$>T5%@?OwH`?y?i83p^-7_Nke3_Wj z-eDo&$P6Z1#tYmTuKKV%;UmA0_u7#{Fh(0&E8d+LccE2UKhECw=DzztBzA^ls9?JsX4Yl%TB+_LrA7bH&t+P35w* zBb7^RunQTX9u|0~3uFRmlh@MJfE<&=v_?Wd8JY(qBr+_ZssU6^Nn?V~62TxA7%b@xEV|gombQesg%^`PsUE!9OJZbXc$;-k0l?8SN05R6ts#F zZ*R%>>HRzTue7RW#wG#WN{x+--AZ1@?rn_kik;eT06u&VgVXnfE9y?Ht7K_x5x}r6;c%A#~9epzVGqbUp+ph@sj3>mp$zG5AHyP;vwN$H^DK3F=34m{t-BXFO z;%^4Cy5`g%7yPO{D=N#p2Qt)dHcM>ER(H^jVCtK9;`Q7$N8Y-#OS>c(qdaG*v)~cq zPx3Sam{6N-hQ|&)ZJYJ^-VYm&3kawQ)G~zt z{7(-8&-Ok0e$08GV!MlrOS9%jm%tow)#8~Hj31e#Kd#Hls4}x!FJB%`uDL%YMkUd7 zMNKqY=b#Y?tSsK^0=XuJxq6=03LxYNOeX_rKJh0+MHd*v(My)rZ>VuzUj?48-avWV zM9};v;h4uTV|$mF5inU8tWLa~oyPau995-w$Bf%@1SeGL)bn)U1D2U`$8)5xd29ZE z-gE5^VxRpVOMUnanD413tJ#g9WgUJNtrwTq*wyM)LIs&|YNggTBWt;EaIj%YTg6ga zuwnOiRcSca@L4H_jYOR2K~6VxA=bTJ#xwcfTR&Q4$-p^dVvqcQ#5%F8SH8ktu5 z-n@DyksTQ{pNtlPfxOm72Ma@tR5_xJJa_V;y{HgL2mgSpq_iOWT8hiq!7EE*iQ140 zZlf)#SOFI^(e#Dq!>g%dC|u9KzgfA;`*=V~HhprH!u~@l5xgvdC*5#85$=*>CYTeY znN18R^(rGzSy?lJ#Y26yys4tr4QxZZ(+@GCmzVc9r$dP;DR-_jm_7aE?PTozHP8fM zJHhc2<#C9XF*H|>mEsq%`0!Fg$mjaCpU=ZGnE1boqpAWt$+RgIvOKya>X6$O5mQz> z#rkMv`U2?YBvwvx4k|QC_~z(}x#(}i&Fc7R(LVD_tV`c0y`OX42IdwP?u*E3PxCu7 z`zV`euqurRPLF9^ymEk3#(PhZfA{WiNenV6lhP4KqCIst7pBHO+H1H7wn(`u|KP9C zgsWcW;v(2Y4+*n)>nE?w!~+tk6MMG7va%%o0?x#mkMZ`ERYMXWMY~ zao{mDz~vA@fwmURoSV1p>LXIsVRPzBr;i5>5=UHFfs(i=MF~R(n#K7s6y!*;v2vHg z7-X#`e=$rY^9pJFk^W{b3ZqqkF#oFb95iJoF!Q)d=Yo$~$P|L72VWrTGo)$dPR8J@ zkJe^N(k(CZ{u!x|<98HGbpLF#A4Kj9qW6p9n3w$JA^)c^Use2kI*Gf*8!*N{QFB2V zb&7)MvDFa|$CsGqo=$Zf+`I_!YQBJ|sM6upI<2IXs=9#IyZn zES!_Lai>#`C_=E;IGO=zl5}-tulA=1Fh@*l;C2k3igA4UlQF}g`?jkn>NR9bY5*J? zV?vxD4|bi;pnF3yYQ?}qqsG8RH!_iW8;vS}p#wT(O3qk_s9i8*0Dimh z_F8w~6%5?%E^wQlAnANciF522Ir}*&!_BtrkP>qYdC7bGeaCBI>|dVS6Z+^m=?}=n zF0%~v4bgfm4Kf=~i(<{SRQy$8m-5R*S3bFD^8P6{Y_M4QK^=2f3~QO&pSpD2s*Du1 z8JFWe@9TuVHw($b2!$NVJ^*oKff@m zeVwVHa1W-iD-=r#iZiwmb+>t@U#J`~Pgx;?&_kIR58x>hht(_=JNO}_yd4cN$9?^8 zGNPHZe6I1Ttj+eUNIu(1hf6~hoxk{cKcnA0R!cSC=5eVS>ss?q)I&u>x{yRJL|{72 zu-u%)tfVXTJ6M9;t1x6#t+V^H8p0V8tAP$Y@Zatqz_ddQ;8%TR~P1)KB1Q?;mHt zce_+`u#bm5tY@=l2?)2SN^9nyE2lz}q)dW=W4#^jUY|AG?exBlq}Ljnm*Pt#l+7|3 zkB=9yz;X(9oY;e2XNs~=#4#oZ-iqB-epI*5qC&(WQnFSI&}{Jw9La}n^*z*U!J%qf z4;!&^oi6;ULHoO;MRhw7Us)rx6CB zdLmckrkwSn4B@>yRE$~Bem%X;f4YLYmitGy{I?-Acgai8<`uL5)z_@=UQf;@4$Duw zSeO=o<4!1@jyPv+`Q`jk(=lA}gB9HyUYCR9 z`FAFsqoM$><29=T*oQIU;XjCKCW-Ckv7UQ2tJh-RZ__(lzMG}7y3amvJ7G5!^p5>6 z!C?DD&+v>{(^GVCf94nuAnBu7`<$+lV!_YKq)$0;D!{pXe8)GR2TZ0bpL7j;KJxT^ z&*4THQ@xh0v@ac%_ac9hzJ(Q{v<3kjte(6>3+5>t8d7I*(6qpu4OFuCOv#ZuPIuP{~>avJ=PHz@!0uf$K2LWK8~#7hK+oMhtf%64IB7YNAS*D(8lOR1Rm*T*h)dJ<#HCEvO0Fc4bkofQ^;cP6gCXQxs1 zz5PNDTR{FU`D{8m3|syB2AlZ_+SAmM`29cRA|s(FUMp%8Y;DTI1qP4hXdVE>MQL@Y=e%4%)UAxWEgrUAq?quDf!AW;$~m z$`&&`=-8-t&Rl6bWD2A$vL=*k5H(xri6RS|vyv1f)UT{4 zXbjbUR~ps$vQkQO8)hF9`7WQqx3h;=G_=e$QO5m-Ek=Siaub6AGSDrMnZk^QQ=`T+{ z7rfSF6uRC~!(Mjg9wb!f_s(z0)yaA3GL>-%RUsg-jO)t@?3EPF543Iv`eA9(Dk(|k z5~Hx9MUtZ=lE^zJo}pz^MP=Rlzjm^${i2=`3ZUFXWGqCe7KQ6cu}a)>l4c~&d-v83 zDv33%D2LJNRm*A+i>w?Q;4ObOw*Xz0{NNLv$pjsv)ojw zj0jqjL*Og2@^&(Xe2u?$+h2d;@W$KEwo>KXcCm#bsdp=uS)PzV_|)y3iI63`p%r+% zqa$&+;_bH=7pB{u5qfLky@-UGkK~abXBg|xo;1z)PL#^2dm3E?mb*gIhtMGmtbnF8 z-+>T=uY1cgM_Is06t{TCr?m75GLBON4QUF;^_M1l8v;NZxnCk0gBDEfhplQk-9xLA zqi%0&Dx2(3)goT3WuD(3??vFfF3IVZ55UKNiC{XgW|PPjCPXoS^kE>!H(>7S`2-av z^~~eV4-Xq5TiFVW2CRZ%Wx?V|yBeYtP;gpPOe!Y?CDaG?rY!Eekuj||#&WD}u{h&v zk}OZ1Q_-T&njHC{Q*4=`WYPWVTOuR`;Ox2fJb9yb?>RpIiWC!;(quIzL}*~fbZ3s- z*BLsj*-zhYjAvO!n<$0yz*5(1XKqkDgcj&M*&8PT^7`%A-*?WsO5JZS)VDTn=;OO1 z*scm^Kn=aiaY7G+qf(32JOGgJ+k9fxIAnVBN0C@P)g4-97(bc~I})p`fRsW4jjVo8%Q=od8XzyjhUVrWW#c|L zlZ*L-8=baQ<(z1%hElRExJ@<57Tgh}6H#Zw(%2m2^)uh&o^eos(Fb+jb@t{NQo4_r z2O9X0dh4b1hk zGziK62vJCn+}PD8klYAlnl<^J95R6jRF)KebQlp~!_+w?B0u{Q2Ax`ugxev~lt|`` zx3LlbGC5`+pSiB)%P{b8e!Dw)?zvj0A2c?6e=Wkpj!3OCY<7=mW@y1+nl*nKz!rT$D!bqJ{7!i5)rMZfeE+$5TnT%57u%rmJ3IbHL=xTgpH z^O7mNCwb8@6)saLKpZpsF@nV%DYuRsB7D-wUH^;{8p!m)c8(Mq2_FLquN0C+#=0ttFL)c35A zfC)@Gr%Sg=E+XhIUPYE+bG$=%cvOr!^yO3%<(bUE9AW#}CeNZ4c-f`m4Q3)|e`FKE z{dvB;K!l`re-HcuwMU0AxVmH^urGp%T6PscYv6lj1iJLQP@ZyX-WcBb7Xy`+phFg5SOqs_*wDM>BvG26( zYgR7rMby!+TL>3S;M9G_5tLhYvUu>r&$7=f5jo2OOu@&GZEuY@)DdSW%fRuzk93Yl z72YKf+I0k+IG-Y7v;C2xKHX9|+d5`OX0Yu_|F9o^m+)Uch@UAjv`b>H4jkgG0)kh?L#<$w1i zkriGcC5Y&4icN5clU1#XrMkS7GfX_zn#4h$bhdP*v7Bc3X5z3RZ~xR-SXtY~Dtb=W zA93-BOrpS+2(gt|T;fbExZ}p$8P*mnRVB2*{3%4+fhfe^+OoMtU_(n=u)b0L1RvR= zNaefi`~JFOaWUZS6DEhnK7={lH5;0Ac(N_sB#|MR#dp!t-T(50IlG5jOLy9L>num0 zS7FD)zywf1v2|R9gz1n@YZrzQgJD0=Z)XCZ~q=dY@K@7%%DBqQl(^=or z$+xYgT_pDGb6+Czoo*nsy&-tt`vv^DtNvM-GK8XL-PUMdmA!`+$J`&eZV{W4Sj z$QGH*upYm26vR=*?jl#Yg$1Ksld@rEhq6hvQUVF|6D)o{P3);0KAw=iHsd*YyMC z8~6&NkuhM{(5Z5ml$orEM-9U_8fUbDEni;0$SIG!}V@#Ww~X6`=^ zt;XXA6V6hcc*vd{^6C1@E?@5uwPEYZnNiwOJPIICb)Os`k=hJL-WpQ9?W14~V#LxO zALMy#m%|xJmWdC!b@1?7`#xF)eVlOR0T9Au5E=}xhsdR(B`j(*K4Q8LJ*1lQ-j?tG z+dM$mp$a8pyna_38$Qn+%{&@m{FE3azQn0AC(M_m=A4fD(?GG%6d|(zZHrv6^QORJ z5yH@hF(5EXC%Q*UCa5PJ;^V+)x zWzc+_0wE@#L-XwfsiivThjVlpX|bz0i}x|I3Qjvjwg+>ySJBIT=eynFASc zN4M5@%T|ZajSJ>#?w?xkJIjU5) zmSBhsp>*5Q;TIjv@?`M66)*nu$g){y@^0T;d#Kk`=2te5L$E|H1s|$oC$S zWw;)rvazF2$KVx`L}6>S&gui~XY7@g75gX;QZY356CPGXKJ(Wt9>b4@Ruy(hw6;Kd-h1v>?&2o6&*6~))zk26gk z+d_NZ0#m;oRHoL;aM<`{ZdG`NGgL$y&}XQ$*I(q|t8c{xOV9ycTSc5~A#>c{kVViv zf3PW6V-XzIozMOuGGVXiyZh9nAi8@wIo2y0ILU)r%)Nd-O#cJ(+H#439)`DLHcTbQ zib2{^dofd$2_(f)>$rEaq%dIseg$|R;MH}d7H9qqhGxM)BvMWXl-Bum0)JJ}qB zQHRJYxOb(PuIxZ@VKgxfl0~u%P5VjSR9Np2sFFslbn zMAhNksfk^g@E4Ao%K@y1SOsBTGf*5%hhQFr^j(7%eG+m)RGXz#o}x-S4pD`}v!_Xr z1=f)?@TLETd1_DGHPUzk+%KN;cDz?cRHP}!+YMu>Qg7e;6bN79)7pGF^WrTrY9Azg zM*cmjo7D8GN1dpuF2Oy9>rAU3ox={KWOrj>3d6%dXkf^-B$$%_ew~WGGXY{kct?Tr zzHfplRJ$>S@u;uwsVG9V90R)WA@w{ zMb2?iJqD8wtv9tQL}&#Z|6z%WJx9y0m(%jl^p z1f!~I@y(ufraC6m=wwifjdbWwR)M0(GS{>_FBL9(5{kgTN2Lpld7JRnR+>677Yj-^ zP4L@Lopdd=lT4T#hO3LKY@?5l? zO|btC+d5;pGF4TTNFp#3iZpvg*T10H9Fx=nS6oqY6QnWwe;j!`8zdTPNj^4pT`7 zFgl$IC1?H0l6d%=Rak$PsL*>5hR9$vK!?o0dK0!-HOFWv0}+iA2FNOWXjx)|NGowG zi!rIpsKQ;k_C&oLLUqz%tm~OCZOZ<}YGV^HC%;qZ2(xOk5l9u6qTxDQ@>u0tFYZv# z?(BV)B<{A~BDN+WJ%WiwBlxoD;&y+X`?k($T?T`%h*<3lzkI9ZHphVY46}yO+1rXqA(&R7z54kP&_m+j^>04 zajGT@d3JuQLam8IN~pLsKt%b*5O0AQ<9Z3p?@(du&{Q+I-AhTqc_bT}N1B z*@DECvKwu&+Kj1_Ee@ZD1|puK3AS2XkludbEK_p1(jmnu&4LTz9;;pqbA9XqKr*IT zWJn5RQ-|eY4vCkNkPe#rQJ1T{-ExrWhW{4pCuOyF1IKQfLz=r`V@} zqitbNB8S*YCV@DnQMw2xzlqLlL);vSj(v%6XP_Ll$iCc6H zuJv7-?_1K{9J$xMHVS5rs&Y8q<-2J3HgqV4XX84b^|Av#=4ZmMLEEmC@4H^aNB@u- zi~?yqO0YC*3G_Kb4{uI|*M3x~(K`JKt;DD(rU(KH4=}Sd0O?9gU0V%Z{rcNQw-Axvb??Vh5)m zC_W1Hw%rhW-OAto-gv>gN^(`rT#*FNPr?>(?&5WorgolR^kUR|Up<&(Np$vc2}aTJshQNH_lpSz!m(rpAxlY z;RhX4>Ou%Omcl+D+C>D(1*AYzT&U?)EWZs6~erdn6lu5HK#BGtp!4Le*YfEHcY!UA< zX&KVqg?n!O#_L|0ThDjL^*iY5dt|yB#m{)+3>n3QZA)ZF%Qmv-FL9K_F#VoivMn8s z1ozm5CO%sSeAd{$rq*w;asb&>%lP2j3hHI0RrC<*^!(cS9|R!Mxsk^P4cmDl*O1w= zMw5lr?dXo&If<=qNgBT$Z;xIcu&YbOj@kB( z@7bRA?+<#u#d$l+=#8%Q`7?tp{2cGY1>m!O*TMF^2fydp7aJc+9zjkKxTo|8fjlv? z6Uf) zJ`RgOZ>J$7T~`ml_#3dhe|ROc$ri;W=2>y+S*LG*sErI43%TBs=Kp#`%;@2Mo>5C)4yXlM+q zb8E51)?mVzXpV$6>1i6VW|3^1cE5GPFn5$TwG2m#3eHZ7f8Qzzyp=u!?`yM2puNMy zdWCRntMADb({Y?U$KyR_+swx9(*Z%o>tlucXa?Q9OBt6>lAHIpPhyrH{?9qB-SgC$a;> zpD>n`pJ}$eC6ZoR73T1Q&iU^bJ53L6ny(aKWcR3RMV5eX(DU|ZrpJ!kB+iUdsf$Oc z909Oo`T9?2-0Yz!#FW=j$f};twFQCH!#wgOJ;Rprkv*2d4n9axY7+>o*?wwY#9{t= z({=Fro__ARa}<2%`@Z7{=L&D`pSk`xwK);;pIz7qxcd0a%d1_Ywf4H+7@iRu(c8=z zUt1n7u^H259PUoM(ZYepH8a8Z*~~puEt8`|W(p7~or{X-7;3GEY{m~R>rcxpw}(`< zcKIuX&1VtIn^UC*Xh&JgsblmAxH=M>JDDa%oG$})JbyTL?LF-TeB%%cwr-LzG1u5X zX>h(xUUcu#F&jMz2Skb_Xuf$qw6p_4@ix~J)@Juv-eGe;Z>)oz;$`eTd;lHmn}R|> z-uJWjneW58F3|71fWy(=?{!VXh8ZSfk1d|&tyiHQkC)Hh_Rn#clR@ys2#086^fy@# zT?c^Ot_))-!kVa5K(LDux^Q^8=RfLX-wLuxV!2|SmdN5599#8an0ZC@WhoWN$F!K* zq@k_?VfXZ`oSFsJ&`G@J`#Qsp2ZdGFHt0C+)19{rsesp(Jm1N15HQC*+!m&jKFcpq zS0A+a%tLV8Vrm$4{_5TEySH|9vvmAc0cbLsLCuWLgJ~7^Wn~ZWG3scXCurmc_}tDL z`V3A#3;5ou*Ln793Lc>{0{AlXv@Sk3o*BMlzuVlr`DWQKtQ-#1rC(Na#iNB;N(vgW zypz!GrJB>=!_wIDvD8a3-SWgEsmrs1cWGp`B%Bt-aZ>wdM`Zol(d(U zs5(~c=;A;4rgkYy0)_e<&fS6RR} z^|OE{oFw7ScJ9~XMYxcsn4_hoDosj9vv@E~%I&|OT-A{&00njV-=Qf9I4$|ho&>2i z;(*#GE-;mdY>f%w0xd7od$bBdB2t?AVheS}X8&=?&cVzA{8THqG>h-&%5)|aKfaad zx%lkuucOuNyOsDYm^ZnsbR^DrW_vaRHi+plXjbYEtS-U_>n5kwg@u=_`bNi9rw%5c>c`$z z7>J4mUn6a0_17Oe~>`lyHZ^*79}p8k|i}~$M>ObIRDZV9OuDR81*Ac z-9mC9O~DXF+(k@BDEqZGW_Xll-zD@6W{VpmXN0npaHAHsU`vJz5xREj>g%5ndoUV7 zH_RR+)A2Oq`;sB&zk|q$Z21>)vtQSS_;+{UwTm1=H;L~7p9-y44=XT=d{XHvD99_w zu4gZD#AoTcZM75Jf6?I?Fo_~sv?yc}wXnQ#IrrE?2z?R-M_a0F6&{zp49>d~m;q z;u;W5QE!!1(BF&;1G}i^JeI;)tem+nR;aD=TMkey_+m`Y>K8OsD4kik7 zkl+Z?TYE~#n?&q=>(FiYYIMH5`wA)|cCD@T$v?|J@Dn?FWgA;7XUJ3yz67ARw;@;U ziGz(|gz7bm4$3#N)udvg^eS4Ekq~}Q?sVLujS7i=Ger8t4E-i5#+{jZM@#xayUjV48X_?Psmfc3K?x^GVjs(GfQ;a6 z1X$COr4ZMYU~v)|QTT|omUaEMjh{AnTb4_IsTN(x+HpB~7kXT~nKKWGJy7K9GTU_h z(2y|s%XNI9Wr}>kX>Y0~=7fa~Bzbx{*yysGCj%0i#xqYb)VZ&6=H4A9Gkf;8JPUfC z2?V%%%4$Gmz(rH{O2*S@34n?zF?EmFT)R3@Co}K~A8!K#NNQ!k}V(I$u8XUA$c6j`a0i^e4h6uyW z12Hr_1XvzQyGv~A^a2KjxV=mcHty4VpiLYwEOsU}4XjEWPCiQJv$lOaJe-|5^>4do z5C0a|jAW;H{)}v9kq;#zJx*zAge;&!t)QCui(~%OkRfuU9;Ba`O;&0*vZ4xAB(j*m zprMq!z>*)4WHNT=VdwTnWZ2y?+{vl(0uXAyz<9Q+`>#q4ME0F|%6HZ}jU8Qm6XrJY4Z%(IJDB-r2Odw|%P^Z`-j)3EU{42@{HfX60<_d>M|fJB@I>-^up9&h zqD^d8U4ie-0m_c|Xwf8fJcp+;8flRnV8uvHhnA9bECNY>Pc>6Ohk#fnI)$Ee1%P=- zhx~}fC97jB!Vys~mH#kVhng+%XAu>MaN9K;oxAO`k0!|ct3*!F-TfpM)NR@0Y*z2@ z3HFwKWRb2*=Sm6PM&@hP@_u*1)V(|2J*~dew|j?%aIMB=E#Mw4@J1tC__tzEDeQqa z8#&;3=@P{ubK7;Nx_zn0+3!fPZ`#A5cOU2aWs{lr&26^5kko=inU}s#$anU{gQ`1q zfC{|i{kQhznf))K3dyvtz!J6M2yDH=vkGx_DF&p34ONL1PQ&5gSZa z6Aq2#6+r0$(sMovGLb?3AH1tlB|+awfrFz#%|Er91ht-CWep277K7RYk+Iv3UvoEJ zO2?9vt5^#IJl0YAc73UbX*;>Y%9E+rT!yRPJp^fA{kBq$y?z7HI(X8z)`BGVpswq9 z(A&YY|4Vq!=LU)Q`lFK90$H5+FA0u4{+F>5kAR2%y^SLvILQ|}as$2GbQ*eK8bM~V z+~q-*veW>hr!sBbSaaNDMkJpvZJ*8-EtIp1bome9ZBbX`m&KnnplY_8)+D&uTh7_L zgYRh^v)+DJI$PaNz$#GpGq&VW>=Leh%+9kz`EC54XUuzEx96Fc(zU%~EVDtT!_|zQ zyM^wiw!6jVrf*FYD9owz|FHHB!MQMP7jA6Zwr$(lv7H^;Hg;_1iEZ1qZQFLv`<=-@ zIMXxiQCD?UcU7;o?rW_%Qwbb%ObkdyX}-0rg)nN@%b8_WHvWEhrpDI3rkg;K0Xg&z z=CkPvdR%P1o%$c*3%&_{o$h*mk231xIj2WHr|j=3{(Ql@^Rr=B**sJ*?gq^b3YB}5 zWCS%BBZ!3=(t+!kk?=+c2D1*y!R0qQ-GJ_u<)L!ZQYNlNS%`*$Z?}Zv6~iS;B3OFf z9xr`kyc$%KH5cvpxSfi23O+CjJbjhc?70563-KRO%!}-Qe;g{!+FNfu6C-xlLzN=lvt60)UxUbam@%`4Q>iizl=bqEqzqFwU+;PN`RC_~cgr*i? zXIplKaI5oy*FB0N7}bW;s}c`;3LTcwWVXahFk9(LMv*JPQ9Y&^W<+})MRVklEr06Z zq%cl7vN;78@5i`bZ@oqE^2%BdqOQ`_;vb+0s`xKz*Q>`mc==r4?+E_3+?Y;nW;}C6 zPRLjX((#(dSEsO~Do3Y4+S1!xh5T%|>bUc_{A9+>sC$Y?`F8J2Y%Gi@)$cpI%R-J| z-uO>?+x^^)-oDAscHiVXHzMwG8*slj0c+f^wOUZa&L#5kBEp;rYjplgT>hhLIaDz8 zZxicnR|peA-KVBvdPRNui31Ui1Y7ITG(?N+jzXS&ztKlmHK2WoMdGX`TU^WZI-O|p za^mnt+x#$6;aAAKjYW@_`Nm$(T=vk>eZBVbXiec6M;F)4|AiL<*Vhidw#89%xumK4 zg_wLwmA#US^3=Eqg7yZ*-ZsYXX#HE~2HWpq2`q}N=VMt*u&-?!@KOp`_Ox$YI!^W$> zrAs$|jz*?I6lL>F2dW?kt(?-Jp@E166+`h@%I|o-Sz~arurZ(vHi!p*;$YjtmIZfe zLcpH!7E0M`HI987ApQQGo3Z6Ycze_bQR^=CGXo1T+wS9XGH^9#G@@Rq`Dhzy1{<>~ z-demFCPPXugCNUzB;Uf&^}vY#bH<>n0c*#aTfy_ z=IZZR=Tz6&u>UnEDQ{#y6;Y*dOgZy-L+>8D`w5-%Y9Euzn;JvqUlnAiYZGYuc0mQT zBCb4wy*(N$4(*EF_Tfms|SK{M*m;3diRbTsMN9MzrJq`vC5}

@?i8u6rxTtUVW|LME{v*Ja`H)#r1$5RK{`PN-fjN`u2BmEVRd z^3;^FHyOGcJPGiB8|a4=Y~{~Fuy}0Vu}GRvd`0ClJ;-Bn_%EQy5p%P!Sz)VIf;chX zBHxTY-CwOCU=bNO{$^-y-qOiopmm@#>HlrrIos9H+R1vXOs(SGL=oo1dyi$CMN|nW z*r|g(^g^!9oAE!=(a?X~p%)-2p;T>;pXQEQWz(|3e#JYo+P-MY8g+yQH!39iYr1f3 z%tNo{^ZovIM>8w#*ueVPZt%63C2$`=snRZAV@*&;8eYDaFK2kCDiqGO({s^~lKUBf zS&gT+jdkTVs?*pXc<$2C(A3<~)DN8-$4^vIi(W^w05X21V@bq5Z57zFRWx*z^2g3B zJ{SMWPG0i+rcQ7jAOBfv-WBe9!ruQ4aQm5U;Bh1kTPwtKy63pwYOj{y7rs)`I*n-W zqW>(|b4RT~sD~Y$*2#Nn&RskL>==7mgA$;h7bCA0lC%5+s9UzI$*vGz3zjtnrNUON z{0CX(-bzt;+`qRs7?Aa*mXMvj?O}-dIMGm5_@FjoWoD^T3bflSeY3Dm;yH z@tR%$gah|F+I?dQqh zGZ;8KnJWaabEiDrUs`fWbS@n?HUFI3#}`mY zqaHh?JUY}KQEJa&7wZsfLN#pStfA+E_x4A9V;AMsc%7peVVqgf;0ls%DR)eiv6hhN43tY$lC)@dEoQ0C|d?h-_XKJXA~t&N&&(%y)w3_Ihzg8pzJ(< zR5jb+*l`NNf=@D#4MfVXGo{oGIhd0<>5&K)Htg)z5TKL!`6C!?wd~0Y3W~i3mNTLR|F4h2@%h zjdW*>b!+)X@cDDMw=6xHC-0T0zGz?>2!lDcx&U^dpb4Dl;+G?-#+^~3P76l#MKy?j z5_=Xh^;(#wo)PrXUQ-_P@{atR;lz{_vp+?_-y_VXDWQ7TemByLtL?(a<7q)^_*wJ^ zOixmpg}8k|!Wg;KLH)5w#OCl;B;XgV-`9wDuHQBGy4`T7(3vejB_4CnYpdaZL+^_BL6(~I$?g?!0hw01|B>1f|vO4V4d{`VfznRR~4`zDh_W7^WXv0f5XDFgMUJ` zQk-C5jveUUwU?=w7>)wmWv8ljp7T&Le) zf)UG>_-cYeA>m<@7wj@rHAKfrXuWaRxvb*gcDRbuQ+i1_DOKLh<((|dkUmvc2DHRq zvge?XQ^|0;R*ea>6(|a~gM-ia;T2-!_EH>FtE}m&tmKUn67UFCh)cePXE-7U=%~Rlk#{_Y!18UIRjawv?}o6K*&!92NTpCA(G|>u8883 zMXIOGUZ<)ogT^?g^flsJr-(a@>hyTAxD$*61n_~x1ocnp==rcHQR*-5cG2b zIpIyA_yB@i%r?xRlYk>-7P1$*;}*=Cz=zGZvVC0%r@B|I0rDUJDgupDcJ z?<9cw&YE}x#Lk}v$)3MSn4ytwvw_Pgo}Ru@hSo@}vgFBBriGVJFUSTO>+i;7UkhGrt)8U?Dgb$(7poEyD#x z2AS=3g$<%O?0@rk6I-+o(jnCueKMka6lez>iL0?hp|C5>Es4HDrKK@@Zx_nBBst>= zo9!CJ!cs|MOyhpW(7`0aRsVs4>lbBq#hgiIDOlReX?GMIO{hkhhwQa#S`pk$v;l7- zjc?b+O+Sy4mtEU2gtg8R3mozb-P1unh3#J=R5nNpr#)0DfjYobpf}!|o&A z3x9rV6_n)Ecuynh0>@BLVDYvf%dMGf5PAUGSY`U)>N|IUXUsNX%(L*9?;&LiO}qKSY<>D}Fr ze*zyHBUQ+tD{n`V5d0+5*wW?>f3v=s7%m+|MM=qnJ+xN4F55kGO>o$ySZ~ zz)i#N*~cFB3{VKT&Sg=rz!>zgs!E9^R3%ffsk&rBGxoGPE?~e`vhS$3wU9U><`zA^5u*b8sFSuM-_UWnj73V`Olb# zTAx*L1;S`nsZy^G!%%t_hLO?|w517_&2eHTr6(__Zm@h2qrqK7IF;s6WI35473(l` z)Y~Od!v%vDFs(J*}vy*nK{m zjUql?V7vh2T3bhRyAPF;3HcjZdM2{gZbY2P2Iq^?Iu|pdK}0KNj-t6>902)R&NDL} zA9ti_1b$BofzSKW_FdzicYQ2zWe%**C7XmizHVvA4j)&sjC*xS4hw2Vg@RbgmlG7= z!p}DIE?aTB7uznI8Io@z!yTBX-<+hdeFZXS|Fr0I3v3mSdr<2|U@_i;#q4Ap{r;`9 zOoTA;dX_czG&DFn9BLyXb)-ApTJq}I?k7|_sxjc))+m_Iw){i-0tWpF9jr(gmdHo%^(178xX=NNuxJ!E-U6BCOchdk5|xGe3Th zhJG=GS6KDVUD_a2UJ!ZtET;&*uuU}lY-ij!N4Pa<8MsE%b;8pJ!e=u}&2*p1! z9hU`PAH?#gDr<6FkPBEdhn_rB#cpG1eG}i86YK13{3PVs#0BhMD-~IwzfAdbMnM4m zoM<_L)?KPib)@!`%izyXB2__6cnkbhzn@C>{EsrRa(rAIJjv_6?R#+`E=V&~o{@&= zoGeq1tz{W?MrWPMTuK<$&ZzzZD$>`)tVQUCNcY%mH-mLWm^kTNDV-x-R>PL=NU58> zpF(;{9C<%k9)7kNCiZexcxwN7RcP>7F9#?5!6EjwK=GwNl%yU8(!sY%40aZt-A(%7FXO1Igfb6RXmF z)4#-K!Zw#iXN@N#XF1c!ZHczPb2+kcNk~ZoS-X?)Wa=7ltF)(K#DJVPwNx-PsFu6ZIbv zqgndWpIPGqDI_*0tGYdNqGdDqQTUd)d00;wB}1Q9OvZJ6ZWDShZrXdU%huRa{5{14be=L~}(GLlFJeJM^{La=5oS!Ei46jxV=WJ=&kWeL} zTb6b_tL|@kZGzr@^kGT>C>flc%SSH}I?~(6JQex9Eo;yCr?3)+Tjsqg^p+Ks&Fu8| zv-LJIyYJ;WdtdnpaXpra!u#HeiEQX@=%-}o_X@ffAG~TgMzQ3ly%&6d{_bdXA0#*f z7`Oa?A}2XKv_pjZ-iU;HrQ!j$g<_H}<;=*i_0ip5(6A%yRmGv#E2uO2>)<)vb>64^ zr#zM6ToB%aggwrotqJY*DY*9&3$V+DBJ@KBz9sP}88Y>xAZ%=$P_qUXQ>n3Vh~A@$ ztmUzYZ~J)(c{4adF(@_Q^nC?Ek{IclV{B$7tH^m0HEeaI1_Df31bp5%F6JZ8blZ^z zJovCvOEG|!ih4A&3K>?0|AceW&f=Smgqer_MRSIqdB~f$z}t=-e9%TgjP@Wxe^=~s z&4IWP(|PT5yz3Ps-d-o#7@|Ugzk;c##WR$Gk9W52*%wuKXA0qk*Q|xG`d?#*IGR<3 zn5HZr?2{tRq6{__G$OdNE!oY8oS&1BF;F63FNnE| z@JJaYy}pZYkb2`hW(2k=s4%Y28FbPHh;~L|E5#+YwbrQCu&Z1&5bvd6PX}tfCr4{N z2I^5qS26%V$)JzQ%7?{jsF|?|BGzyt4p(^{AjX?_?}n+Tj&i|10cY^`-S_j2jXPF3 zQ`fa_UA*cnQB*SA-|;}@#vJAK3eb=k)bEMMy;_I}a}auHkr0}s#-n#19DJ5Q8gUx^ zb2`xh7WQy#Ha0_S)~s7UdIE+fPtM%K{tjda+(=2%`maX9#TPhCII38>_tM`pjBI^K zap&0Girappj6EN(y@%wx9!F#4rF^myxgKQB|p;qi``2hGh| zIFtfTWTD=4s5{ypP?E5g1w3(uL3xzh-=_IzWz!h8onQH1b2{d<1a@%mtd_Lx`^pJ_ z^~3D>>II{iQf-D^+96zA&_Aq}algh8OEiN3pM!of;o&rIZ3*sUp(3q-fF%?62#iQ< zB(Ji84je0WdvxLg9F`{GXQ=lwW+{Uc?Gp#18G^QR_7$@i5n!(d4wpxIh!1NuO%+gL z&JCtOEeha{S%=0(w}-7zNI}QNQl7^xw$&u4b|Ycim1>$+lsi^#qXIexH(6Og z@$<|?{mq?28pIjv8$ww<6H3|2?i!nEawT$VgX|1MyxNm(02_!^od_-y8kZB4T~I{T zs5}f=it%()d2G;;989CDmVY=#?xujLNa}UdDO9Aa&#f zzFye84;Ci8LpCdeR^5wF;r#knLYJ^Hj|fWipGfPt)Tlv!#G?Ara^YA4JNMZ!RG3?E zB8@PjbY;&#xh(R>g%)M~2t?O^d?I5N>CmefTZ|IYIE+22U0Y}0xZf9Wnq`SF$HEdC z&OFX8pnul7DSLXw?=H3i+h_MnBz#wM6nr0C4-DM4b59W0>uc4;Pa0R4Y^o`s)FUR- zm#FTVK%uqUclrZf?jG^^Bf)ZASfYvt#*nB`J~s)fMwJ{qpe^`ya~kzG+O$PAxIZnB zT;DiuT!X1}Xz^l5F8tZ!q=fge)KEw?m#rM_-NVRj&MYd#z$}oIB zLA3U{l(URzwZNL7lyu`2)LqQBv~MV2_O??T=@Dv6204#UM2fvZ0^yR*49gl#8>rx% zRD+P{QBp}{m+5#o(4;iBKyHbE{>(GyDwaLFyc`=HARyGl|FHmO8+P+e4q|iON-7pK zdEgrYRz!UMuzv*mN}T36W=tYtlSD!(6irh#t~SX|e=&yI8iTQc|8VlVW4ZaFVp6!( z;mu00V5%Gl^|?@yDRj!kM7G+}uPdil4?x zq#+L815gYQ4mSL9Fz$bMLv9i7g~2ug`0E%g zSPFSe#%ehuH*8*@zi2c}B2e2{2KY6Wl&Og|ra>gHv5v~`6M_MmL7Bclu1~%S4uKE{3*)u=zntY7_VTS&TtN<#`jj zJZ4FfbV`4M&44nQDVOd!wwpH%_Gxe1fN$tBqT+#4z|V?V9Gbf^QI)UfPcqrXpIJdX zu#lWo6B$hS(+dAEkq2;zUCYpPDckihF4;Xh?x{B5wf=KNzcS#nGhuftAd8WIfrG@ z@>@{kW`_~MLjs2JmG@X21}kAc^1lgD;(P|@a}gh!sBV)j@lj%z@_CfyO)%^*$ouv! zXxXB$!k(ahz0(b$XmRkNG85j_PPt?P*=$lYX8_SU zp)8cSg(wriP4egqiE%eqeV>%YTnmTPt9qxPe*7Jij_K#Z%$zCBi8diAlM2wkQQNuK z<{s7*DraK>!GqiK5!3zm zc{gV`vklLGJ$&eB*)>Ok!5Cj-Rw-02t{Xmo@uUpjCpIa{>+lc{h2BBzzgV#BwAP|Q z6Xk3=q|v%W6`LS~zYX!U$d{Ri?No5&!qD4r5rKaA&z@Qf9a0+;FP3i2fwZL^1=W%r z?0cl+Mm)-!5y`l9!p>u$ktho?Gplxt@dbFJV?Sf`EfLnH@tk2+ZwkAeZ(J-?0Xv(5 zid=El_*Cc$X%X>QIz~m=NtL)-j1M{7)T&q&M8#P<%9n#XgxfUxGf+p=RPW3XLSv83 zM6pgJQScspqCwZjaf-(pOU*`(pt=z`YXsT3ge5t$VgX1SYS2uot(p^MyS4(P^W~Zi z%DIHAyvVE0rYu9=gD?`(sf3g7kV+p%T$x>n`ds(->5wuOfsmVXUmkZeKvEK?#|5n# zxip7kVGrqvzEHJ0Hp2}Qzn~OmIF>Su&koxAa5y@#!9vG#obxjvVu+ZBZghR zG2d;3RX2Nc*6aJ6bH_o8G(jFe;R3#efw%tWt5)FaM9^zaCG_4cR}?uzbDs5?w|~8T zzBqby4i>kSBS89z1l`Sjsffeo7z{@Fsc1$`Q&&afT1JB$hB6X{+97N{h59A~SZ0}{ z62~ExZ!DP}X8JihJ&?h~%{uN&jTst*k7WGwUbp;rlw z=6ndx@GwwMG+8e(p^=UKYg#yJsALBItECWmIb>P2)X-KrS$i=#uo+xkV|lNh-;0C+ zvsX2xhYLdz{9m+n+tjF(Y!jwzjDdrc0p0oUK?2xzzg2DRcqvJsqXnAsVYX;t< zCq^-%dFXu&Xb72zhqlRbx8T183dsWWyke(5eb<8>Lo^%V)@JgS_l>?%tx026IWA_d~8sWr#8Fn5}J?`^IAW?NCM zOv@P=pJ^;1?;U5)cZAPBNxV_aMpV+__HJO)f15vijNtnVwiS?4F#O~BS&6{*2*vxao(NKsM- zX%g)CGHuT zcQ>rZ@27q&z2WaDySs>XI`8b!=}JzTiAW32ey5B~|4V}}ViCycU-K#7qxGo^a& zU*Wxv8}BWpAdC0!??=WG)fx$VBnG~70f!wsX*{e*%Z#iYG%X<*U1f>k@fai^7^hhk zBWYtHI~N)xf_viusAyChD0Zn0`K&l`A{CRBZ=_m?S;O+*2WnO-)nUr`YMG&|4NIkm zxMmrDBBrz^O+c+;O=iy#C|me|_}cfaV|`Aeaw{+(Nn*{$bCAS{+tiuPDgB?gDHUrR z+_S%5T~6Uhp+JwVRGo9OU+x+J{oazi_$%rBSI|OX68fiGgjO4KxVmI)(yPUlL;J=R z1mPB-Qdb<^wL|||cCt|io<}6g$`#AT&4JAW$+;)S!|bB+g8Ng3(_;?yC$TcWjUqGc z76!NV-}6|6(Kx?aOB0c_la1S>9=C!2-k8Q`yB<6%E4#q;H-?Hb^Im{8EfBFm7M3;e ze|GiX@p?zYz<%G&UR|>PMUfQ8TnrZ&ActO*DHsRGTqLmcG2&};(3F!~g#1%Jl`;O~ zX+8Ods*EOCQBPHc?!yfv%1TlRs90m^q({GiEwZXZw)u zS1}y4=EN*cnpz)+*lZ14gH=&chVw)K2#rjlE|QWtQ#C0-Ga=6EFKR-#7_z)H#!@me ztbApqQr$Hnc{vJs<4Cm&R8+Qytzrwo{#veN-+yn|L~hT|XHC}ul5HTZW8FOgZ4|^D zK&Ij;y4m}c-@NDjxc4;_vc=0sICwIma6CPJzSZ%Oc-u&Pq9LnLuSJ`*mZJ_2(Legg10I!DZO9_N6QL5ZyA1h41|PB z!(4;tNws(bqjCeq5=*<~>{$EZ?O+hF&Tweb&igZH;D0Ww|FjfMEPv^H7+Yfs6UkX& zl|(ReqUd#yu=^2;`KX7Sqh>NE-$Dq8nNbR^af!s!>hR7>Z=by}vc*u(SX4PqP6Vzo z9I1l1lG&fVheqqLqR+^K#c#7N6|ok!v^l3PaI0WBO~x89zQ_}patd25AaOXM0m;D2 z*$=aNf`Z_vnA2IA3P%?=A?K-9F3+5_y95oP{=L0LM%Z1h>-=Q=IbVhFU4rQb4B7ZJ zP;XF|S)go~`ZwCU`hU6-etHYO-$Zc6Q9Y84BInTjk=Jz~^60TwTP%P5pq5)Hg|z1H zScD`B$01e1(6O*Mqd}x(u}cX>iBUq8S%R{%qyRNQpTp}8Scdbqs*-PZH9RkDV@AqX zUB@cennD9P;ez)c%rifyURt}z7;KhwG;eq=Gf2$4Z)y3R-}U^c{hCZmrYxIV`Y8%; z$I0vnO{14xyFa$~oppZuw@Lf^PWZU%*&aE=wdZ^K^MH(IX7^0M&rG5iY3~u_@X3m$ zY=R$_jf;y)CYquoEjmJus~nUw3h|;Us{0yM`{C9>iK_IazDt5l zi=+9OR)amh+hS-{?-PoacL-mfJQp4zCCjb zl4XEaKAC8vf7?_up@sT~23=0gQHE4*zs#}39wuyECVlcys6gK`hTifHR=cb}floKI zSwiJ}!nbO*V=OICw;a>*=WKt!MK*Lu2Eq<7<2I`(ftkIScXjjgP53oo@ZFwv*V`sU zXx9C4ur#*@?JO@@&S*>%N7lmBeT<*`F`w(TDH?aztSCSM+dkV^)_pv975HD!HW~Sn zZ^g*^Hz=K3M$M@1v<0iAJenk7y@}bhBX%rxgDDrps#Fwpa)D*v^XeFHC0!2Li58K zv=y%4pudNYX%h>c9|YM->c+CV<|ZyLrU;^^wZS)Yq(O{e$1!r%kb|NY#+ zvpunzQ2Q%!yw9YnBrnw4AaR|@5CP8+X!cXkWmNGu>(y_M6!EPo(BLNYtoxQA4)Spi ze%9B6w=v_ATTU5tQJJ4+J`=)F>b;UU$oN88@9i>X8c9qwAJ*2&TTYbh!~u=*y~6%( zlTmd)1UTo(JA;^aP!(l>O}zb(XfJUl#2#>c_eHik=5%zOr49hhr)boCEB>B&*1qlI zder4_$FxTFJgwxpf}&aiZ8LFL96NA$*K=qiSz{Ry#EjH>ACCH;3;G_NDDoYw5_o>< zKAnv{K?j{xl$^s3YAxQ30-;i~?91E#?%y@CJq z2t=*S8eM(y#qVsg+X||Uq&F|PlCqMD5xM2QQ(M$ZRr!WwQ|?m0-u2F`-_L&Bw$tyZ zfaCAAdv^Ql(lD#JJA)q1JvkP^?~qSFir}9vtaiOOrxVO!rzqaR2*(Wag{RQvXKfD4WyZJSY^}=4n=cq zDxR;up&q=yRL5F?MP#dqicb2Zj(-6fdEtZo6D$VlngSjU$9oXDjz$(7(4iM%ER|=Q zQSHZ0l@Z^^-|sNM@ZRuqQ!>z`RiDS>Niy4hUSpqhOED6=1qpgwo|+Wu=W6{;JYWFs=Hupz4(D6>4v@WT&peVS=xl} z=A-jR+g;gm-T3mQtj}9H1Bt!K_*d#`qz!>)jeC#XyveaR)pTAYToIaTH!3tmG>R-J z+SXcTnHKF58hl{wI#m~z@`V!vxldEvAMi&JA7b%kkaG@}b=jl)uNcH72C*ejl}+HN zos0SgE9)fJe;4-JZ;seJ>jN6tS$_DOy6Da;F*zGP39V>^x9>q(2Ctt@NQ^(BITJ-K zpT8iz*uFv?8d$vlBX<5DJCvCf2pFIC|H}^jUk4m8(ErO0T|^RO{@?2VhvGP3p#Nis z{%;2$AoB|x>HlMgx^%{+{Ql0;b7v=^il9JAiy<*l=^Ig9FeyUd={cYU>Ta{=}%S<6=4`nFCR+P1cMRq9#KG}CtI zGYcZZPL|fDLjMYe6l5D~EfO%AHHbzt?fMY;2Gpobu<*!)DG1zJ)i0eRln}ZC6zm5-|{K4WRt3o41? z!^ssP$k}5CCQTJl_D&cPLR!oeiprZ-yLe>@O>^hs(%UwHBEI56_{~1H-U&?Cam2`4 z7sU-)j4A5G32XZ)DpyQYPKhlO)m{?JkNB0#JGms}Kc4FnDWhD_^>8W; z6qf~VnE4t3CJMEB@35CEmt*c^$$_%fBXVI$|BmkDcd|3>ky6zOdC-O9sfiy9SANU? zU9pWLNzGrPtDsiuf~WTBNJ&W^4~R`8%Ik^caf_v%Z7`5ob1ePW1|iL^ky@2RKITXc zI^x3^5(s4t118ZM7}cX-mTmT>#O}*LEw%9{tKMl|#cZSEMM}Y@SX`Kl62=69&??U? ze~)dOi+cd2Kv5JU%8W?$6u_e<00boW67lL?{34(p{^l}Pjwyp$EIZp(r3DJ-oda<% z{p5|k#}p-;Mm?#W{WVfpFh^>3>IW2t@(sY5N!bo-7$f6W%}~0Izf3J9Ho5F*-wGhPQITs#K39 zMLoa2d!|@JCnCW!r~n3<;eZ#(NIXhx&I^#+X~bx{k1WRj00Vot4C3$8A~z_VqQO47 z;`}m5h5=@6(mS`<$nx(Go+fc%=%9ySFiAoXM8dV)De84o!Vb711RX-Uqq*~tYy|=t z#zJsXnp=s#U_%mS~kOt`cX6;-_5#8Ul+ETS9yg4X*JDa4<2>(~N+bz9*Y`2P#RN zIh34%gQxzsxGLa55`i?)uZ&Eo0Ttya&Fn-XxX?BrV!Z?x#xs-P{8NG`+Poxt(<^rc z;+!C)n1P+Hg%=p2Z#m}Pm>^Ia-1_)Nr-ciP z)ncuu!(fq-kI4k==?iB!fSxpe$Nk8?L_gNSM5cWJNO-Fg-ivHNa2el49HW}gBh_Q+X!W?~ z;B5Z;HS+y<`O49Xz|s1m@fyn!UV2&BxO`4A%Cos=W0AETU=GT8@`ikgAKulhfBIdB z)Pgf)HEG%Gi0V01SAD3X6H4;cG=YX>)D7;CZm2Kr?zeMTj?f{kYo?bo(~q~B8B`Bd zZDzM9*311WpKQyg&hNqngs${JW8B`{IU+q44@_4;TncG^%?@g}%zdejj&Ap-4I>HO z!Mk}~E7xFMTd=9q%ftP7ZF%_+vDV=6?t(qej{p8_Wl-b4h*$&n6i&q2kSbasoDA+! zG?m#FM4B8kJ_rRu>%;)25R2L(Z0tA;9hM<6t-IWxRHuaHDd94vt;WX2g9BJ5^f`y; z;wXIab5XPwoQdfhR_bFkB^^|{6$TpdGBeVp$h>xLE}q|~>BYDnm!B!wEX6HtL4SAO zQwKm~>58L!cQar>&;GWm^#Q|9wVj3h`@iDAmn>HqGhP*h3Looc+rOtQB|_&%f4fr% z2A}Xy3db@d<9pmqU3Z>>l|eV&u@m!wajx zz3<|+$u~c&($$yTBcdE5FyajRFC7-v?CcoSsB5}71KoB zp&}PPesBSjuS&xv;7^%IMVF*dN9X_)I6bNEc-VWajKi>OTv zd=ROBqc&Iglnm@)2zBGria{7gfy_GYg!6rDA0Lthbth^Eq*Fa(P@)#(EtWA&ADj9b z=r*o7kQofQS>F(P-#XS6r2D|hk&CmR*T>n-c~&mp??h`&?*Zp+_q(fi30LA#SETEh=HjMq01?7R*@@EbTqo**QtVmD>>M+JcPp?iZ5sGi{D_(- znzYLd>!J`(B^atsrH~o7>ctA%~AM{`%^4pZBDnW>uvL# zit*-t?P%i!!Ym)(X^51)mQGc*2#nW?FI8a={!s~X_{8;yMT!Qq%SDbP5$9$D`N0OC z!(ya4Blj7E(BH9uUI4Rj%#Ld1nn&Rpun6ffIU92dBFnh*`yhLQT;BZwdz$vhI|RK; zTz1>djAdkPhpOkln!08xeiica2cZ8#qv9;paX;7^zL9~1GOrMS0ckKnq}a`|pC81G z1Z&(db-)FhCd}?G+2`-L2Ch$#y)NJ3JzpERIUAL&{qBTp;BA>UI9Qv+_b6OVvLG3w z4ntBjG5sV=OQH+|Lqf?e#h2Cr(dCOB2AUw#JxFBK&11XaaqOMYiGk;MrW=_%s z9G`q|d43{FTW<(#4c3p=tRrvlF+1QiaUTZl+*_5C$vuW8>nvwCPPz5Kd4NjQ$GVQ?MCMDHi-_kzVlC0 zZnQX4#9l>RR(1D)@i0AV;+2j_NtZuA(ihA@9kR7QdVmbGrtufx=T;ZriguZy4R;!N zH}MDnzAMd#weR$&zvmiy-jBF7!(crsv)WA-=1K=5iNU045Hk>equ1eXFvKfGX0_oI z;J8TEZ33L?ZK6!q*hBxR8!!h<7{k|32$^^?W?wC-p%c{?x2b0td_EuEencF)`*}R? zd6?hAAl~c7`TAy7G(7c}Zcwe)L$;`VsP>j!s$q~wKBTK1fgGuw(4F8?sYSOF?I9s5 z{NdV?LMU5=&kC`s$%jiemm%>qhh9e-jAVF&rZ(87ksH@TcvrGv~SKOsPMjSo>jO5`CI`AAm+=5B>ph$+xG~Q&{*o z>K6AimR8$y|0?(twrYk;wh%T76fR9Oc*FvyH#(ix+>ggLRN@h2*gOXxF&xBg=7W@K z^w9s1XN%(xip$6egf^pEXimg3pnu0ago$8{eOUQ??M=D+{EO%Ft7w0Ncdg&qkP?~y zwCL1bYGD5vk4oZ9n_?}<=*C%EdKy03ZetUxz(HxAmBja#BBMTY*#W-}JxT@B^!(jO zX(X9@=Dx9T^Mee(7TEEyzEdJa=Vm)2WSC*y*zzGPm!`%iZ$O5cvdibbiXDQLniX1} zU(1jj6qzqcenQAbKpxv9;z%ja@qU(!lURx++31Yq)^wZth*wK+@;_GT}&528rwz{Z>U;qL4gjaU;+Mja1i#CHVVl$U+ZZ=5R9u*eUcux=Z@u_B|NpX}Fv4rfY zcng+a*??k(WAHZU@V{dRuO>3?Q#7~gF>D&N&g zF0_i(ai5|``vn?QXEp)Umeh}TqQawA9D|}7Ed-txpBpLHSD{@j3e}Hy!9biCr7v5i zSlK!Dv9XFhN3Ny*H;4xB7rQ@F7(#+|TXL}$r^!p{!3f#JTM*3e=mjPYk;P(M`J>f0 zUab5sqvwftrgg?8x)zuYalY9d@{<`((H|LO~&6^6BoLX3{9yc9A*6R{b@@mzb(H|5}i@-yfn zrH#$7g-WBjLyeUh#_L2OnI*L^SVT>^@``yT@x|uareQCEz;AMN$HI+Wd?#ibzmAkM zsnv&s%s@>AN~|#?^!li+hwD-b9)xr6Z&pq=Ql1A9ulZbT&E36uS9R3c;so14>&Vae z=Z`@r5F@IgYYJe;CK_nZM4;|KV(srih-YzL%Z< zKLBMwn!nH;U+g6)5oU!e10Zz_5mv7lTtg!nRFV>U8qVmR;|x1BYmTJ^DqqRS$YXCB z0nSfWwl-R;=Q zV^3bF0d1mJBfa<<5bK?>=R;~-0{6P-jJ ze@w0kR$Hv5o9jtm1fxK)lJ3~?TM(~cTr3nA3peH|G3k|OX?uafEG@csADsTLZ-4N8 z?@l@9^DG#tsnGMLKF|787}e?fKbw2|$G7hsA03}lymF~Lr11jxBAhR@f(|~<#-N{|%vwnIar6l2a^> z#7~}N6s8Z;vBXjIyier&LaC%c#ZT`K7!~>Q1_%)oz5L@gDh(&dRJQLr<)P@a9^1Qi zWjA+&vpo0UcB-G!caSc}>iA@{yE^)>|KR#h{l|~*?d^atQpkv!n3T}dM*19Irc5oe zPMV2md%uRp^8vu_o z%-9X!)WSvH7XUsfu>lYZdh+B$Dwrc&s~@Obi9;ClUY^+r9BEWuujphPkdoNK>BDpE7aY>G>+#;8hRrUEAAD zxT$}hntU{3>{bCOZ+sWO-5ZLL9|+{@lI){+}J)xW9AlYU-ZS@RFa(b`$j7 zo~_k`!{eKG53|=pPKAMzfpwYs^KpgE5ajrRKpF))rV-8<-9$jowqYmu!kR%Sxf{?^ zvY|u_Kv=w~UjdMZuvRE;wUTC8kw+ztfK^WbA6p_Ys;lGDn+@_ekuanxeP9A2Wk_32 zAwf&DsTh>g5X>N6fHeGlsczv-#NzxSsfecKm43TDhc_}y>%hle-sZ(Yep-C2vSH)86=>eklL>FK9m zy!XOO4^F85VQkb>!R^t|0wx?ZvE+43Nha8l&$snTA!^OD)roW)D`1M8Qf3*HLNVpg zVZ`LnGsyZ4CoXGix2}rUShGqbzJ8&vO)7xmP;f|df;&SmGk!C0Lm@D#U!s%n0H@ID z#E=VK!)K&p$Th=bTi}Jkp;xhsGkGSF1~$2wGGtegQr(FFwi72SoRLSBSquPjl4m{& zQpogy+FBhPojmu_z3X=#WNY<8Nn9fU<65or((%_`y!t2p&ix;M_ib2Q45qQTr5Q}w zIs>2$^99r;oHqsnLMDmnLS-^sOH4yM$_^n2MDIY+5CN|TVN~sZfBVh9`t66u=e+p^ z*KdW8FZQjw`_H~`cmMDNe8Lh{szH+{>&_x{KYRa-}md15VAGHBxD zV6C= z#_>V4fEH_pQA3@DV-l9x5E{7(EQAXwU`Y~LCiytd`2wZHOS#6lQs;l?J8%8dA3VK! z&9^h-__$X^AYm}gCI8ml2YL46;Tuq2UnUB&0dOM;+Gq}NDJ?pg_9$Bhw=jw7k2_lA ztl0sBHXc{m+`)koQY~YA8V=Fm-EmwZ*sYL|7R5nT>2)wgSpa9I5%J>tDl_9t5{un2 z2ud_ZVPK$1o=;40Lor93yxRzmmRkbf@Dm4yPYBf60Q+(Bm}(0_ACGv70u(B((I#mW zXRQiMTI-0;RXS?QqZkSj}Ui>rP_!O`@t}nwnr_X2vMkujJpc=!;2(rBR#=?X|ylIR$ zL!he+Jz>cs4={-X!N2$2xBlt>d3N=xpMWDIHGIw#@9q2h*KggY`t<`HVR?hEL(q|o zMm!zsKX`aT=F`SgK6ZV{5r51%B1n=!{P;GtqqTfsci<4IiaRA7)Bnc z_zc=hY(i8vONveFL%4-Ih`uTa+GQdYzeGO~jL|UbLi*VP26heeR{OP>! zjD)~2`R1$2<~#waB_Aaf1lGu4ni$mTMl2xL+Cdcpc1@SQgx@+@U{Fv}ZKGoKS0^W@ zFXj>X=*SBwZ%1HM(VR2SPs;!8?>+vf-}`)~U(?U9;W}v_uu-Ke{-_8>qS~c5NN>%^7`HTcOD!#G!`=FMwG<*gc4cA zmtZ@dmUWz>XF#MJW55XME_F4!1ogL=WEzo|8K@$Un)o?b8D*Ytmrx8SycHx1vDt_; z!n2gYFU1~72pFvri#3b^;rlA{-Iai-mHm)y;HD+2;Nvw%XO$9p;Ab3`ZHjW9Ug4nu zhDd9#9|%cqzZkvTobG=w4^%w=<)0$>r-P!X+zsNKGQ z@813c>nV0dW#~aR$tJ%n^0)ux$v^*r7cT49ZXp3Hw3Z5Q`s!C?F`Tq46-WMn(D@98 zNGY?&r^+{ljA&GAZSCJ%DRDknnKo z1JpX9aCq7x-VTwxa1rO{rP$}Gi8Ii`RHEh~4hF`fY~c+uGC)_P!&xaI>sSjbkS#1C zB?#RR4ginPGpJ7@<7Oz?NWAnYU|g7D8N?)#KIH>K&;xCp>w~@EAt%0CADGtf)Y7-! z0YI3$BG`s7jP>m)jj7n6lmV3W%ZK4H7(?BONPvL>W7UWu-xhs`kl@sU zkxFnLnbO9?U6JWPHF@A%pK|HHQ(ysBsrQIRRP8*)C@~!&h@rBijf}Q(hhN! zO9isfLx0dI1}%vWkb5=Zt5=be42atDlMvs+fNe3i{G3uONO+S-l*~4KJ z4L>R*YKo08LzGgNMrMjHbeO2nMplNrGG&yPieUg63R;q)dGf~0jS(Th6icmSw=7d+ zM1kHFs$LoC^GbNVe{^tn|Gs;mix~YLc|DLH2j2Tj-*WqXAG`^K4TuTj8EOX0;e2pv zcHRNVEkUt115am1sxX@&UxkdMpY{Hwe{}!w#Gh(z%)}B-?o(U&Wy`#%KRG=uQ1tL~ zIRfR_te_>2juKsL8Jk>LjbN;=i<4&vUBYg;osKY>7?++QFd|tVS_l|lPyiw49IZlV zPUY)Ww}k%jdFMl~iurqq6^fk}fEN8G@-MM%A7yr?n7jACtc^AQ~g1n05$>;pm{d*^8 zr#{BXGd5(JguIru^jdv&6FV54t}xLH!igFj=A?&QEk0)G{#DoNRgJQt(WA__?|K-9 z2;eE3uElEZLq^FTmSnlcWq3djrK;K^tXEV^4xzYMI>nCwipeD>DzY;0S*W)l?l~jB zvXRe`Pl%#IO>dIcOxe2P6ArF`6$dpuxE52$BTzyFt==#u6X?wW69KT(J0jA4m50~W z*Cr8hpk-izA1mtKtP=SKc8CrIwNT8_?WHv9lLi{0b+%q*58OYzCyOTuUKi((ogWc; z=7lSNdLM;0D|R4UC(ace{hmNxWbFe=?OS^7Xcb7e$PG=RUyJ_f;bbA+9ZdAwNM0fdD7>q ztAZTDWS^m~55hMZ>fS?qexQKqL`K;72c@p+QYZ_WoAHk$UyCWDJsLg?Nxp>qLRv=r1U1e^cRTB(t$O{CWAfBA3keD{wXUfUbW zcy`Iw?fv`5XD8m2sCamnxMs22iS4I=A`1jJ1!`%SbcVC_HFVf@B#Oh;!5kjB23S@( zJm_5+6w`)BJf(OUvOZvp$|Dm!ytqQg#5l5dG8*ffab{ej3ldJBYGwrJ4%RG3>k|Co z3-l@Db(?3f;aDT&KA?N(1Z}aE>2gdW$y1n0RTvi+vEpF5Ii9IUz&%reOfx4^PU&&d z=2-dw#a{djlPzbP(V-PyI={nvH($*P?P?ai?cxt?f5i5E_t94iiSHuuCKn$ zxOa8?TmH?#JKptTsDuqvwE?6-C&QywGM;gJ*^Y1&%uhI;qvTy?_~&>)t$*d?2Y>53 z?&a4&t%AIQ!$Q3ACa`t)aR2Be)vpoUNu%<5@yC=0Dh$14WrTnQil6b+7!gt&OS%Xc z&X&$upcu=3%LEt>)GCPyRdgc5@&G9|V$@CS=PHZnWFZ?az(AO@iyjvsU*I6a(JI8S zF8RT5T|&6!s0`loNQ24Z061TM=nvM1)jgScisCob!M?JhMvd0+n|I)CgaUc9^N+ z!O6kVS>8_MS3p84dIoX(Xnpmsee2B|H}#!ExRcf~9!7j*Z?e8@~_;S=xMhLTiN8 z;B;!CL^__6JMf}8I^7VmXxfyWQ89zTU}%KLFiW zDwziNkF01YoC>v?qe#(nC0?Azg+j$v1p?sSa7*Aut?&btD0Y`Js3+;UcyuFWT%-1m z5v*ia!})M5bUbn6F%o}Vx%CRUnX+LJIA|Ph8cjmV!bb@IvCL?XY?56Ac$IXpm~MEf~^**bP(m~dKc9`Tw`@DGNFK2(-3)D&@TlLLl`3D zDsn14z4c1<;ODeI@S{Rp5%*N1L30ng8K~Xpir+Cn7BmCBsxCHlAhL_~T2+#&i+nvG zcEth}b=;%SvmVF@rRPJ2Uu_@qDjHza@MNw-tCJw34r|5=i6(f5OcDd6Ne~jXwhkc(Q&DX#%K zwhyAbuGwT@p{}ggAAk1nAAHZe8N!JGg1l9{A(wU91 z@Udl)QCnDPLaL=VbB7ET(fM7V+0NiN&FW+_jx$F4@7+ESR2LPf-y|4F=4^Geh@#aVl^B8p4c?1#XXv0ci zv0w(J4koguzh1-|1BgR(f(&B{pr8<9Xhdj)p{i!AgG!M=kH`{-LItt1G1&qItl;_@ zaOpUan$F)=S|mq7*K8qs4F)09nu#LUo&|gkELkKyutJi?l%R+!!X|NHEdtTXo~)zn z)$X^5*AZ|4fWR-FFbm7-A9*4r5Gh%iKng&tq0}QF>ROR;=%P}CM}JI1fUI62K4|UdC!icq7_; z>4<$>1{oUkET4h%?|$yyzy685^OKhxZEkBkTpyq175br0U=s5&6l`u4HH7!YhMlo@ z5xKe_Q55kSCtcFvHQvl&6IWM9Eum6E`Zxm$)*1y^nIdCPeUya~zBpGUs*!5xSEIn` zXMrZo^$we?BfVEs5MFWA2Z(7p*-Kt7{L~SK$g#x+rS(eB0ouq!ymT?r^Trv|3z>=U z&BUS(g)p&O4;@2k5=0inYRoiv3yTZV@O;FE`vT>}ayqUXu#BuSuwdYL8|g=>)Y9sd z7Dq)^V(OreLR``-CJ{s#`H1DifwTNWi2S_@vG76V{KV+)-amZ%?Hf1qLev&=c+nCt z7#tGO&1Hx&z;xwxRMGHoex2V?KL6%_ar5LX*LwIiMfgp(&4aw~RlSUOt?|qxPpq6v zh&^a^e^3J}aw5tZ;>)uZYJ+Sp5aVt3 zLN%_@E@=g(kduh>9--?w?CK7v&Sz$LkG%4n@)a*k2Y~ZCDmHC10<;|i^rXzlnswqK zQe#lg$q1>Z^sU<|JiRYy{wqqZxr-@`Bhqf4%;<@4o%6UpUUMILRwBxT>>Pq|0zA00|dA`33{w%G(bO#)=eOg>=3i4GU|@G{p^4a8i|4|A3AN zSL@{p9T|_xi(Gtqu!tr{b`I`Kgxm_&!H9{GKqlG+H!4NwUQ#C3dBGt3v-g^GUyiS;2A^${4)4-6Jep!#ZLi)z@H=X51eFNqbz&TGz~0v z(M6Se8U(K-kTM}c?=onNy~J)oOo2p-7-P|3cp1q&LwsI@8Rn=DED-1|9mM7kNF_&C zIPp+P>*98zG%%S`d>r|XR0v6jB|7cMpsN_?_15wEiPxK9!C>--O4pybzVk1BaNY!J zR@^bXaFHi*IRAJ1pafm&LaYgQi&t;4F;Z4$*|OAKOWBbCY*49!9xQ_<=x>EY_L^J*Gq9hfFhOnw-K7 zaqbhy7H+t8U=gOEs~8{ZArg4BEOgWjicLqLa7Pg+Xa;13nq_yW9Bdlit1?%ZB0&OI zBXqgek*^*#BDboVY{?)~Ka^~FE_zYV4mhdBSO8tjy}jM<`LTPqZXJ%$g3tXpf>=^0 z1jMreP|2tc5Ee=hWbtQ?zU>EYBz1;V?Fb;m->5y0dEJh*_|8IOVQ9wgNh9dlOjKte z5X9W^BM`+9PiVs-A@SR2ic?p?s8C$Y7fYBEM;g(qHHj9@ED@^e!obi9#X<}aSWNYC zZe?v?l_Cb6N0eI8lT@D9dv%k(;!uJj^yA^c4seSYmXe{{f=>u|%P-C71_&WCPGenq zki8txBbkgEIi0^=<1GTkxEen}R-d3~`57}wYK^gs+F@-g$THP_M9n#NE0t3OgYJ3p z$7(?cDUqgC13;K#MAhj+8q}6Z3?#>-0GJ#J?j#ozoB|@>jPkkIN1ogK&`-WpB5@3_ z8OG2IX89!80001-^yozltUvI}4}R(cM?U>mxd_CbhaY}WD-CsmGYw;mgHVVS5q-gV zjW8WF9nai`4oxlfCfuMq9o%7XS{KsvfE?;L$)AN~fJ2d3Q(HbuSYEMiedwEkMOT*) zg$r)g^oKD8M=X#RD^mLKBbO)Zn7|6=vTlwAgyo&wLGcj~bD9%9_|rqov7LnCtONW} zw;X-=!3TmEJ%fR!ui&dx`e2Jw){v?eBovZ?;1$=CLy*!)5hBzkZ}d?DP0i?G3*!kX zrvMAhsUZ3dj%B39SOO18G;t%b=1=6WPI)IDPJz;&=Z_J7_m5mZIX)3`Xc1`~svrvd z7&QiBg(}53GcBN)_B}s*NPR8<3%;MIxW!UE|kFl3>Soer?~w~X@fFNFx5%IRZ9!eqUhtV zmcw+9MSul^8|jSGkY_xyojf$_GKdZkd{AbH<`h7 zFPh1HJ2?qiC?Yfhy-D%jxOMcS@40{V3a*BO3JMJJ(|J&Fpj;*h*-IlmH05$;Ds5{ZRX`85a!ELIbP^?;x(H|O(i7J&1B?%P)et-HWz+oZRJ+07gXM;LBinO z41wfwYoa6RcwBu45dos0wt9e13FDFhnZ!CrDI@RIAtHzscH~c0EfgS<_@)@nfb84( z@e>cR?P_)DBp{E9=Eu2CCS*Jkjd7KxICGt@3{wafU?6f#u`vSAc>8IL5=t%N%i@{- z7SpgjDz2F6k;rvF|15=fxLmrbCQd`!z_HgFi0HWE43 zPpUPiuuKesMuQc-Of7|%vEUM|M+L&4_|>0!k%2>mK3$9&O`dRMc}+RpZSsrE9>ATd zXMFJ|GPNU5+y7=OTz_7c$B!teG>03eG@~bW96%(61q4FimieS2R6W?br9Ja zSLlMqOW_zuAy<5pA6Q=f+NaNc=7YC}zS!)Hx)!P*gheAHwPcA)+MmCE`0fwv=ik?< z9|2@ApMMIT=S`wPfy}0N*156giYK$mh-m|TNOT!5dXy_CabtYD={Aj5+by+yGi_=9B6aG9k+phy$3lZh?gSi|D=D2$=q z#XULS`q6j2C-T=(?sGTtt1Z1=p$w0=t$Ejwk{Yc#q}llD z!DL1hQ%yt9tYUyl!mkk>OVkXDZEc{Ad^jUM_Z8?D4&WKHd}C{}nk}Z@*W})hbAOFK>~=Enab|sBUlQit8&QwOjQdNzy3h;CiC0nGTAHgfk`eZ3qm> zGKVu^u{TJiS_L;8AqtefF)y~%!-+;0yRtaV%QUJi2c6h6hMaXVX~wsj+ zQjy~RKqUGu5Cc5pKni={xo2NR1?rEY##-Xz0me?@093_n1f~T< zDS<2r5XGJH5(~WMT!H#jBSSJO6@bc(rG5TY*2w*$2y)RvavTV@?zjnr6bI_K4k6rp zF6)G=!{P`Em-)icnriI!!-^t8)-IrU6MCr(hdLH@uT1!+6W1^hGh?KVG$md}7FN9h z=IH`@fSN9Ff{=uxfF*D>K|aUYJMZ^)}#K%gvTDK?Np6TnU$j?u7_~ zGSGt(ttlowie_XujEo+srXoJOx@Eyu!T|6DV2vPPQyE{Ej7DPCnFZ%YQmKXw44^cW z_+q%M2_~SF-b^xf+skMflS8H&2P#c=`!I+nE#z{QP&rRQAA07&{rmg^ja6F7p}=E> zZQx_c;Rk;8-f1!(yGRZ@zW?KT7mVlyO61c8(IjRx_dpFV;zb-WO!P%3r6#UMXV)r- z%FyCOKBv}&oX%DX8M2*|e0Ts>qurJ`9zkW01ZPQMRESLC#J{}FV96ee zV@4q4gsA~mMx1I$FbRW*CC!o-y(sVm5~{l0D$`W;YrqJxDHEDV;LaK&pv5i4Fj!z} zmgjmDxpr?h`2%vFe(Cs=&+;-LC{+!ZLGhPWhGy8|MK9`M{^GA4@L#^pah0T zO0U@wSzbpByE>zxj8MiE&R8noGGos51}n(;C==-nhhy+*mPv7#ilqoPj6o9kf&z%3 z7KaOXz?AZ##e8gQJr-k z;#U6cz~SbZPu|ZsK58zVg}>h9zfTV9^`GnI)@uL3$urL$X9EBeGkpTVo-RrzFe7O= zNT!V-A~75aB_lBOSDB1#oXR1LsPfejzJ@D^bP$yxfNEdJGOsU@s^qW%iYczn=!Y+O z#v680?GtFuB?K@7J&OzzObi|>dV+jLS!|+-$YPCoGl%099{}JYorMy4T-pklaCJ%G zqKCl%i|X|}EVTp%A`p?$bu_@wv~%hrIFVpiG0e9CfFGG*1(4a4*Jvy#Af@Uv#AfEdG4f#>0@^0lwlT;FEKck%oOK+b z#6XmFoFe0&HKGil%~_oGeW_6NNFtMw75!`y^g&zlGsRZB8e=L@y4qsu5c^|{#|+80 z^~j_oN9l4I#_?Wyu|pub5~li^9!P8jnGPy_u{?!#RU)4zT3t0s66r{Q+fil{&@e=2 zjail;Tojv}i)l225DU11r)lY1{TWCh@Y2T=!vKXb^N9cph(x;x=nNc1bMnctoOQ`;(QhJ{|He zl0bIvq1C~2FCE_7Ki|&(RUhSU8u>$?k#3K=KE;CTz<+BYOEMZ6*QSXKnVg#2+~;x& zmW4vTJq!gAfz9|Rw1JykYQQz-I-mx`kg?SiWSFnZmNT!Nr3Zqjz!S4d%*Gv*3M;!O zZG{iDcB$hSCNjN_3>5@uPR9WM zA(16e__3mR4iR;eq!pMRL$Cr^L6t^7b|YjLe3Ice*S)bY7k)T{J)oF!)_!3T%Y1lJ zwx)!bi=JFWqB+mWC$|yVB@;ME0W=r~1xI(i^~o2G<9C;CcM8X&zb0=3@xeNd)+zFv4J=)3E3uaL6VQOgg+!s&wU4Lb7b+VP^`(LAr*9!AWOW z&ohd1^l;lR1Zen|!_(r9p_LR}e*j@*JptrXMS(ED!L_Xi8q=A9tJO>0g-HYmWZ1^Z zkc_MFV>YaSj2Q$_Vq6vpX%?W7@LY20t}BY6A+B1-pyWF$UicjWy2jz?T7;JAnT|e!dn1nv|0c#Bz*w$=m88$wo8} zQ%d>9Vbqb3g&dOk>yB|h6Xr7w!x=(R3{wtNMUXUb!X~Y78Q^F|?T0li3?n(!14x+6 z_Y8{hFcA>;Jw{x{(PIk)vFxfB|Ne3YES?xd(&73thra@1{_y= zp~_fLK!n1JLW=1uc^IFIrLrwv9O&gkY%D{s002M$Nkli95|10#ZX9GdBQ4k``fcco!%Q zP%oebzj3SoZXkKD6RhKS%d`?Ifjs>1#0++%N6bqam#t4-C>KGloWfZtOo2_4Iunq& zLu5&wCK!r?DKr+fI>nS`bUBSPBYosedCH}V1yddpA{E16$PH`qOUm0v5@0)8+{i3d zn?6T~I1JC3?(1EfT08zqdmV7He+H-dA-VuOlGatdr&-$2;x>)vVb?1J5*`*=Xg1->S zi^Fk^iXaYg(nb6WnxqVRmY?CJfRsjz$dN}f%9(V;%;Eu1#dg7rKT`u_6yyn1y2GJ!PkKx^G#fbzO*o+CKToXpDs*!6QF@+-;?hp?Ny^z@LXkCb* zJ}AUt2<=q?Ez+p)MOP8QA<)E!Z9`Ed3H2H5jIykT2b>oA=Jag!;E-S8N)vYseHSPoH8GscKj_Op_R6F|4D)JWj=EvhK&oaa#gkf3 zWDltn;gZMD0a3xkiKd_`tqeSAYFZzSC3f731S>aELlZmH0xD<z>@rOC;01%jql_b6zyzNGPnuKRQ4!n@riYP{;pdA`#Ly_rE}mdv<_sIZc&|rSqQVR7V4G-6*BiKweUyj` zrK6`AK+(brG#n3=0pYD(zhVFz1suZB^k&LIIp4{6!y1RO8dwp%a-pxNfPomeWT$_$ptNUlG+ee!_ z$EzF1>sv<|uMUqlC#UQD0(Rj2SRM;hYS0NP?u3((e&InwBQI%GHUzVh0pk(*ygWoB z2>^h&bFxSR+|0%r0>LBEwSrtTACiD}Q5mTdCp4Vtq1X@&C2jV#8%+`8vW8?EOWmpp zv8Roo7zV}VD;k8lU}5D3l_~Lro>chGK0~aBU!Uea8`jR|Ro7N;d}Q_3S8v|( z==!aXtzLg^_4w}AW4o(|c2@j`#YMY3t`#VU=c@;&tJ}w`=MPu;8J1`6tbXf?7e z*ALc*`4c$&UveF=YU&#?7)Y*oqqtdqg5xWw9YoHV(ok6tA_t&ddvcq6iHiV3!?yk; zPpzRC0|P|SVRQ<~nkGWT>?M~5TS~?`;uzaOMum(2@_R#KWj88H1h&8{tFi*YIY09e zD6E7rL(N(xO;}nK@r^&|P;2JL7hU{r0IiauFnl=?|A(BCazpeSE1ITGBQ$1$UMMk* zH%bk!#tuD~KZIB^62FW%T3NehzB7R^-Z8)`Dxa}FTHJ8H*VR16>G;FHGjjR}kl zBAYiQ^3R+Dv$cBs+UhN@UcK#!)t5cF{-Rf{KKt7G+VW=fbR@fk6paWSf!6`XfZeRG ztT$J8*H7%N-tx%$E1!g)Tk=bX>yO^ueBj3F=U!U<;`Pmo_j5_h-vIQXC?Y;P<&0lB z;c&ZFi1QKb@E{}vFL{xOqlSM4xR7TgU__`uO|XQ>4;-<=yEHYCb)#Hxs>?hLLORsu zApEQb;De1wv?vRmV^<53Gu2O{P=_NEKSBtQJPtY}VONI%cYv_c58_Ax@{wI!=s?;C zAZ#RX;erye#$3yh0C^Z>fc%iDc4#Hmo_4}XgP&Ul=ZrY;Z2&?mC;jk2{7@s4{hRzX zs0#-$6#c@BaCxzSE-H9)tQnGzDz)sRM!^4$37ze-R-65aG(!>bHIN>W{o7rN92X zM}}+!`^TQ5(A44d(wIolo}>EG?3aKO8AZe!lD3Ue(ZTwhhgP5SruEmoY5l_f>K(tn z`Js=le(t&T{@E)3yD%YU;~|H&p7{-j_#PO&GH=69C3_tu`q(oO(3>7zR#jOnvRudqym+%MlgV2sF5YBgrR6C3ci3rM_4Q` zRx*l_(gz3zat9DEl9oXz3h7641X?QBN7=N zYYneH3|puU_0anojer$3`}4#u+7>O~2&D@dmWd2UnvT~&`?%jv)4@#u%v~*f=_qm|!DAHK02`HmVJD z3ZUcYmQ*;kB7#?%47niK%Xhs+VsO+G0u6$Ud>@J!C`d3FARq>1D%K?{s8(74q{WLM z4mcNK)Rz&GVr^q7SN(PV81U+K53l}{-@N`~U%3AK$25}vSD2T*qh&C{pO^#OCz1Mi z5#-#9kueRNhkTvNR2%ljC>LHaVcIidRhFENS$KtYvP|WusM#R}P*)CCXHjQhXC-9L0=bjQ z2p{wz)nRL7jNuS^wzsEDtJA?Wp_p|8zj4LX`Z{x z2BQ&Wy^h1ZXN2QRGrY_-32qi6opPv&2{L;Khtr7Q!cnJK<7p(y!2qR$2B2pq#eDWNe~GJzBp`88=#3F*@PuOnba(!DWs^Oc|8{cPC>KKYW2i zizJ_ZE6aK?7Q^goI0OXZ0Z|8?Ua$ecX^Bz8$XCWeRHQIb+kQ-P!rjT}U;u!cZ}|1W zbHdV`)n9o~2Tn%XyGY<*AQ3A_8VF{oK`QZRwZ5{w`uZz6j$Y(G4G4%YArGulh2M4Ezho|{>gQurwr@>(zFu9dKWxt*8 ze64r3*L!9=)x+6f>azv`$JoRanxumRC!Yk5QCJZJ zuPQ1z)5>t_(#dLb9Wcb+a$qGb7<%l3%)$uf-`p6oh zltUrYHx5*)hI6v%0)TL(&32uG81a~-WnJ=TC4cwluK&XCU4O;v!OVM({K0;jZ>%A! zO3kVqH&XYh?fw1Z+xL!d+&Z{*_vqm8?BpaBpN|)_e^{N|KaNAmy0LKVmEDy7&U$Yr z6~A?5cPmA|v$K`Wu)Dhz%0pMTA9;B1(TDf0UEK{aK4LA0rtLz2ILb%dw?47{=C57< zkuO+(^G|O+@O<__HmUfkKh!UPB9M= zWl5PJ%(p{zm@#0T98$XrM@c%Bl&Lz49y%=bm{cYV4i+|qoB}2u60Mp}^V6UN#spwj zWBL%HFsOnuV0zY01ZXnRAF~>sN+lDv{!F`(Rep4HT&&m)2ycv0r$ttgKs4C6G+3ZI zr0+yd1}{VdLTRXs`mmB=)gp;z!_WEfZ2iQe>p%Uw*8k<(wyy3__bJ>QOlhdS_76_;&jk-p&h8za-@Jcv{oe8Qd#AS_oZQb1;pF`2 z^o*N{D`#R>DeRq{)wP}Nhp%qG>Y<&dUUl_#k6-!h$FIKT)z@DA$dzkX53lTQU%R&T z*du$ddhALzL#FYWD>`xIds#X(csboCqb}k8E3shOGBs#q;}#*U|{#8rFuggniAVd z0E7UyEc{{|nE{?t-GN~y21CCflA361u-5e$P<|95Sg@Gpq%1Ejxm0Q%I3o&S2xef+ zOoKi3dPWN(GByWdDX(~S%CA_l^g&4cAxN_!a@=T+ai7nFS-A|G?H4K8gD2$vKzpJn>8uNrk4uITzjtu@+^vI8UO)KMjpLW@pWNL)IT9rDW`d6t>N&<^mF%YDOGB)B zN;Ku0zwP?y)!o;A*0ndk_Tk_BhDYD>IgdT{_(NB(A6>n&^;xgJ^2DpIKKxMrCnCRK zO+e}9TWNJMt*W2f+wxzk-@AUv=@ric)1M4)D0Z4Jeo)iB?mjODU(y4KE6nK2AViRo0ue`p^EJ?W;Tf z2dMmFTySSg1VO7xe&y)o`0NwU-~Y%bZohQ%aR1;uSNBg`-~ZK5KlsE;2N|E7`BQLe z#JlYP)kg*+ZU*{?7X;vmpCp1D)$`N!?fYjp?;U>lV>h!?UUhBv&98gpxBsRme(Rf` zeB)~$e(}aZZWph8%|nkrb~UdbaFrW^*>Tl@=f6sxcKylMR}zhV8i-m&?<59UWV z&Lcj4-i3&CL%(nWAnliqmt>9aIlw>2RAlxuM$JnrvP?lMW}glQqMbVnu}i>OxCyX5 z1VUP7b*vb=hcC1Ns1{d9Kx{ebPtH+JY6ks+o7Vu5fgUX5D`-d@@yBdNVe#Vv18$)T zFelUYfGy(aUp9$T_~#p$n9v2Z!^l{FFn4)dA>Tj{Q4G5#M0en;fF|VXD{X277h(V* z!N2=nzv0#EzxD5Lea&09a``O;5-eT z=jT(OcxdbIf8ExXKDGMW?_BL4_cI`psAP5U5|^u&3C{6tHzvayG7=AMup;LUP*#3eix6V%U56JT*VkV=K zktspm2mNP0dFPj(xqbcS;q^O*zxb*9AN=I~=WZS4{{`lc$fWLxi6o>Es@ppo!beJi zkVs@S1d`Phy1v=*(panf$#dQ%nNuY5Ur)d|&l^hb{>A6s`}7NMc=F-j_hqmD>Mwu8 z{=wM`Hx6I-!q`YM4DovO&=P+rNLuJWgD*8kP-TEF>;t-ttxY@WS)b~XE@F6Wdl z{2u-r3WRuxPyywWXuzjJwFr68!-bDfq8x(eI~0Fn!LSr-t^%)hpcr6S$1`$BI6mNk z+1P+@izJy00~iz+!^{gH0;p}+4Z@CV;1D`15vo8_4)p<%5v+XS4i5B0ju?+%LbOE| zBI99hsB1L5MiQSlay=7s<@2X}pNw*I;= z+Wg(G+sQ|~$46&m+bkz(lF(w7r5QGiTkC*d*IL}WR=TRoR z(rK6x+~!5l`6phw`|Uq+`-lJEkN%H#HKJj%DKi*xvZ3e|*E6w)DCS7s`P zv&CSALtv67_>c!&nbtpEGV;l5o!|ZZ6TfTguYc|Cm95R;fuC;)0D_X~^T>Sf!O_ou z=*5qG^zMzjNALgG-JkvF-P`-8+pDwu`#_|)H1U`7h%NV&TxPd+JW`~gyA5E)4I~vC zPUXZp49{6wQ_ zbu?HqYt$&%;zG1S1H_z=mq9~9>>&ax4QT;8l`0A!UsCpp{$ zB8KIdSm*cNzUklF`YV4RZ;@{fsQ%@~9QHtn#;<<#*3W+Mr5A4=KK-eC@A{=1FWf## zGE#Yg;^8IrogeZ~8E)?~PU)xaxbSBir1WDmzuM(}paEx}ctg45T9+-RrrW#<@HGGr zNN1_yRR88Yk1(m;{DVTa!7AH;{gBOYlFaUIpFe-|{Z@3lY*0nz9`hkjklF;th9ux9Rq%9i%|UF+9-< zMqpn6iqA_mnv>;}w6{r4*A)V&`@}F|PQ9dLRyGzOYi@y2xOF#Ns47teW#n?%8w+w^ z7I_e-1H*`NBBg_$9`7%2XQ?oXh0ig1a=Q7;e_-ps`Te{3L@F<8dFU@f#29b#0qp+a z>3iS*+|wVq_3PIU-udC{A9?;kAm%@f&9&TG-`=z6^Q$hqTiFJq?t4S9?;{Ym0)OBk zu5s?R9WLo&Bd}a}?(%^rj_`VfpE~N@fDOQ>5+@v|C#%!r&FSIl^f1%Bx0#R6p8nLW zzy59S{@UO1dEfB0UvzM^`P|n%^x7w`W_b(>JEn%u^#c3kBU}IY>v#Xu_iTRZW9L_Q zE}=b_y-CGSsOjn` z+kp5aFI+cFsJU}!Aj16`MuITYG2nz@tP_AobUFv!Fj9n7&1v{8PG+8mg4__Ig9G`f z>vZ+seod@L#kFkkN!LY`Qkd2vc=_}JD`2uj>O|&=mst)VX-YO?hysw zSxsIXvzhHFSnmVpd63UXXyZPRyFoU<)y>Jl<|KRIcyoTTvzs57CSF0xtji#2+fQ2R`fdE++ zEQExOP>>lD8^VHs9fuXO;>5W7(u)+1d_D?he5&!Noa0O-7U4c)k3Wv zs>iCX?yjn?davGi^ZWh3z0Z9`g7>@coV~yC|9yL(ea3rkOOChpb`GxISooFiTlzb{ zvGd7OYy)_VNCQ=f99ltG_^L&n?9Lg9BFdq)AWCDP7-o?&V9QzhRS~U~#duS+Zx-dx#i(gk6rrU7tY-I;CWne`GwKw z;SFE%oh&=Q_Dt9VK&-t1L%$Aw_%5*9fY*N<`o?3iNg;tEacf8`a05F1p(iU& z|K^&5Gb(HV`y38=TaG196lEtc9qlb0OqOPom4m(Q5nICE_IS2ET^iqi`ssK7+Q+~5 zufOQK|N4t~E!6X#wXwY9eNX!?UU9)@#WrwqW8s&-Z|VErv-y>?qp6pfERhsn0dXbS zb*onllEVoXT6K_XtuTVpUm3EBL_8L(*@wx7d%12$rP5_xW2;F8cnsovQznsN_-fYH75|(CA1WVc0u4b}MN7&|kaWvZ8p1tc;v;X1SR`+)g zyynxAt$0R;BlZh-pS|U_$G&v`xj+8&gO6X>nP%dj@v?Y_KI496JY8YjJNn%KSn}Ww z+#3CC01R~Y10M5uPTZm#5)3ZGa9mg`dUBDi+wtIa9#fF%pZszq-y+wEq_^2_xZOM3?NCQQ8|TMCJe)R0&2IHkq>^gDz==s zD%ONG*E_FlS5rgEgqGb7#^XK8CZ-%BKylm+-fN#wFyX=Cs+W(1lur~R8pSBbS8jxr zKif!^X{*%ySY_2lS7`Ez3!924YiTPDmZ3J5CR7@N>9Y`~tZFSLL=YR2lBPI&GkB@TrjXd%KT`ywLSip7mj}ZyVe+3?YJM^7%hY}K5^@#w|()++wXb& zeV=_~YiFM)4aB#&vM^oA2C&TNUtoe|OJLkP^xXg${XD$pp-zr{JlxL)kdWiP;;I2f zUCcep9eeetaJXw_mvL)4S)fK=x(T>9pfdKTZGU0HPGIUgpXz*ob-~SDJd!y$+=LlCwvkfG@hV3@Bvom_xv!=iJj)TAZ8-DHH zE!TvaI*+;2MT&~RbwO{nG*gG{pKPujyNVY#gwRX7L`qHxYw0}}DznsaaU#&^k=00& zrwsp26oY_j6eOf7Ny|w1R2Rfk`9mPDMX7<=Bul;Ply>>kLZzh}tGHZNhJ>B**3`Ni zZ3dAB^kYf?tHFM%5g-a1DGdg8vz(CBsXygaN+uv7N>f!i%E)P(b51-)qwT%f3!kz7 zzr1sOeKO*(*yNNEYF;Z;_2Zv?gbO~Oxbw`P-|-m3V38wx4{w%7)79}38vwKZ63;7- zxoSGeDR0gF8Sc6IS<}DETqr9zSyosLq3$R^5QHV}X(8)I;^0xux+oF#6)TSaoE7jO z9MkOngoC1k31=0&)Y@*xjm-e?OvmLgi?WKj?FFo+&&;9C0{=wgV&B4KS zH$V62k+q2j92zetTu=HV=`^s)_`eZP@}{n$g_>5*}r_}>J3*dUVM7n!wGo;?Z?}*Pu}|2tzUfN zL$^Qt(J!81=rf1sSbupmVai|T!$H4CKFs|*rp)8ZeB3-Z^6^C_Sq|sENgd8J!o;15 zPE!&`Aashd$Qg8oWik`^HCmDl&(3{P13An7qGtu{4Y(n}UWgO!#VJQY9s+stExg(l zEKV;!bmsj3^lKma=^uCl+vW?Odvvwk1TJU#<;7_v`N!V0cIyM@|HB;zYur$-Z2*M9 zjYIQqB;<`9a8c=~I%9Ff%BS?4reRps<<`=YpdC!q5n1}9&J*Zp=Oa}6W}-XwGAQ(r zroPgFT5Nu!6yq!`jV|=RTp-~kUx|dNzskOn3Dru144618l6p~*o3R>6y+uH6`>?t! zmYajJY#bpV*lfo)3x#7G2nkm^WjLn20B5t3pDdPX4Ms8;noYJvQ zF6|`c^cJETjqll~ZaeeYJI=oUv!_0B*V#qSXgR83DqSBhuX?gO&A6xH1~3_Os>mfF z_YaKwn)RLXt>c@2Lae~4B$PPn3s{a7S9Y!?^`tG;9%9sGQ``Yq%>x(i0JvztJ?hya zhd>KnCR$va?Ycqkd#29+tGRsCZX_uIW)T>by8e*-a=XP>U;NPVJ@?%@CpDWl%AS$01iEE4DNt z&|0c6m{LA&G?fpFhOIRt5OoKHAMFHbHxhky6ikN@*GtZ!}c7=Fz&h%^O8%ICiL_-8(U=KY^J_3^vTOgL)x;^xYD zX>Gi;y1=pycsSfHS0V(r#bmv;WeZ+>bz zovf`aJnyEBvTUlfNJhq7FS`Et^xf}R`{DO&9_(|NHvmp0$dn$ktsXe$A(bh~6h}Xb zJ&cf8M5YX;*CL|LMpG^>WDN4nX9?*uJgp^%2(~bY$D(GF38O`+Z8bx?^3{mt4R#q) zu12B})V~9*8PY+VL|#c+Xx2wBRWycndRR=o*r^CBu85`B&_b!crwSX(6}VFPu@Q2u zq(mF(0@$SeLg4eRIryjFb(A@h>z;$4(%jXWjPH5i{4KYg`QWXmK6dA06UO(#(rCIi zUgi})tDf&J)xl3je;xL4vg_z~!gmwpQy~md6!-vcC@ZeY!QnVTKn}9AGmhjCex)PH zgf~~HgqZV!IU|h<>CQf_TZ}mx$^4fk{i;Cqs_-JZ2i)2ee&p$Z{hov z&%ALhd8m|O*M8>W*jrw{`a|Dv`8^-sUE^JL9?K@10uoJ2tqAZM)D5!C_AfWKTf4Rd z8hv20F6AaJ%@y(Ba`jJoG@yJK-IK9aA9FOlA z{YMsS`sc`p1BIm(j)*+gX9KX3D?IpZ8$jF!M}Y9=)(ML5sXg&o&aR`Ll9{ee8<#6f3 zhr#uF83>qCss3wqku+Nv!K=v&JOskB*Q_IzOg44JOi?Y$nl3|%rJ{NG33kXW&L*mp zBD&yx;5Ny`FCzP zdgPmrtesq2^@oC-L}HW3xIcLE*yJC+b?rxg{o;5`_@WSq!B|Kpy+FlC>R)|pP@5Et zgqk)iEOdRV)FGBe6eAvqEWjE}EnP|~?ox59(JxY~OO7$wa|Ov6TDrwKB?GATZn0Gc z(yK6$f?5nz3{8bbP#>=JMk-2zVj(A=fKg3rI*xrTS!4<&a5Nx7N7GQcnHY>f%uqw9 z`KJHzWi!jDIMzqJ4tsRnv4fv^>+0Ul9+x;I$yKZ{e){&)w|?odKl|_MhBw@2QJiMk-9$2cIUnIkvt3wpXpc`9(Y?xa)Hn7GvW>VtH-#{7SM4 zm_U)lW9rH-M6XhUK$BCXa#fY)-mXmYTDn@QjH@KdPO^AK`lSaMQ$S@Hf`DB10(ht$ zOXqNe2OZf?h%1pcO;)NE_*5DpmSQogT~1NO0tk=TaU9qTJsJ_V9eTu@3Z#IkP*n{V ztyVEZEtGJOt~pR^WjxSX?Cc!;#9No1eR6W)0zVE#*Tf2)$$YptzWbi1c*6O8w>)ru zbAM@N%`5#}^I6K=&vCyWrhn&tr2V1I97TXgH-#%1Ex3g;4#XFX2nLG1qWkDlYq%w9 z$t*xa01*{JY#tzF#!n`>1E3_VE*0n62&MHfDx8@(&to62Y^{C~+LM4dk27wh!T;S4 zefj3+oV@z@i?6?Sh1+355}i(Y_>ONR|HHQ*``A5CahVk-nB@7{rG?S=eEsAV&sq4w z1G|548~4)_v^LeG5JsQHAd!ORRfv&sEzvZkNDZ+BVz9AXReGvsi-L6443?H;i55F2 z0VC1vmqKZ%je0PdXr?r_%4RM+wVGzR(TALn1)h-{v21U}se^PhJ2uF{lW`7_(#)hD z3=)(NqeesQN+^|B)2A1DN=!QjnpOi<0||0$>v?DI;1xF>{LnY8Z~8UG?ix!8=c#ks zpT70c58nFVeP_0pmRCoN`yBZ!Ecb~&NB{j6^``gS9+CzXy*ey=fm9qN58Ls;FDq1a?pThRbaJme3d5a z@fg2S!%@`gp#-(#2Ki+ul~}PiORu=Zr%cij`&x?<>5QPwh%o2#1V{a?Y2p*9*;H4Np{^pI1rJb$qy?4E4`g=dQ z#^~SKKH$qkdpig3c=hz!Bi@V#W!zV2EQ1~LBdx=D416iP#p<*WzEog-Q z>cpPtS0=-JB|AbKkQtpCG3h!6BN!`W+qEhIGCSDb-Fw4xXW#L4YnLw7 zdmVyI=w875>iy?GbI0iq-1-m?luafpnf^WU$yI+(d`HtI9xJE|>Yh>NMp9t+aLXM_ zir)Pzo`eu(r4Un~7dnSVP4QRaiv>mEAlBt%uTnn!%HQsfy=jAP-^{r$DyBw| z_UNr&JoC{nJoNa}`_r|J(Gq99N4V#;P?vqY7PRb$;bOmYe=t-E#8tR)ouptjKmY(7WnoT&0yVF4E}~9!CPq7_^3aVyj*&1Emy`&rP)QO>8PJ6P z?xRB?uMUYAj=Wka+KB> zEqTO0e=g@}ixs>j+Y*=%!K!Y>TW+vaR882+0T8)huoi0}MYhSyU~s03*%Y}aJmN-x zN(W5kdn0}ibY-@9`JVe8|MlOy?ZwYOdF-f{MCB*X)EM_XNmXx!q}jTG)5po^eV;wQ zxxH{?anC~uyQRXYEYS)kbW*B+Tcc$LPsvP=P8HJ?sd*SNYadpW30cWx10vb!%&bdY zX)F~7G>uip712QbKt@-X^I|i7&`qcyx=Ov)sHGh*9glqz6;|cmbeK%xs-+W?H7}8m zLAeORRlQ4~o1^cdlntd27-W>yK8LM4yFd7bHD;x)Oc2t$;|mveK6l6Ik9_{&?R^gQ zR~`DxYhLlp6VBZ8%B`;9K9^uhy+XoJ2i52zXrY)5K?H_5n4?peQb`a^Iz#Db7)k^x z0=dx$u{(@Pm%?TJb;Z_GT8<-;G8Y6y974}#!=2Ae>*Mu>(cgOI`gI#uKlRk5C(b_c z=)>6PNL(*n_mj|hH`;;{_i=xHC;XG^w0JF z>B{1Cd2xxyJQ@8wJdjuwg;Tr=>#gow?YeiI` zF(cesI5ZXgNILoT0;I{2;h%aoYb&jGB_JMQdzYB^C@wB7&3@$vPrmI{yz9MSb7aVy zO!p>v2$r{&no^J__PsMieXeiL=8%z>+t4m zYCVZf68nh=7j3wfmXi52%7k4d z5=!m}WFE3*kSS~-v8R)Up;p}?Kk2tKddtlVZ+qqX+Og2qa;RGRfcSy1z0_z6cBCL3-A5{vT)x?Ct}wA5(M z|FVLGR9Zw8R)JNnQZTqLC|m`Kgsb2YJ|CWgb<|bp;!j)!w0!EzVTm0ptkdie^lhzF6F(QCPg>E4RB2B{;6nc$Vd_r(v6uk5}3mB*O=jb6u<6Tb_8 z|3eo(_PK{1IJ-4Da)JkbIP&pf2hVzW<}u&r%HsnCGjL*a8Z_*(%0rGOhf9#64BQnot?J`5H>t&o!Ql4A)tsQvb_~UJQ;d&ZEuh7 z2XR{8Rv(SvpN;rt{Fffyx#PLb^)i>iYnV8kW|Qh%TB~WOd-Gr<9MGeppVAHRLEPX|v=Au`<%ZtgcfWdF9n~Ua z#iRc-k8g49|G}qrCu=9_q9;%IJJ&0$6p<9=x}e#tWy zUUuWcO((}km;G4{&YpG-#vDg*!O#PQHmi=f`tAXIV8xoi>%Y?N@p&+FEX}v@>wubN z-Gbx0D-d}b7c-VGz@3fw`J;Qz?0@0G{rjF^Xn42UP|ZZ;q^Br0&3w7x?V_WDJ0IEq zg+Dy^H(vPo%U*cZP0!lkH)+uIl0hrUT3M?BX|FamN#Z9ze(yu~@?se8syIFsO^H-; zWUK;;rVUM(XgR43(hM}2tf8f_&2py4XzJ5)B}8X0|jsEN@)7tNs35)|L{ zmB`Gx@SEu&g{4DidQH)00vrehmMx)9i&1eWXhu|U2o;2`Pwe(GB%uYUHz%FZx!_E)*S+5HqCb1wd*Ifk7lIC9_F{li<&f9}?YU;n(- zH+{oRZ+z|b*Id2Iqf;3qPHGe_MXzjz1&J@iE!_U))1SGEo9HL`&P}#~c11+B`5+IJ z9La=UiKk6Z)Wq-3<{l0<1rb{n zAihK;BtZrt-jw1za{S|OT>S6fy0o0DX!X)rJ;jOu)uLHiu8Wm5i!!HRgt9OyDBV?9 zG%Hx?-Cn6wu8yvazx$QbH#~px6TiLtfiLf_Eve32j=WH9#V!@Gdv(ukU}t-@vw826 zPv8H*sW07k<}3F-?;BtB%$MGLg7+wLR*+pmkPO;b2_9nPbm>n%dhf-p+435rp9FG1 z#2J?Ol7L9o-lTG8PAztCDoHb;cacoC=xO< z)@fOgnX}oW7D21}x9@T|OigR;$UU5NPf4^{Lca1y#%vi5s)16QRAgY6P1c?p3M6rK z<)Ub{7v;-p9~%{1(TZu}xq>#EJ#lXP;nSO6bNw=O6wL${7e|krzIfYTJbCG0d6~;T z9{uOhf4|hr^A5ZpJNK3J82<$|QPI{yb&Muy@|fM|N4|0LbKk`e&oP*MQ76}4eOZIK zFdG6c715_upmlcBpeK%WX7*J|bO5NJA7zX+-KYs6g0Ag^B3yfH^lyJ)^1Z)uaQkV# z#i)7-CAo@pd+{D{XbcRu{(dms4pZO?q;t8f06*FWdQFF3&$A9%b+ z_c0S3x`RM@^4#V3e*FG1w-G1HeBn6T0AIkziw}(;FenCbbQ)v~1~MHZS#-8-CdYvr zug#qTgTa_Kxg;(6ESpC3?T*IitM0{h$AFAR%6I0};tIq*2@8Xv_IOI9AZrNNN;q;@ z=~nqdrEIU&I-omQlEN8UAWmHq#*zSvqDV=0W3Abwg4Kwl=4x;6?30)N^p?l@!a6S} z#};FfD|>Y1=RW`V9rr)YWAXI`-@M#`D?dKv=H%7BWFCi@jXy01NTI6C;Dy8buf1;k zGvDUVF0!ZL+k;#;WIzRpTT4PPnyRPbc2XQy4#5Nw)Anb1O4<<6M3oq`3N~Ih2><{< z07*naRL!{?gkhA3m+E}$zvKDf;OZmepL;tIW|Klx@cdT{t)h2)^Efzk-t{tB;1 z(lHf&q_dGlC1RDSIs__7eaiBJN@bn8omzBb!%!BiX(>7{eduJHh-{<}323xtiI|PG zLpH+IXe`-6w@^1Dod?4X3Y4%IAAIAN7svizAAagp&tLu8o3CQ%BfyUredhMZ|NPcR zA3C=?J#su(ete&yZ+6Hd4@_OjAy!CTWn915)_yOEL>gE8{{EY$SFK^3_to+;9xnh< zT5`L*Yj?ZY!KORAl!z*9tCn$9+_Dr_A}gCw6&Mx4+BS_^$iG>2CqH`q3&wAL;pBJk z*k51HCIve&q%Tou_B6o7K3;COys@x*`CxBrVaoR<_U}J){?Ye+wM z0=7_BtcuVRP*mjxfY>4KF7k86pZUUtZ+_i#p8M=$T$S>8hJE+U!pOm36^s&Pos#nvzDP4VnvUIUP zahd8(bk#X!06VSHoS`EDyJe!5kPu8AMl^aJ!cnL4)6MCq+k(fvj+4{N@BYs9pZ*Ud zju`=7iC~Ws+Z>9J0nUPW_-}u8k&PJ20D_#vt_j*VpUcH!bksx;U}67I{@bHCEG1c zHgHp~o_3VjpPjEIQP#RthlWsz(3uvqCLxJv9RwwrYRMryrfDP6T0>}7)h*{WOpJrV z7uT0o&Ro27`pL)rZvb&`K32pcbr-6^LIb`A8)y5JiUth=nKWYP--%hr*JCB4=1q^J7t zP%56}5&Z-gi6J7v`q4t7Hkz_Q8#9ay)v7O2vx*~KG)T5197N$-Q$krBvj<3JK6X1_ znRtx7G^ptyzTM~tIHD{+I*eGh1z;H)6teB}g7J(T0jM!|9Z<~^%Q;%&fnEqq7FLce`l5&aN@s6(<4SL$7L+~&!zXEy zSAUV%-kJT}cTQjRtl6nYch=WAyiiKPAV`?VHDlU}^{ktOPW(@)xLUo@+RCtzOr#-2 zKaOmQ5x?flzoOH^qEBeDU*_kEf8v{tfBw|uPw(DcT}m*q!@~3<$rdn0JlDz^R(jLp zBIb+P_5~i68|^&Jj$(Iz_j6x<;LE2@U3Fw-ceZqPYvo{ie8Ly#yqmtV=!C)rhYF@* zOOLd^!F0=zk?W|Obu_|E9;A^{h@!~dzBw7nj_I7kz+Cd zg%BvonGJ4yj^6d!r5}FXidVoEVnh;p@lC*h1kx2v z7y;u-Fx_(Ru`*Hm_MHbK%gc)wp5A%l?9)H{)}wbly!gn)y=lJlr&PCRo&BT?&2mYI z_XTk-OZNDkfrH8N!E}8zJu=(5INQ54-oJclcl+WKmwmI=>Q#BE#4%r*lxL{Ckl-s* zxb+zvHA3vpLXP=)X>muCVQSMsT6tDOj-8NDQ?XJ1+N9KRhSU;liHTB^R7`#X4iGdO zkgQ6$QG790;})eHIUr(BW>6U#^NV-%%QoW1T-M4)LW_G%#z3vx*chS{9McsmY#9n- zhfE>P4x^NEja+#>p@Gk&ENQcWm_{_kR>RTl3MYf~FHb2#Ti`O^((>Xm&%L?J_WaKS zR=*aEPl6I)Yz6^lbX9*^9FKX_=fyXS|LJ#5o;r7V+b1R6(1Le}U1UAe8c5M_RZ3X9 zMG0i8o!%5&N$OGPH>9}}cAc-8s=7c`msxw_A9ZSYOeMSgf@b+*6dkCCC}E3$cpoNv$Z z7&#ljluTecU1DTnC?G*oZRs@qC=tv#C~$<8T*ZL{L_&&~sn5Z^I){8f?ou@bYQ{IR za%GT_&;z)U(vLwJMX+QoA}aYpOaaTXWCm;)MG2z4R+gHumgMR#PO(kVYax#L(pRzh zh8JT8JG^OQv~X-~v{YYED#zs_Hs~`3TDB9ndmZV34l8%I7|azc_rZ8w{%numcVC|E za$#ec;~zEX)OOn|_kEcpd8Ed1FxuMn%{EI@1JFnYM#60Ym}|a1wJ`f1-_8qicOT!{ zq0N@b!)GAK$yX3XGx-r;6(qFS%~@54|8Sz$T1~^CTCrls^bX!zQ+UkR&wDVV`-%c5{dr!$vXl0%!5 zsPw7;D2mrUU^cq6J-fKYbya?M5OI}q6hjK=04R!A=T}{V%&gf+w3WJR|0u?&h>;dq z;$eL=tciLvoZwA~B~l5-Fqj{pxgB9DR3$=-tkUghB~Dw!P?1A0Ai7b_XmDY3d;jIn z9sj+zZM^n{6JAB%!z?Y~M?K5tuEA>?RFh}|-F%>%F+r7$NCcQQ(Ih;BI`j0wAANT3 zJs;h>urp&Lgc6km&=a}6J9^X23vc+E(do0>F>L5;Q!(2Xn2b*4Q~RAASGq09O50)8 zzp`F^fnKbcMyky+e$va;)oEo*)eCzkZ~W5FhCmOen3=Bka zQJ?q3zwFsdKl&}lUh~`uZ_v<7;?$eFR6n6$8>3F5Or>aNbV0I9{S&GHty%9urzu6V z5<4qx<;Q2v?f=oIwtw~gTTgGzn4P*{skHWBraK8V8f8(l#ug+R&@P7uj)O69fHcB#G zhvF5s3QlB)_%)uGpu~%VJ2sT#DF$ux(%;1~2W;0I-Ff--;}74==htOxyuG(cXCV;wzrF^rpYI z^k4kalaD{`3uuBSD9WuRp~}0cq>?4N zJMX^GTadDmEGgJkeMvPJKCPI!eD4G-i(mXiu{2NC9>PJtUSYPA?8`(y+@>i4r zXR~o=)ra5}BJw-JAlLF=lF%K4fI{s}FP;3ezqRxezq#W}P!Ke|C{lCJ&kqQ{;Oa$Q zAu3U-n*n=8-9);ju|<#|4{>@}ElHX;MQuI_H#F(3$c#0;1q=)&9qn?WKn;@Zrltq# zyv)V7I-n{(0s}?`7!zpVHQ+Snn?@k_J`kJeDe*SxoGy1*Vi%w!h8LQfg=~{L- zlBz$$pZjl4o8!6CU}w-X0HesBBQ995xxV3Rm;cH4uKxJ1TnyB*5UI%6rUka(5@VkJ za_;6hrTRuzrfNGlf9gifbp!6YIz%LHHnG~dNCLVHB)u$JPSGkHWi~=_pz+F!2&kcM z$~@Z%%X++x7j}0?Kk&xo6Gt5VO@|wp_2fll?FEVy-@tLWc*B>E|6cZPOtezsL}Ccw zz-fsz3C&BchiA0IbE8{Z2Y>S$R$hJs-)hoq^p&E*2C%-kdt|~dsWuA)l~cy_f)4b- zzrj}0Qb`8QVr4pMj7$e0uc@%=7NlDAUg=V-cS6%Jv3$ZG6p$%FpH&Vx@?-2A4jr3b zo^5aO*aincp1}lzuS470|KV>~x_W(lc?;QC*RN=5DKZ;=r1-IPQuq)_R6dpL$f?w% z=bDG~YIsBhT^_t+THL<8_x9HxdC`rF{Nfqf+Q}-_jHIr0Me>R*EMtpG7UfsyN)(vt zh%RH!D0K)FqMMbp@*j4~zv&(5!G>gVVV^}A0raZQ60Tc$XpN)7!Dw}P^qLn;cP{e; znb#lG@C6&Zje)Ca;%sJmEQ8UZf;*HFQ+c*Iz-S~_T_e(^BW&)N@}7@uCFlb!rEfPgmSB>RBqkEs-rh>Poj%EiJ=B`%vlVV!7x_ zl7Vjakg!$!lno`^LtCJff87GSZcJf>y#pICukks$v^VCR4twcnZrWnS@p`bbu=lzb z@Kc$1WDFWLWr7tkE$VZ2FGi6B}T zR+JHf2^qC$I^Ce|tIjR1NI+5F=d_P6^CNnfXL~%j#(lEv%(LrTo?TuYbF0K_a3&}h zJU)8MeYf86kUuBGHoz5BRd8Mdj~OgDazU}QvMf|?M>GM#A0XTX1+GqIxkF>AdJRX>)7a9&cCwwD7x>emCDEiIA;iQOX53V*iB}TDtu)JgtWaQfIxsl( zOMsCx)rB#V5jF~-1HUfLmokEwV@cEQp<*M-sFf%6rSNa+M9h%}FO@tJvQ$pm?!4>F zyMF8s?z{g;;Q zL1i|pgcDk|I|CCDVcB}AC%ap_J4a@t)k^Ksbn!oa=r4ZYzxn;A&R@*0FLBO5{_`;>>6h}~Hq6A+ zVzzUyC^ioh?R&Kif+aJ`-ss@s55D8&|K{i4$z|$Jo*nSDw7oIsUeysLKiH;HnL6yd z{DxK4%B9{BOBysK4B*7(B4$_sY(SI0cAIUQMTJe7B+4HUOKT+Q zG+V)rlcthnEb>eWd;FL)bE~Ffhp$w9^p<XKWciUT(`!h;($C z-FQQ+oX4rijev06yfNP#y1B!cOxke$NOlMebahU81HaH5gXe>#sKofH%E)3fmP-Y%Q zDCJI#CIF#fP%=ao3S>D*0goQwbSBv|xb@`)&T`qo&3OKYjYBx@-e&x&w&y(>BPNb~ z{`k-De(H&*$Ls8z`ArzI$R`I*I-y^()N6c}rrL)JtpSjJQsS@+;g60W?F-yxd*7em z{pjg)H$CTsmu^kMn5R=YDmz$a*Q0Cgl^Hj2L}E0U(=MuX-Im8#qSXeSuzT(bo9)4_ zH^Ri+@&&I7o-FLRm@^_UgmFk&GrjL5H=k4~SS>^yC8LdZ4YL6_0Yrk?YGKS=G#c%U zM_h&WySY56l6|b80*hr3&@8R8?J_d0LRQQmqynP0xke{T-wDXY9CiX+0AH~mnArQ& zzHq<>;OW?`en;J%!tTNL=Cwzb7#xPu3xFwc7B~qplrB-I4k^WeD$)wz6_LOx@*y|f zSajxz47o{nk;-%eB{mOpIP~#ym66Y8D@zL-(}Tx1wbGUlV~iq*+>Kj3$QsT{yM1iL!CXn|>;v|&)*=mi}*uDL7E8+PdiQ07TK zjj{o-Z`kLqB^xr6k29GT#1K#2t*lrVh`Eh~QWVFoBw6vx(rzfIXyhwF@H_UR% z8xc^jX-PCvn^XZ`Je$qBTY$5^)(tsERjB^18f@oGr`0i2QGBsX2%fj`2t$6-kOy^^ z>+Mv*irpG*u`IYi(OEC$zOh0s08%pUT~gTO0I)MU*x@~Y;}H*X<=8LwU@-J69;AE@ zgHB+x+}S*NWH~Sef)(m{4uX1oX}M=aCTJs>*kneoB27zw^R1=Q8&Yg%$iz;BT{N#v zrpOwhz@nztn*TBc82wyQG{Y1k;Uy^3g`-Ocdrw|I;Q41BhDC+Vn_rgCqaxT59(_X= zXz*$<9(h>sC&7JA%;4r6*dsm#*2f^4a#@{_aKkJJVr%u-Wg(x*ga3=DSjUh5a=MU{@%IUf4^ss5jib|RDo~_^#KJhIFupwG@LP+qfGK4p^R+jIJ{thPP~^{0=b;_nt)e-*)}4AcUfbCa)_nAs z$D}3cV!O$9*7okc+t_WuXI*wKvLE1}v!=Y3A2i(tc%sNX1_R|_pI=+wyZWfl6DKSI zVA{(pY3oK*`AbY(DOA({&=U(|z8076 zQ>PB`xa)GT$Auui9kK6$2f?}l&=(1|?LgSLrz4(q>RiN%&qt+`%wd1jTc8q1RmTsR>HWiB5=bT{8cDGF3 z{v{J?zmzy=*&uw)CB1Hr*%&n$4^}BUZtoPKn_Fh}Brub6l0O`po`;LDY_@Lx7y%M^m0O^i?JPASqwA zU?m4}2{{J?hZ7L{>iBQTdfu=bCK-w!zB3Kcx@LY$emd@xZ==r;eaPJ>f8I_mkXn=?NcM= z3ipoEnAU0EhgJY4rz6Y>YmG@_ulXqxZc^AlX+p!5S1vXcQx7Hrr^RZ$!uPn`>lYlk z2Iy#vbmS9e)ykM6S|yUw&?7YSlkB7=KiE0N%5gv6)aLsuZU)Pa`&@5nU|0dd;T~A7 z(50!L);;B_8lq_d7!#e%34oj6@_0Aj368$*h2@aQfB-HZ+WTB0Jhrj8zT$l%yLrLaAH^MP*j$~8W;~NNm57S6vwlaaP3eHG8xKv({Ae=ZhSdybP1V!AktBni? z?FnGWw~YQ#syQsF+zD>E@8hL}>c|LM%VU|ua#9TfwQP32PJy2PLM4|nBmlhaqog?b zuYwW2k!1GkCH?uHk#`|WA|R+6u7Rm;P)Q0lsp2LS79oVBUYx=s^PJ!w?B*(y^STU* zn+5&CyvPk0j?kd^vMX)_oY+`gSzdJ82#hk{AkBRkKxM*8B~g`bJBN}F#$Y>1Mj=K=IDeIO5U5JasF8b zW~#P=qEgoQ#p>~gj~vz$L~y1+_>l`! zm4YyZXKc8~y_t>t;DD>|?gD&JF1BJo^J*~qotSg+hZ{294REUvM204Dpk)6>yzr)O zyTOxdQ%Q{)jssj+93|Nc+Vl%)=0Dv8@S?w zApz3oLU$}%bw&DNglpPFW!n-EohdvLj!Jgosw!hv^I`ntBPJzT1|e*qamskj(RGjb z<>?L}7;|MbMT`&Xl0(VDk*SJ8%Fj8mT{v87siO}|Q~sHoQX9sy_O5WN3p}xy`%vFI z9P*MkYO~SC+H_-Oba5+}x!M6VigCgsPJfpy^_5;k0`}-%aT243WB=+4!IU9;r zN^D}S#=AI%qC{fA{6K^>(3_DmtV9=MjXRUqkftW+a3oWTm|C{T)=iQ*1RAy)+v6Dr za#yYKRY~p-8z86njwxeL{1^_dgcOr-UDxr5O#YGq{np56wWcT$cs*FspOi%!JBck5 zza1qjB|c)jtSKoxNC0T|(w7ZsIE4pMtrpI#(&yb-l&hf>XQK2{ zV|IP!Qcbd}ELFFQZp|i13FLG?5|~x2^lZ$F9z_x8aSesB#HR_WSoRKA-fJ&GdS`e%5R=I0T!&gl%w~Dcx`tb*#VNKn^I>64jdXf}q2cUU z1Hn1ct0jDI;p$_#28#0>k)Y8MakMVW@k(~uD+QYNkHQ47Y# zcU79oYf!tIn3pu0c_cX5uQPSOXfii@^62tx|7rJZ%;=D_4Hzp5DqDe;UQ4$@b>rZx zV_XK;W3!cY%Y12yD{z9OYV8oNXCS%>tRxXqII*`e6GoE@CtC}(me{gbuF4U0D$O98 zw#z^;bdH`Bs=k&rc+oW%q=eBFU1n5s16h!?^Oab~L*B*it=X;{{Nki6$qN1S|%WmZ|tLY8N~fm064g z=>n63&*n=yRZFp`I61W~)|BA}NRd{n|xPP>Q9Mprv==(>W?ut!|1JeX4}8#YaE63xcm zDBauJJ9cDr?1=9P0f9bPa6DjgRHO)mkNKc7A00{uVF@T&1!+?kQ_*Nua}rx+sG6z- zaH&KzF~ox0p)`NA(^KxId|rduB+$*wh^HZVQ4&An!BGvT!izQd(V)~+lO#mcjFAi` ze%OUUfHuWsNzkb%Q3a-9r=){Qy3!9d6-`+5D=FkgELOM2Q0qEMBa=~Ph&D1;f}8?? zh6+YYmjn&Cs=p31Gz~NYzZ7qsINiNQq4df?kzz*UHHnt6M)J=psLEvKj4%KyonKg6=BCRkbov~Zo>aJkTb0%&5?(MF+ktfd|cwFlBoH>e~2y+h<2NKm{c z&Ak8z1P9~%$N*2qAK#d+tt2@$2GHlWkS75{(7GeS@>)K1Z49jhNr7&NvZc(q_D(Du zCM9P@xWb+tWaJjrdXPn7X*L7M@AcN`5040sA6r@)`zXYW-!nz1&Hmb>$C&C(gfqSN zo%^ZCB5Emd&6<4GFcFwIqK~l}aKOnRHt^v&vpGGBgFk%1EmSDdHh@MLVEN zD4!3DD)AKXaHKK}OFRb$m3PR}U~&Jhsb;t`#E%{!8bae)e6Iy%)O#vy&?Y1OgB)2& zA89GwiyI@*w!mGPLtWLHl|8P!JeLlKh^3;h##g2C9(amTffjzRl(4keW1Y^iRrXmT zt5zMP*$5&@z-|2!YSkSu@uge@$|IT_0#P@cBo_TjZ!DF~K?S{fC7ME%<`q!rFvQhN zy6_NyYBsDPpx_6Rs{ALjXb&6VTr4tPja9xJHYF|UfWnFt+Ymdc4Lu9>-LAS)*@;z1 z%BC*4^e_;42ZxVLKI6p3WHQpR-e1qXuy;*(?I!cogegk>^9L#(-|xh1g5kS3bZ zQj`}yzM7nTGH&Q%WQ;jhT8m0GAq1Wa^IuxNW~Uqg8d(PQk@cn3rA5AuJ>krkNK_yP zR^W=%!5ZI?X!^4-Rf$d$q>rl>+wz(q;ZdbWVkA0qpb+ z+h(3lCkZt`Re;xK8)bB(iiJi}AX;s*5|+04=LjNxl%!%08lX=HP(vgumlia{9<(9g z7fQIvY1*=bAULdHQYDHTy=)9yk=$0sQf^o_f8`?*O0`eanzs5{G4t?i_~v>BP0$K> z?pg^5+8@Yr)eSx7G}x7tLuKF7K0XI~*B)OX8w6{LEY^9DMi_xx*jvULtvHd!V2@JO zgxUfQkXA2K>IGR%D_t?>TrjMP7RaRoRa#_lMIDb#%7-D`aoH@|+RAie&07IZ_+I@X zOsifAjpsvIG%GqvDjd;PYfviO{zFtX;;fw1lK~w&Y^h}i3&_Ol>r6gGOMDiTaV)f{o&KyCW-+55hsy^{f)e>u3sT}wueiOq}WWvB*Yj_Aksb)FI9M%E@OGBs>hFfl_mPhz; zp{}t`nWvfpk}|GL%tWoZPLy^xLeW+v zpnABfkeXg%A>gc0aaGFnS{OwXGJV3ftnH{Nmu)*iKsFj^T1Z39YAYJ^`c0Uj*soQ( zU?vO4fTJMan<8DA4|VOvu>XwXD-Mppss)=N@>payV7)xSYbDN67gR=F4amS%YA#7N zCKW7YoAau+EmC?$LpZdE*~H&0>prfDV{eyHuCR+ZnJz7!c;U>*k>7!i1xQSU&`cLj00F_)V^@8l7p0OpuQlc)zrmj#q4TR)VfKAvmST*kw{bcK^NsC=N z9qd%sd5X~E>@ECpp=%s;UD;k19Rla^% z(8@>aa^p2pwnM1iF%zn4sLi<%8;E7O>1anu<*Nt05oWy{hR4F97lo+=aFlE}&Bl!> zO|}wK)Fr4W-gY1-0h27kEQqsbKl7+BDBL^X+iAQdBO{9kFTLPs+R@Jy?O>_VRv~C9 zeL-^`P&qCvZP@7E(av`;xZK0|IJz`?=5((+HpU(CM%HZIonY<75_{Oqt4HBvL zfdQiJ?Y-5N2^Sf8y$C}nUTTRu|jAdQmZUUGFl578lnj%_$E=C zgERS=AR;cu)TUg#xU;pr3*IsUPov}U$zv-V+WDAr>Bg29qTK+v)iqweYWctZ&tCE3=bt!pmg$fQ&hY3L2Zv%@ zc-T9#K03;?12Axh&n#&&vo0=d!}4a+R1E_&Qbpt4VJgWI&yt7#CWd$;mZpM!N-erH zo82O^RLWHaY2~oInHrC`FYi8j`Xa9cNVzNY$kUD7j!GBfJ15I0iSOO1JUh!50>1yNf5T zTmR?()k}^YUD@2^txy>6f3avz(jGOY>EL0qTs9#mOBao?C)Q- zvBGsjtvA!Ak;2Pd&+hDz_Kl;fyv^5NW63Pq2881PJMreKRbs>;U+svnC_G&*V-=!4 zDams;6_lYziKg9~exF;#;?DN&0}q{l@X-saD^q}ZG1Q`I40BMoFy3L}*Svm2OT=~r zvG431+gSeXfBsG9p59?+S6gTSK=u&adA+PFQ?+33#KMQ=-i<*l9BD>$WNmSEd2-?D z%O+ihUGGju0T!ThD8cIKC?Mg^4Oc1*M(JQ+nWJjQQ^Ve1#k2-eLaaT&z>gicB19St z%|SGvbQ7)oOD8{_1kNtAGq9lM>DAtd+rj zJY*O&t+tA`b;qpmv|>b5a)S8iW0!d;F?C0;0(|c=#_LYPzQ;ey(}{;bv4tY~3>3!u z#myalFXP&s{i8=$r+kyy$8OLq*KyTg{-sp}9C?8v^r)4diKK=z$7+hXtQM@GIHXXW z%`u7$1K<#ndGx_YE_~%aUa>k}3V3hN#U2Zief$_Ni96WMchZwJzHDOQcn2ehoPTAw(#sD4W|SAil?0TyBm|ot}F5;>&KnW``e~%lRSG4O;*^MZh*t;-d(x<19*BBBsTG zYn8@OlJO9_W9K|Zu){v%UQzm<`aW-t-FfKDWnL#DX3XyIUUTdy^Sf{Ej^RS3EZfiC z!PzG-KXUr%<40GnI=0Lne07z#oAK?z0`C&{wK69|OjIzQq1V!kHzisR=(-A6F+xhx zHI>kWXcXd3w5*uFclY+Uwsy}xxq1IX=UD=Kb#H=JDQDqXY-Z-xT(c-Ly1(UP7t4KPCc)6 z!1ZX>tXTLS&!tPdr%qq?rHDp|KqbJmaP;5InSpsJ7js%M6HhYTYAPsN|1JkB^(>Ga ztPFfBmK+O44+W4i2!t$X4xW*UVELy>OT*NfG22LXfY5jMX21L1dtUjn>lil}A=w09 zdYVHbMhjo82gnr*{9}>=)vYE@qk*^R^lnm3v1A+tx;hiN%4LKwKK|JU@A%4@@#Gl{ zg0kh|a$KNZ7)p!p%5U%ZQw~p_zx>rxPjS(ZM-0~2CR2}x{Jt1pM`WLnk7LM<0(vgV zr>{*>{dHs_EyzP0;v~_0glTYTI%s%f9b0V1w>PzTfMauem)}J_ci}ShjU&_b)f_^o zrY`BN2r#m-zO=D6Isdd**ho6D{Lu%${K}U<3$2;&i(vE{EXQ@V>&Q}=!UJ4Ntp#nS zvyMQ9LGzVTC0NsF~)%sBGF`|na6DLbw z%RtX@r25An`s%Z8Tz=Pgecd%D_(@Yc74^FI=Fm=tpx~Aqux=#iLM$}mXtjoQXvRk8 zAys*IG^yl$H^$1Y4+U%d&M!apZ~om!&!4|EI({`YeRNe0i(11;)p{A0*g_m~sbbD8lI!3| z6e`)Oh?pGH18DP3nWe=AW_RKONW#qabHKFfSkmE`A3vBL+n?Skt(g$!osnn*OoTE6yRVFRASj@vY~I{$TL2_K zXEwX-&eQMy*B`!cX*xO1tBZV3xNjNaSDAfxsMT^GRTn8x%bBA1h~+HHpL2`!Rsy>e zD-`OU10Yf%$SWH}5tlA%Yt}&y2^6K`Jfh1UTa1)1bu`5lhy8;iOZ!LGnG-qu9PMsR z_$`Xr%H+@f>`q=0dGpOTu;ZiKfWS;i_8Fi9+E{QQTWZZM$aCz(Eaj96wLQ?{mly%# z&YOy0QAsVTF<_u3iY<0YuPjflxoTzf(51*^WvM?-i#il6Z zi6<|9^pkfzec}8~&%AMQZE3Q+%4?Dt7X-o!+cjo3Oi*P*H~E)frYpS)1%YDXa700n z7EaZJx#(U7)ofy+(goxeF@~rj6TZ|~j;Nk>Q>8gGTpco8Uj8+c_xyKXbNxwv@@CYP_A1u9mL}s$lX+NRs zh5vMxM5sA{m26gJg&H{KMUi~^pel;2C?yJY6rxm2RS&5!FxuGq2o1D|lx|r@iVfh} ztJg=n7p}i*?|1*jw;n&fyu32y;0>cpBFrkHssQw%^?M-&z z2NMaVWk3fA42R;#V#RGl6zx7h&Ajb!6o$!gDvLkX*%uBum8*d&n(;qHR&e-JTzlXC z+9NM{?wSaovWxXC+pG0*H6aY>dLgMq-~T<1{-@W2|8m=T*(J;P)W2g*6?Ny^6-P;%E+J`mZYs(6>cgcg@k! z-l->^cXmGSspZ#w#mzjgYFi#5w6-|#B3%3L9E84rj1Sg%?y(;C$k zO$hA}-U%Q?!!8LGtPe|egXmxh3g%QsG9qPAJ=jcz1xuxEs(%4^7%6XVN0*q=D(Z-lY;ynZx%-$?HGRU=9hlYMwGm&#wIKL3;;SJY9 z9(wrfXm@jMV}bhs$QhvOHT`?qkkRjJmDzFAV~h3Hn&zH_s*=gxwA-4irjZ?!e1WVm6{Hift7r!8vCJz4kN)H2#|9L|UPt zDR4Jj1(-4T;ij$4odtf_!QW5GbfL}Ci4g}uO1VW*zGm_XOInknmXKtYMmq-xE@?7s zL<21wO__>>&J0h2KyoM`?g&{?a{TngZSKzS%Ol9N%w!+kEGkrYx99$3MLndJFleor zTGjPihAQO|fz-4kNgWY4zYKbKR&t;`hP{eW2Mimh^)MuaZI?^Mi^0=ZJ1P}q!G4R zsjiSUj}>)1+Geo8MMSEQJWd1eKIfRZ?2}#D@r}uduf}iB&Yi!+g)2_wA?Ny)Uw-H5 zd-owucgBzpHT}`bpU5o*OBSCBXdovB@rEmIVp1-4UA5pfTiQcc6h*#&yheIF;_d`H z-gt}^b+jg+R^q6Ui;0CIW{F@T>hkd)A~x6nlJT;sVbQu7O0kV8LUcgH09*qv{U~<> z$T2XYl&OcKhX)_Nc<$WR%G#=SwGsw0DM@N>J{g+!gIiua#9>(RXQI2HA_IzoNZZ2_ zOR>^FDA1}w&pyE8V=)L+mX26LeB#_DSNB12)y67^%WlzjzJmRT-wRgR5*S^^lQWr^ z@H&t3`1XL`XrU({>tdoL1A%BVQo(vL=7YomBTYtAZfz1D`5{YeI9fu=IlCIxocsA? zLq!81Y^@BV4Sq0e#IMjz?mzVeVH3uJC!rj11B1@XRKXdi2fR2d(=N#a1Og1SLMHO0 zsG3=7#)P-vo1l^ub0#a%ByBPhkuD;of$oDkC&BmJ_tfUr<=J@2*Ii&kF(V#^qnetG z+thR=A^*iKn~HUMljJwT%#Rj}QZnp5Te7>$!dFIB&~CKiOB+p+H75CRCF1hk_dapQ zUz~mQUwdY<=+T{a_}KlK^E}ZowG=y`mq=BNZKT9*bPW}`Ra#9nIFSJ-M;IHf6VfRj)T?pm^}((Z6T*J~ZT%?@;IbEq<%l z41?SxSp5nyp|uqN+dzj}v|zL97*13ogkVe9=@>_3^1v)DseI-#OC%A7oR2!l1kDdS158S@Jb)Kp6x@%T>mgeFmenCifjwQSd+D3o2G*gtR zKHF~fmmOCjm_Bg%mlE^?CH>!GjZhmOT1nK}jBZ<%nPLx5L)LCaiEJ%3`)k21gb~cr zkn00xW}C_Anyc5>kF0N9zVMZMPQCxbcfbAHU(Q7!#B%9YJ5gavh0 zzRZ=19O(JHTdPi-*CTsZ+^e$S?@l#g(~}=v-kV1;aSgG@4NTed!KXe!Lro~j?q{aD92O} zd=0U}*pG|((ny9l@qd8=w|RS13!F8xnJiP9^n?{?0mm^@m4U4XDze~r2#*e*e)9US z|IR}%z58a4H=p#f+xYNP-X^tn!&(j`+>l!YQKMO#j)+;LN^AhwIEX=Kp~MqOi;xND z&@z_%Kn6!eO04pLw|@4xKDqya$A9YQ-uK6U`mo2QqvvnEk;_}oZd7>|&4~m*Z|QAN z@0PGn7#98poIDt?sftm3QB#%YW^2O|v6ZYKT4m)XY!O%sy9f#)e=DnOLAJx%B}c_v zxu%Zr>#m47sX|!JeAJ)c48G~&jTa9d+q?eEGf)1)Fa6Gii|4=e3tz`)gdj`8z5|dq z^13bw@TJkfLpMi6r(u|O>#?~hNNJY1Wt=)AhkkQUju@_*=r3dTT8@<;dg!U&`Gd#a z^S;O4`+=tq_HXwm+xS%trz=MJ6hcvSkxF~T&}NYv#W0UFiD_WZQy>Ryol*rqOjH(? z3ngbbkDf4~9z6B3Mwzl}mC@}1^Z4lC%(-9wwTJGy_1uRadGW9Py9Zx-=cO0j#z$vz z$>lU05?i3e9Ka}@Si}g`DPPWPOJ0+$>e@x@6pfUXTYFhmoCAB_WI2B3nJXXq@RRpH z@bvwE_UK0*yS#UB1GAnt$e1@|2#?MlUj%&f*gHjPa`Nv{HFJ-cgl0uQg)ln_&w*5u zcC}z5Z0_)-bO_y5SWLvs?Ivq`dRA|*#|c`-lb?=jKVjC!5}b-d-V+LmVvYe<@cdX9 zF4vFG-gp0pfBDy0J@=}Y-+J4vm(HI(IL{N#zL;?HDNaI4!yrfmPLSEAo!Sz?%rgEe zPZ{PVlRoaAe&kyZei*<2E1>^ zCrfZ76#gYw@7AI!bzz-#*&tzFD0PuvYxHo)>m70 zUn|ZOlOqQ}B_8AN-RKJb3-&hCO~H z>*Vay&+hTgJZA-|xu-yBxDWUWka92^e2pl3NlvYt2b4j%E7{4-HCt7gO3@=ILMIjw zfH>`N$T3!s__Y8cSSQUe%C{E{AXsNshD@!OHNG2=0kM<{iT%VASFT*S>VNk*xZ$xU zo`3HjzK{P0^N~lNe?w&3zqDJ=#fi%kS6 zURdj^geN<4Y)G8A%D`x4ycK))4DTS_ckjdR{c#V?(>qyhPZysIh zg*yx0p=SZ%;;O+S7F~|%)Iq{paFeW)Ih9wZH1_opYIG*h!K$-x9+cPw-h+iF08SF8 zPaYsK*FZP^nym$t2Z>#>3FA&8xGQoTe@;H ztP1UEI!BXK5fhA_FWIi0JboSMLk~W6`6{mk7lb`Idg$TDKKj_BciwsXt+(($U^wb? z0>s({6nBKA)zXc;Grkp|G|&G;k9=*33g;& ztSr9$#P!ri&W>XL5-xfNb&O1(9a+0SG~-_puklLn#?ViYM8Frz-s znSY^U3>MfT(~gFxaK|UtE+4(`1CL%kJod|M$NU5suMtOA53hXq!yozZ10OMvY2^fi z22r<~1u+I8zmZnna0HCCE1vb71nRxkOEvurNAlW1fq#}CO}w;!?gnQLlr$iFky+SL zgVNzJPc%r(z>Qg_auOk2wHv>zeOXAS7!kyuFYWWY96nEPJfXKAaJ)9#LsUdx}?D0|7h6Ob=AZ=UQJSSUm z#x66@P7Rp}4RI>E5&W5M_JRCHHyL8!1ee!{ z+!?{O)D0*HKhOdRqLd2Ehpx2qmwp(AdHsDwS2l$JzyTTT9E;7f4>I=-A zGz*CVS^d-nS8|KYuFc>PO0^))ZTu&4fB(_}soi(Muu zgAp=DB#=ZEwVMct!Y*b;bs3J8VXs#ZBk^^BG{UjQ8n6VmCh-B-5ocMpia9|pDdbEf z5@!cy_CNK^wLiW8$@hQYfxUh1rt>W*ei79VoH^!4S5hAeE|si{fjiiNM;QXfi;a;( zq3njFG@T*KR*QCQV5%DnVKIx=TFSY(=nFS~vYUe@41!t>x7C#^oxri;o*A|Fom_4@#VIDE||rqC0m54@IARKiQMQI@rqIZXKe5goZP8teefuw%~T znEgzCes|(p_Jr&$fv{k@u-b;Q4J68z}U`H4r5?5h0;L&LQ2r7 zz>n1PQp<|~r)o{%>`lM=n;-c6&;1lGkzaQA&CGk=0^=N-nUn7g5vOK zlQ_CyR>zSAfbm<0f6hofDLwB2lzqS%-%^5rZ}tJf60_5BBNG!t86@~LTCaKxC!F)| z(ZdkS9L89aKv!Lv~-guGA)`ZE)hoQxmtdA_JlJ|!5CL|?zICr5s?;f6>!Q> z99?vBEus^&hLH!8syLAszL4o?Oh;v5>_w7wQLXI3g}rkgY1mgeAuzFX*Z=IHr+(^Z zf9tEi@^e4*;B)u9C9lM0f(213z-9OBo54ntpF#UX-|Ra2iO!1Hq9v*1W_Lu< z3S31J)34T8H2`t4aL6~73yQgbEja%KomYV4llvZc;@$_Ixq9vJ=YHWg50B3CBiJ5U z8Fw6*`p*6f>;RL`R$z(bRJ#GguYuAeZzxfM66pXzf-aAC<-tRO$`M9F)1~85n;0Uq zGVB0h#kg=KaKM9a=biOsp%5uv00JaB&<5g)U$})o4L5VNT^e0VlMU|!z-v@%B!apC z#CLu-Oq^%+f}P5-DNIV{tLIz*9POX&X*Y9~Q%^1fC^w(Q$2!$nTqePdTcQZo*E_lv zHr!OT>D*sy$A3puW z?YAD>b~9&jPBu;_5>ce)AHR*40fuJmjBi=V!%4HtwQ|I<)+D6cQ0St!h=H)JAj>H0 zv~uzurl)Z{xrO!UN1uQ2;io?G*cGnh-}Ots`k@CN-M`_k?CKY|2C(+rus%5Q8%gc} zx$isJ0Lp;1tBk=4twI5d=d=k;YLPlkLRa?caQ154c20UCA`7oG0E~^gK0RLmij#is z&cl#Bfr~~@fxJ@HIu5bk&TvZ*0F@a(@xsDYJhHN_YehCx_kDnL#+pp3#62Q2KINq{ zk=oc`cevIq4kp7X5Vhv(kTB*QqO*Qb%ffL!;eMGq4Zl=e$Mk2OH&SozQqUNsxvxHtq|P`+UepGoEAa z@FfA!6vp1o7&Y7;Jo$$Me8q>4GhMiF{<-I#`=xjN$_MWK$o{1}JoRT*&0&?0nXkNU zx9tO&II_s$-^kKx0L>e$_dz?$N+Wf^jByUc;zkciIL@Td2E!~#7cCDQnBtUyH5G=Z zw@;k?4iH^57INoT2*U-zDB^UHImQU%p|Y)Iz!n)6oC~`1)3m@b0&%s&)vIKtpd+}& z$fO$kh9S^6Iy|JoSsJ{L_n2OL=NW0H6hBYGeU(7@VY>uO5l+zx1vIPdCW5W2STWrb zij7$k$P}mSwZm44<}G$CE0S}dD6+G`OIjYW^)oSN_>X9OUIG=D2RHuqZ~yWA_dooW zx4h{SUjB-67jC$A2$Mr@41vYe@U0H;$b%&}nS==+rOjl>E`~9XG1Oe*3z)kCx$sxY z-A_VxhY(Pmx+KFu;TtG#`J+F7-b2Q-Pe1v=KmFkE{@x$)hWGx3n>_956>#sdIM1wv zo|sGGV;70ltr)>BEgWyLa>b2*lABXKfHN$@#Opo|7+y``q}^c(hVnf-gUp%tugA zI_+CMP;mEE+#Dgz1x#wa&jDr*GXYJ2%>Ov#6nmUedCru2(F{0XMrok5nyLcvtfRI% zW!bsWO~)db8qb(!_Ah_VgL$~$dS%Ra1o>#RpMpBzgpH37UwPpEM;^HM!(P4g+}9Wl z1wtBOk62PGH1(mGEagGJBWg6x7`N8>p?(niF z@6+|J;>nrwXFR5IK+Q=uM^=Ioi?VnnFSsQ#Ory45MnEXpPGv2fs`ymS#K0lqSdKLo zvx8&r*>AXJZJ10a_6o<^`J#wNUIc(=@6YQqO7{ve^JL}Jk}X0nGD^dS7Mbkjf=d?Y zsm!7U4WnUxmNz*8t14TSnML3@odngGEo~E4G7fAYH)tUcaJ9_@=Df&&!;zI@@PWPo z34lezIRuh^+)nj@9%V{1VU=2s(o55<6ExgKNTkzdQA=f;_W}eGW}eoZ;cf%-gLm#O z?4P;Bw?+1t{myuAy1DoIpJkB{$+0wTgMQ4iL~I=-meOXeXsp9Ol8TXg&{dq5NTV#< zcWS^*ma;hG@#gEge9wQ+n*91=2adfFtCA?IMDl5Q*llP2D+fKcqjzV0!! z`6>sa;)$jaiRD^|oIcyiGv30L3=QRUvL7v$k+Cvll&y%E^qopsobRFrx*`PY{I({p z!)l*@%6oA3(h=SA)Bn7(iROGZ$>nM%T!uY2V+a#TXrEOozIPf$3`;L-(Lf%;AL@4J!9$eYs zhfHyjjRA$ua7UkZVr8@mmoYJLmP(svsAN{ii3U5st}ad<(UX~P88xm+7-?feL^OUp z+tKojD7G~hufa+aQ_r!%3~)D%shMR2j1mug_tWWcg^E0IBhi?c1BMVK08K!$zvwbb zCd;fzs7j_abGpNsIW6-XFotX9HTz|{;z=oSSzDKI3`!%=#{>&!!t5=T#an;fV@%5} z*y`pPV-3dMm@M=oN$erl8{r%^&m8b?WiNPJ@GSoz=+GY(#hd;1h%5N3d&hiskg3l; z?CEkw62w%dNG}YPcxz=)c`mP!$0PjfE37S(a~qm%+G)*DOw%N>rPLzh#As%^aIT*l zKJEZH|H=N4+0RRycmFWJjdN6@u=BX_DRPdg2_1>jjDA=-+~ox~>FrYQM=LCd;wowP zDX{I{dhsioK~P+P8lPQdn^fR*eLszNWIZA zsD@(t^NCHp6)R8M+NbQ1YagdsX^Nuc!WXP^&7hfq2fsv3g|rnuM}_2(P~zgKGk-Dh zS}oxs+A!oAMI(vcMaK|VppAX02W~{^Aj{E8;`}Sad^XmbJA4=B;$GgqIJr(Kas_t8 zjJfVudM?DNHZC2Eo(>^MZVhR(&u||OWq^u>c5<{G=1n#jIUcCkRH>}}6m3hzLKVuH zfOuv^!2oh$$D-5#3xDy+I;2i$iHwUwjGM@3{$7&-XQFRj4h{!Qh)Ff)#00}-Ih01zJhADVM#PEsDxsOM5fS3)U z@?Hf~@8uaxwK|tfR=5CFc1L9&}wTA``A~n%E zEv_oYS-)UJ#;Ox-Fq)}&KD2WJ1v7J+!@r;I-shyBv!J~Dd)C9hw|99#W72!m$=OI#0o_5cwOW-)nqJfAT&Xh z+>}NVFCl!^+x4WlVd|U^F+=S9*KQ5}q#mobm#@9R6@PYwbUbJgmeokZTzg>yBP*L4 zwosN{K_t>nm(zQWW#U<){WC}I31`k9dw)0(4a6xBQ|hSK09*#}jsb#89TOY+Q(7nv7HAn?Kl0w`ULmUqWOBr67FeNRFoag56nYE(8oD8gb@8l9#^RVaMe z#Xez?3Kn@ZL=x7PW~2Oyt3mcU}Uu+;YiaSY(H#u~jEK4IR!}53%;@ z-$OWSgzf;|0^$_kvmHL@;VmF9fBFCK`FsIqLF;Cyr$M@;P!@~DjU}}mNt>OU8LO~b zh8VS4O);Yx*Oai+24SFj42^d19i$?;?G!M2o~gcaHAsjMdwfeWf@N_u~Y^n)q(C#OE<2~Vr=Ldh;;_k1l*1J^cXk$o$lw)cl3)EXPE*KUK{M|JTX+Aq<<^_{JWN=!^2?>XATa9Y zA2uXra1ylQbmE&#bwiMR8!LQcx?*>m-9QXLbxOQ|ApxOCw$(=x*pf!f-883+7Renr70m>Jp^>FH1E_tq(ZJkkxXoQ9Z~?0Qm(OAsFxG^)TasjYHe?K z=A@q!q2BuRv-LUY$KJ=BJ4q?AG8hv(5>qol^H^*$92h0@@&Jc}#bi<_t7_U3ONm

sb{JP*W1C1qaM=*xSMRTC{1%=X$)y}1II(Q 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ⅅ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 z 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 z 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

PYX9?a;W;_BLFT8JmF=BUa^O{PyR+`1+^6 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

AJE=i^!dm0>i^u=j_4x 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 T0&fr>ove?I`hSxDd%gaD2~g;B literal 0 HcmV?d00001 diff --git a/Scripts/build-app.sh b/Scripts/build-app.sh new file mode 100755 index 0000000..48f2911 --- /dev/null +++ b/Scripts/build-app.sh @@ -0,0 +1,18 @@ +#!/bin/zsh +set -euo pipefail + +ROOT="${0:A:h:h}" +CONFIGURATION="${CONFIGURATION:-release}" +OUTPUT="${OUTPUT:-$ROOT/dist}" +APP="$OUTPUT/KeyboardSwitch.app" + +cd "$ROOT" +swift build -c "$CONFIGURATION" --product KeyboardSwitchApp +BIN_DIR="$(swift build -c "$CONFIGURATION" --show-bin-path)" +rm -rf "$APP" +mkdir -p "$APP/Contents/MacOS" "$APP/Contents/Resources" +cp "$BIN_DIR/KeyboardSwitchApp" "$APP/Contents/MacOS/KeyboardSwitchApp" +cp "$ROOT/Resources/Info.plist" "$APP/Contents/Info.plist" +cp "$ROOT/Resources/Keybridge.icns" "$APP/Contents/Resources/Keybridge.icns" +APP_SOURCE="$APP" "$ROOT/Scripts/sign-app.sh" +echo "$APP" diff --git a/Scripts/check-reproducible-bundle.sh b/Scripts/check-reproducible-bundle.sh new file mode 100755 index 0000000..206d2fa --- /dev/null +++ b/Scripts/check-reproducible-bundle.sh @@ -0,0 +1,19 @@ +#!/bin/zsh +set -euo pipefail +ROOT="${0:A:h:h}" +TMP="$(mktemp -d)" +trap 'rm -rf "$TMP"' EXIT +manifest() { + local app="$1" + find "$app/Contents" -type f ! -path '*/_CodeSignature/*' -print0 | LC_ALL=C sort -z | + while IFS= read -r -d '' file; do + printf '%s %s\n' "$(shasum -a 256 "$file" | awk '{print $1}')" "${file#$app/}" + done +} +OUTPUT="$TMP/one" "$ROOT/Scripts/build-app.sh" >/dev/null +OUTPUT="$TMP/two" "$ROOT/Scripts/build-app.sh" >/dev/null +manifest "$TMP/one/KeyboardSwitch.app" > "$TMP/one.manifest" +manifest "$TMP/two/KeyboardSwitch.app" > "$TMP/two.manifest" +diff -u "$TMP/one.manifest" "$TMP/two.manifest" +APP_SOURCE="$TMP/one/KeyboardSwitch.app" "$ROOT/Scripts/verify-bundle.sh" +echo "Two release bundles have identical non-signature contents" diff --git a/Scripts/ci-policy-checks.sh b/Scripts/ci-policy-checks.sh new file mode 100755 index 0000000..c484307 --- /dev/null +++ b/Scripts/ci-policy-checks.sh @@ -0,0 +1,16 @@ +#!/bin/zsh +set -euo pipefail +ROOT="${0:A:h:h}" +cd "$ROOT" +[[ -f LICENSE ]] || { echo "LICENSE is required" >&2; exit 1; } +grep -q "MIT License" LICENSE || { echo "LICENSE must contain the MIT License" >&2; exit 1; } +if git grep -nEI '(BEGIN (RSA|OPENSSH|EC) PRIVATE KEY|AKIA[0-9A-Z]{16}|ghp_[A-Za-z0-9]{36})' -- ':!Scripts/ci-policy-checks.sh'; then + echo "Potential committed secret detected" >&2; exit 1 +fi +if git grep -nE 'blueutil|brew install' -- Sources Package.swift; then + echo "Undeclared external Bluetooth runtime dependency detected" >&2; exit 1 +fi +if git grep -nE 'RegisterEventHotKey|GlobalHotKeyController|openPopoverShortcut|Control.Option.K' -- Sources Package.swift README.md; then + echo "Unsupported global-shortcut promise detected" >&2; exit 1 +fi +echo "License, secret-pattern, and runtime-dependency policy checks passed" diff --git a/Scripts/hardware-acceptance.sh b/Scripts/hardware-acceptance.sh new file mode 100755 index 0000000..7020529 --- /dev/null +++ b/Scripts/hardware-acceptance.sh @@ -0,0 +1,48 @@ +#!/bin/zsh +set -euo pipefail +ROOT="${0:A:h:h}" +RUN_ID="$(date -u +%Y%m%dT%H%M%SZ)" +LOG="${ACCEPTANCE_LOG:-$ROOT/dist/hardware-acceptance-$RUN_ID.jsonl}" +CYCLES="${CYCLES:-3}" +MAC_A="${MAC_A:-Mac A}"; MAC_B="${MAC_B:-Mac B}"; MAC_C="${MAC_C:-Mac C}" +MAC_A_MODEL="${MAC_A_MODEL:-unknown}"; MAC_B_MODEL="${MAC_B_MODEL:-unknown}"; MAC_C_MODEL="${MAC_C_MODEL:-unknown}" +MAC_A_OS="${MAC_A_OS:-unknown}"; MAC_B_OS="${MAC_B_OS:-unknown}"; MAC_C_OS="${MAC_C_OS:-unknown}" +KEYBOARD_MODEL="${KEYBOARD_MODEL:-unknown}"; KEYBOARD_FIRMWARE="${KEYBOARD_FIRMWARE:-unknown}" +mkdir -p "${LOG:h}" +json_string() { printf '%s' "$1" | sed 's/\\/\\\\/g; s/"/\\"/g'; } +record() { + printf '{"run_id":"%s","timestamp":"%s","event":"%s","result":"%s","detail":"%s"}\n' \ + "$RUN_ID" "$(date -u +%Y-%m-%dT%H:%M:%SZ)" "$(json_string "$1")" "$(json_string "$2")" "$(json_string "$3")" >> "$LOG" +} +confirm() { + local answer + printf '%s [y/N]: ' "$2"; read -r answer + if [[ "$answer" == [yY] ]]; then record "$1" pass "$2"; return 0; fi + record "$1" fail "$2"; return 1 +} +record session started "cycles=$CYCLES; mac_a=$MAC_A; mac_b=$MAC_B; mac_c=$MAC_C" +record hardware metadata "mac_a_model=$MAC_A_MODEL; mac_a_os=$MAC_A_OS; mac_b_model=$MAC_B_MODEL; mac_b_os=$MAC_B_OS; mac_c_model=$MAC_C_MODEL; mac_c_os=$MAC_C_OS; keyboard_model=$KEYBOARD_MODEL; keyboard_firmware=$KEYBOARD_FIRMWARE" +echo "Hardware acceptance log: $LOG" +echo "Keep a fallback input device attached. API returns alone never count as HID proof." +if [[ "$MAC_A_MODEL $MAC_B_MODEL $MAC_C_MODEL $MAC_A_OS $MAC_B_OS $MAC_C_OS $KEYBOARD_MODEL $KEYBOARD_FIRMWARE" == *unknown* ]]; then + record preflight fail "Hardware metadata contains unknown values" + echo "Set MAC_A_MODEL, MAC_B_MODEL, MAC_C_MODEL, MAC_A_OS, MAC_B_OS, MAC_C_OS, KEYBOARD_MODEL, and KEYBOARD_FIRMWARE." >&2 + exit 1 +fi +confirm preflight "All three Macs are awake, on the same LAN, and cable-paired once" || exit 1 +for cycle in {1..$CYCLES}; do + for route in "$MAC_A→$MAC_B" "$MAC_B→$MAC_C" "$MAC_C→$MAC_A"; do + phrase="keybridge-$RUN_ID-cycle-$cycle-${route##*→}" + echo "Transfer $route, then type this exact phrase on the target: $phrase" + confirm handoff "Target received the exact phrase and source received no input ($route, cycle $cycle)" || exit 1 + confirm pairing-preserved "Keyboard remains paired on both Macs" || exit 1 + done +done +for scenario in "app restart" "sleep and wake" "Wi-Fi interruption" "Bluetooth off/on" "keyboard power-cycle"; do + echo "Exercise $scenario, then complete one A→B→C→A handoff." + confirm resilience "Transfer and typed input succeeded after $scenario" || exit 1 +done +echo "Force one target-connection failure after the source releases the keyboard." +confirm recovery "The app either restored typed input on the source or accurately displayed manual recovery; Bluetooth Connected alone was not accepted" || exit 1 +record session passed "All required observations passed" +echo "PASS: $LOG" diff --git a/Scripts/install.sh b/Scripts/install.sh new file mode 100755 index 0000000..b29bf38 --- /dev/null +++ b/Scripts/install.sh @@ -0,0 +1,11 @@ +#!/bin/zsh +set -euo pipefail + +ROOT="${0:A:h:h}" +APP_SOURCE="${APP_SOURCE:-$ROOT/dist/KeyboardSwitch.app}" +DESTINATION="${DESTINATION:-$HOME/Applications}" +[[ -d "$APP_SOURCE" ]] || "$ROOT/Scripts/build-app.sh" +mkdir -p "$DESTINATION" +rm -rf "$DESTINATION/KeyboardSwitch.app" +cp -R "$APP_SOURCE" "$DESTINATION/KeyboardSwitch.app" +echo "Installed $DESTINATION/KeyboardSwitch.app" diff --git a/Scripts/notarize.sh b/Scripts/notarize.sh new file mode 100755 index 0000000..14a6ae4 --- /dev/null +++ b/Scripts/notarize.sh @@ -0,0 +1,13 @@ +#!/bin/zsh +set -euo pipefail + +ROOT="${0:A:h:h}" +APP="${APP_SOURCE:-$ROOT/dist/KeyboardSwitch.app}" +PROFILE="${NOTARY_PROFILE:?Set NOTARY_PROFILE to a notarytool Keychain profile}" +ZIP="$ROOT/dist/KeyboardSwitch-notarization.zip" + +codesign --verify --deep --strict --verbose=2 "$APP" +ditto -c -k --keepParent "$APP" "$ZIP" +xcrun notarytool submit "$ZIP" --keychain-profile "$PROFILE" --wait +xcrun stapler staple "$APP" +xcrun stapler validate "$APP" diff --git a/Scripts/package-release.sh b/Scripts/package-release.sh new file mode 100755 index 0000000..f8aed00 --- /dev/null +++ b/Scripts/package-release.sh @@ -0,0 +1,13 @@ +#!/bin/zsh +set -euo pipefail +ROOT="${0:A:h:h}" +VERSION="${VERSION:-$(/usr/libexec/PlistBuddy -c 'Print :CFBundleShortVersionString' "$ROOT/Resources/Info.plist")}" +APP="${APP_SOURCE:-$ROOT/dist/KeyboardSwitch.app}" +ARCHIVE="$ROOT/dist/KeyboardSwitch-$VERSION-macos.zip" +[[ -d "$APP" ]] || "$ROOT/Scripts/build-app.sh" +APP_SOURCE="$APP" "$ROOT/Scripts/verify-bundle.sh" +rm -f "$ARCHIVE" "$ARCHIVE.sha256" +COPYFILE_DISABLE=1 ditto -c -k --norsrc --noextattr --noqtn --noacl --keepParent "$APP" "$ARCHIVE" +(cd "$ROOT/dist" && shasum -a 256 "${ARCHIVE:t}" > "${ARCHIVE:t}.sha256") +echo "$ARCHIVE" +echo "$ARCHIVE.sha256" diff --git a/Scripts/sign-app.sh b/Scripts/sign-app.sh new file mode 100755 index 0000000..9f0f5a3 --- /dev/null +++ b/Scripts/sign-app.sh @@ -0,0 +1,9 @@ +#!/bin/zsh +set -euo pipefail + +ROOT="${0:A:h:h}" +APP="${APP_SOURCE:-$ROOT/dist/KeyboardSwitch.app}" +IDENTITY="${CODE_SIGN_IDENTITY:--}" +[[ -d "$APP" ]] || { echo "App bundle not found: $APP" >&2; exit 1; } +codesign --force --options runtime --timestamp --entitlements "$ROOT/Resources/KeyboardSwitch.entitlements" --sign "$IDENTITY" "$APP" +codesign --verify --deep --strict --verbose=2 "$APP" diff --git a/Scripts/uninstall.sh b/Scripts/uninstall.sh new file mode 100755 index 0000000..e90cca1 --- /dev/null +++ b/Scripts/uninstall.sh @@ -0,0 +1,15 @@ +#!/bin/zsh +set -euo pipefail + +DESTINATION="${DESTINATION:-$HOME/Applications}" +rm -rf "$DESTINATION/KeyboardSwitch.app" +defaults delete dev.keyboardswitch.app 2>/dev/null || true +echo "Removed Keyboard Switch from $DESTINATION and its preferences" + +if [[ "${1:-}" == "--remove-keychain" ]]; then + security delete-generic-password -s app.keybridge.identity 2>/dev/null || true + security delete-generic-password -s app.keybridge.trusted-peers 2>/dev/null || true + echo "Removed Keybridge identity and trusted-peer Keychain items" +else + echo "Keychain identity and peer trust were preserved. Pass --remove-keychain to remove only Keybridge-owned items." +fi diff --git a/Scripts/verify-bundle.sh b/Scripts/verify-bundle.sh new file mode 100755 index 0000000..a79ad78 --- /dev/null +++ b/Scripts/verify-bundle.sh @@ -0,0 +1,11 @@ +#!/bin/zsh +set -euo pipefail +ROOT="${0:A:h:h}" +APP="${APP_SOURCE:-$ROOT/dist/KeyboardSwitch.app}" +PLIST="$APP/Contents/Info.plist" +[[ -x "$APP/Contents/MacOS/KeyboardSwitchApp" ]] || { echo "Missing app executable" >&2; exit 1; } +[[ -f "$APP/Contents/Resources/Keybridge.icns" ]] || { echo "Missing Keybridge.icns" >&2; exit 1; } +[[ "$(/usr/libexec/PlistBuddy -c 'Print :CFBundleIconFile' "$PLIST")" == "Keybridge" ]] || { echo "Icon is not declared" >&2; exit 1; } +[[ "$(/usr/libexec/PlistBuddy -c 'Print :LSMinimumSystemVersion' "$PLIST")" == "15.0" ]] || { echo "Unexpected deployment target" >&2; exit 1; } +codesign --verify --deep --strict "$APP" +echo "Verified bundle structure, icon, deployment target, and signature" diff --git a/Sources/KeyboardSwitchApp/AppConfiguration.swift b/Sources/KeyboardSwitchApp/AppConfiguration.swift new file mode 100644 index 0000000..fcc26f5 --- /dev/null +++ b/Sources/KeyboardSwitchApp/AppConfiguration.swift @@ -0,0 +1,75 @@ +import Foundation +import MagicSwitchNetworking + +struct AppConfiguration: Codable, Equatable { + var localMacName: String + var keyboardID: String? + var trustedPeerIDs: Set + var hasCompletedOnboarding: Bool + var guidedRoundTripConfirmed: Bool + + static var initial: Self { + .init(localMacName: Host.current().localizedName ?? "This Mac", keyboardID: nil, + trustedPeerIDs: [], hasCompletedOnboarding: false, + guidedRoundTripConfirmed: false) + } + + init(localMacName: String, keyboardID: String?, trustedPeerIDs: Set, + hasCompletedOnboarding: Bool, + guidedRoundTripConfirmed: Bool = false) { + self.localMacName = localMacName; self.keyboardID = keyboardID + self.trustedPeerIDs = trustedPeerIDs; self.hasCompletedOnboarding = hasCompletedOnboarding + self.guidedRoundTripConfirmed = guidedRoundTripConfirmed + } + + private enum CodingKeys: String, CodingKey { + case localMacName, keyboardID, trustedPeerIDs, hasCompletedOnboarding + case guidedRoundTripConfirmed + } + + init(from decoder: Decoder) throws { + let values = try decoder.container(keyedBy: CodingKeys.self) + localMacName = try values.decode(String.self, forKey: .localMacName) + keyboardID = try values.decodeIfPresent(String.self, forKey: .keyboardID) + trustedPeerIDs = try values.decodeIfPresent(Set.self, forKey: .trustedPeerIDs) ?? [] + hasCompletedOnboarding = try values.decodeIfPresent(Bool.self, forKey: .hasCompletedOnboarding) ?? false + guidedRoundTripConfirmed = try values.decodeIfPresent(Bool.self, forKey: .guidedRoundTripConfirmed) ?? false + } +} + +protocol AppConfigurationPersisting: Sendable { + func load() -> AppConfiguration + func save(_ value: AppConfiguration) +} + +final class UserDefaultsConfigurationStore: AppConfigurationPersisting, @unchecked Sendable { + private let defaults: UserDefaults + private let key: String + init(defaults: UserDefaults = .standard, key: String = "Keybridge.AppConfiguration.v1") { + self.defaults = defaults; self.key = key + } + func load() -> AppConfiguration { + guard let data = defaults.data(forKey: key), let value = try? JSONDecoder().decode(AppConfiguration.self, from: data) else { return .initial } + return value + } + func save(_ value: AppConfiguration) { + guard let data = try? JSONEncoder().encode(value) else { return } + defaults.set(data, forKey: key) + } +} + +struct InstallationIdentity: Sendable { let id: UUID } + +func loadInstallationIdentity() -> InstallationIdentity { + do { return InstallationIdentity(id: try KeychainIdentityStore(service: "app.keybridge.identity").loadOrCreateIdentity().id) } + catch { + // Preserve the local UI/configuration identity if Keychain is temporarily unavailable. + // Secure peer enrollment still requires the Keychain-backed cryptographic identity. + let key = "Keybridge.InstallationFallbackID" + if let value = UserDefaults.standard.string(forKey: key), let id = UUID(uuidString: value) { + return InstallationIdentity(id: id) + } + let id = UUID(); UserDefaults.standard.set(id.uuidString, forKey: key) + return InstallationIdentity(id: id) + } +} diff --git a/Sources/KeyboardSwitchApp/AppModel.swift b/Sources/KeyboardSwitchApp/AppModel.swift new file mode 100644 index 0000000..84cbbb1 --- /dev/null +++ b/Sources/KeyboardSwitchApp/AppModel.swift @@ -0,0 +1,352 @@ +import AppKit +import Foundation +import Observation +import KeyboardSwitchCore +import MagicSwitchNetworking + +struct PeerMac: Identifiable, Codable, Hashable { + enum Availability: String, Codable { case current, online, offline } + let id: UUID + var name: String + var availability: Availability + var isTrusted: Bool +} + +struct KeyboardDevice: Identifiable, Codable, Hashable { + let id: UUID + var name: String + var detail: String + var isPaired: Bool + var isConnected: Bool +} + +enum TransferStage: Equatable { + case idle + case contacting(String) + case releasing + case connecting(String) + case verifying + case recovering + case complete(String) + case failed(String) + + var title: String { + switch self { + case .idle: "Ready" + case .contacting(let name): "Contacting \(name)…" + case .releasing: "Releasing keyboard…" + case .connecting(let name): "Connecting to \(name)…" + case .verifying: "Verifying connection…" + case .recovering: "Restoring previous connection…" + case .complete(let name): "Connected to \(name)" + case .failed: "Transfer failed" + } + } + + var isBusy: Bool { + switch self { + case .contacting, .releasing, .connecting, .verifying, .recovering: true + default: false + } + } +} + +@MainActor +@Observable +final class AppModel { + var localMacName: String { didSet { persist(); scheduleDisplayNameUpdate() } } + var keyboard = KeyboardDevice(id: UUID(), name: "Magic Keyboard", detail: "No keyboard selected", isPaired: false, isConnected: false) + var availableKeyboards: [KeyboardDevice] = [] + var peers: [PeerMac] = [] + var ownerID: UUID? + var transferStage: TransferStage = .idle + var hasCompletedOnboarding = false { didSet { persist() } } + var launchAtLogin = LaunchAtLoginController.isEnabled + var showAdvancedDiagnostics = false + var diagnosticEvents: [String] = [] + var setupPairingCode = "" + var guidedRoundTripConfirmed = false { didSet { persist() } } + var guidedTargetTransferCompleted = false + var guidedReturnTransferCompleted = false + + private let runtime: any AppRuntime + private let configurationStore: any AppConfigurationPersisting + private let identity: InstallationIdentity + private var configuredKeyboardID: KeyboardID? + private var peerTask: Task? + private var ownerTask: Task? + private var transferTask: Task? + private var lastTransferTarget: PeerMac? + private var enrollmentOffers: [UUID: EnrollmentOffer] = [:] + private var enrollmentCodes: [UUID: String] = [:] + private var guidedTransferTargetID: UUID? + private var nameUpdateTask: Task? + + init(runtime: (any AppRuntime)? = nil, + configurationStore: any AppConfigurationPersisting = UserDefaultsConfigurationStore()) { + self.configurationStore = configurationStore + self.identity = loadInstallationIdentity() + let configuration = configurationStore.load() + self.runtime = runtime ?? ProductionAppRuntime(displayName: configuration.localMacName) + self.localMacName = configuration.localMacName + self.hasCompletedOnboarding = configuration.hasCompletedOnboarding + self.guidedRoundTripConfirmed = configuration.guidedRoundTripConfirmed + self.configuredKeyboardID = configuration.keyboardID.map(KeyboardID.init) + diagnosticEvents.append("App started") + Task { await start() } + } + + var localPeer: PeerMac { + PeerMac(id: localID, name: localMacName, availability: .current, isTrusted: true) + } + + private var localID: UUID { identity.id } + + var allMacs: [PeerMac] { [localPeer] + peers } + var onboardingReady: Bool { + configuredKeyboardID != nil && keyboard.isPaired && peers.contains(where: { $0.isTrusted }) && guidedRoundTripConfirmed + } + var currentOwner: PeerMac? { allMacs.first(where: { $0.id == ownerID }) } + + var menuBarTitle: String { transferStage.isBusy ? transferStage.title : "Keybridge" } + var menuBarSymbol: String { + if transferStage.isBusy { return "arrow.triangle.2.circlepath" } + return keyboard.isConnected ? "keyboard.fill" : "keyboard" + } + var accessibilityStatus: String { + if let owner = currentOwner { return "Keybridge, keyboard connected to \(owner.name)" } + return "Keybridge, keyboard not connected" + } + + func beginPairing() { + setupPairingCode = "" + Task { + do { + let candidates = try await runtime.refreshEnrollmentCandidates() + enrollmentOffers = Dictionary(uniqueKeysWithValues: candidates.map { ($0.offer.peer.id, $0.offer) }) + enrollmentCodes = Dictionary(uniqueKeysWithValues: candidates.map { ($0.offer.peer.id, $0.verificationCode) }) + for candidate in candidates where !peers.contains(where: { $0.id == candidate.offer.peer.id }) { + peers.append(.init(id: candidate.offer.peer.id, name: candidate.offer.peer.name, availability: .online, isTrusted: false)) + } + setupPairingCode = candidates.first?.verificationCode ?? "" + log(candidates.isEmpty ? "No untrusted Macs found" : "Enrollment offer received; compare the code on both Macs") + } catch { transferStage = .failed(error.localizedDescription); log("Peer enrollment failed: \(error.localizedDescription)") } + } + } + + func addPreviewPeer() { + log("Searching for nearby Macs"); beginPairing() + } + + func verificationCode(for peer: PeerMac) -> String? { enrollmentCodes[peer.id] } + + func trust(_ peer: PeerMac) { + guard let offer = enrollmentOffers[peer.id], let code = enrollmentCodes[peer.id] else { return } + Task { + do { + try await runtime.confirmEnrollment(remote: offer, displayedCode: code) + if let index = peers.firstIndex(where: { $0.id == peer.id }) { peers[index].isTrusted = true } + enrollmentOffers[peer.id] = nil; enrollmentCodes[peer.id] = nil; persist(); log("Trusted peer \(peer.name)") + } catch { transferStage = .failed(error.localizedDescription); log("Peer verification failed: \(error.localizedDescription)") } + } + } + + func cancelTransfer() { transferTask?.cancel(); transferTask = nil; transferStage = .idle; log("Transfer cancelled") } + + func forget(_ peer: PeerMac) { + Task { + do { + try await runtime.forgetPeer(id: peer.id) + peers.removeAll { $0.id == peer.id } + var configuration = configurationStore.load(); configuration.trustedPeerIDs.remove(peer.id); configurationStore.save(configuration) + log("Forgot peer \(peer.name)") + } catch { transferStage = .failed(error.localizedDescription); log("Could not forget peer: \(error.localizedDescription)") } + } + } + + func refreshKeyboards() async { + do { + let found = try await runtime.keyboards() + availableKeyboards = found.map { KeyboardDevice(id: stableUUID($0.id.rawValue), name: $0.name, detail: $0.id.rawValue, isPaired: $0.isPaired, isConnected: $0.isConnected) } + if let configuredKeyboardID, let found = found.first(where: { $0.id == configuredKeyboardID }) { apply(found) } + log("Found \(found.count) paired keyboard(s)") + } catch { transferStage = .failed(error.localizedDescription); log("Bluetooth inventory failed: \(error.localizedDescription)") } + } + + func selectKeyboard(_ device: KeyboardDevice) { + configuredKeyboardID = KeyboardID(device.detail) + keyboard = device + if device.isConnected { ownerID = localID } + persist(); log("Selected paired keyboard \(device.name)") + } + + func moveKeyboard(to peer: PeerMac) { + guard peer.availability != .offline else { transferStage = .failed("The target Mac is offline."); return } + guard peer.isTrusted else { transferStage = .failed("Verify the target Mac first."); return } + guard !transferStage.isBusy else { return } + guard let configuredKeyboardID else { transferStage = .failed(AppRuntimeError.keyboardNotSelected.localizedDescription); return } + guard let ownerID else { transferStage = .failed("The current keyboard owner is unknown."); return } + lastTransferTarget = peer + transferTask?.cancel() + transferTask = Task { + do { + try await runtime.transfer(keyboardID: configuredKeyboardID, source: PeerID(ownerID), target: PeerID(peer.id)) { [weak self] progress in + Task { @MainActor in self?.consume(progress, targetName: peer.name) } + } + self.ownerID = peer.id + self.keyboard.isConnected = peer.id == self.localID + if peer.id == self.guidedTransferTargetID { self.guidedTargetTransferCompleted = true } + if peer.id == self.localID && self.guidedTargetTransferCompleted { self.guidedReturnTransferCompleted = true } + self.transferStage = .complete(peer.name); self.log(self.transferStage.title); self.transferTask = nil + } catch { + if error is CancellationError { self.transferStage = .idle; self.log("Transfer cancelled") } + else { self.transferStage = .failed(error.localizedDescription); self.log("Transfer failed: \(error.localizedDescription)") } + self.transferTask = nil + } + } + } + + func reconnectLocally() { moveKeyboard(to: localPeer) } + func beginGuidedTransfer(to peer: PeerMac) { + guidedTransferTargetID = peer.id + guidedTargetTransferCompleted = false + guidedReturnTransferCompleted = false + moveKeyboard(to: peer) + } + func beginGuidedReturn() { + guard guidedTargetTransferCompleted else { return } + moveKeyboard(to: localPeer) + } + func retry() { + guard let lastTransferTarget else { transferStage = .idle; return } + transferTask = nil + transferStage = .idle + moveKeyboard(to: lastTransferTarget) + } + func confirmGuidedRoundTrip() { + guard guidedTargetTransferCompleted, guidedReturnTransferCompleted else { return } + guidedRoundTripConfirmed = true + log("User confirmed typed HID input on target and return path") + } + + func finishOnboarding() { + guard onboardingReady else { + transferStage = .failed("Select a paired keyboard, trust another Mac, and confirm the guided round trip first.") + return + } + hasCompletedOnboarding = true; log("Completed onboarding") + } + + func resetSetup() { + let peersToForget = peers + Task { + for peer in peersToForget { try? await runtime.forgetPeer(id: peer.id) } + peers.removeAll() + configuredKeyboardID = nil + keyboard = .init(id: UUID(), name: "Magic Keyboard", detail: "No keyboard selected", isPaired: false, isConnected: false) + ownerID = nil + guidedRoundTripConfirmed = false + hasCompletedOnboarding = false + configurationStore.save(.init(localMacName: localMacName, keyboardID: nil, + trustedPeerIDs: [], hasCompletedOnboarding: false, + guidedRoundTripConfirmed: false)) + log("Reset local setup and peer trust; Bluetooth pairing was preserved") + } + } + + func setLaunchAtLogin(_ enabled: Bool) { + do { try LaunchAtLoginController.setEnabled(enabled); launchAtLogin = enabled } + catch { launchAtLogin = LaunchAtLoginController.isEnabled; transferStage = .failed("Launch at login: \(error.localizedDescription)") } + } + + func diagnosticsText() -> String { + (["Keybridge diagnostics", "Mac: \(localMacName)", "Keyboard: \(keyboard.name)", "State: \(transferStage.title)", "Peers: \(peers.count)", ""] + diagnosticEvents).joined(separator: "\n") + } + + func copyDiagnostics() { + NSPasteboard.general.clearContents() + NSPasteboard.general.setString(diagnosticsText(), forType: .string) + } + + func exportDiagnostics() { + let panel = NSSavePanel() + panel.nameFieldStringValue = "keybridge-diagnostics.txt" + guard panel.runModal() == .OK, let url = panel.url else { return } + try? diagnosticsText().write(to: url, atomically: true, encoding: .utf8) + } + + private func log(_ event: String) { + diagnosticEvents.append("\(Date().formatted(date: .omitted, time: .standard)): \(event)") + if diagnosticEvents.count > 200 { diagnosticEvents.removeFirst() } + } + + private func start() async { + await refreshKeyboards() + let updates = await runtime.peerUpdates() + let ownerUpdates = await runtime.ownerUpdates() + await runtime.start() + peerTask = Task { [weak self] in + for await discovered in updates { + guard let self else { return } + let trusted = self.configurationStore.load().trustedPeerIDs + let enrolled = discovered.prefix(2).map { PeerMac(id: $0.id, name: $0.name, availability: $0.isOnline ? .online : .offline, isTrusted: trusted.contains($0.id)) } + let enrolledIDs = Set(enrolled.map(\.id)) + let candidates = self.peers.filter { self.enrollmentOffers[$0.id] != nil && !enrolledIDs.contains($0.id) } + self.peers = enrolled + candidates + } + } + ownerTask = Task { [weak self] in + for await owner in ownerUpdates { + guard let self else { return } + self.ownerID = owner + self.keyboard.isConnected = owner == self.localID + let ownerName = owner.flatMap { id in self.allMacs.first(where: { $0.id == id })?.name } + self.log(ownerName.map { "Keyboard owner is \($0)" } ?? "Keyboard owner unknown") + } + } + } + + private func consume(_ progress: SwitchProgress, targetName: String) { + transferStage = switch progress.stage { + case .idle: .idle + case .validating, .acquiringLease: .contacting(targetName) + case .releasing: .releasing + case .connecting: .connecting(targetName) + case .verifying: .verifying + case .recovering: .recovering + case .completed: .complete(targetName) + case .failed: .failed(progress.detail) + } + log(progress.detail) + } + + private func apply(_ device: BluetoothKeyboard) { + keyboard = KeyboardDevice(id: stableUUID(device.id.rawValue), name: device.name, detail: device.id.rawValue, isPaired: device.isPaired, isConnected: device.isConnected) + if device.isConnected { ownerID = localID } + } + + private func stableUUID(_ value: String) -> UUID { + var bytes = Array(value.utf8.prefix(16)); bytes += repeatElement(0, count: max(0, 16 - bytes.count)) + return UUID(uuid: (bytes[0], bytes[1], bytes[2], bytes[3], bytes[4], bytes[5], bytes[6], bytes[7], bytes[8], bytes[9], bytes[10], bytes[11], bytes[12], bytes[13], bytes[14], bytes[15])) + } + + private func persist() { + var trusted = configurationStore.load().trustedPeerIDs + for peer in peers where peer.isTrusted { trusted.insert(peer.id) } + configurationStore.save(.init(localMacName: localMacName, keyboardID: configuredKeyboardID?.rawValue, + trustedPeerIDs: trusted, hasCompletedOnboarding: hasCompletedOnboarding, + guidedRoundTripConfirmed: guidedRoundTripConfirmed)) + } + + private func scheduleDisplayNameUpdate() { + nameUpdateTask?.cancel() + let name = localMacName.trimmingCharacters(in: .whitespacesAndNewlines) + guard !name.isEmpty else { return } + nameUpdateTask = Task { [weak self] in + try? await Task.sleep(for: .milliseconds(400)) + guard !Task.isCancelled, let self else { return } + do { try await self.runtime.updateDisplayName(name); self.log("Updated advertised Mac name") } + catch { self.transferStage = .failed("Mac name update failed: \(error.localizedDescription)") } + } + } +} diff --git a/Sources/KeyboardSwitchApp/AppRuntime.swift b/Sources/KeyboardSwitchApp/AppRuntime.swift new file mode 100644 index 0000000..8ff623f --- /dev/null +++ b/Sources/KeyboardSwitchApp/AppRuntime.swift @@ -0,0 +1,434 @@ +import Foundation +import KeyboardSwitchBluetooth +import KeyboardSwitchCore +import MagicSwitchNetworking + +struct RuntimePeer: Sendable, Equatable { + let id: UUID + let name: String + let isOnline: Bool +} + +struct RuntimeEnrollmentCandidate: Sendable, Equatable { + let offer: EnrollmentOffer + let verificationCode: String +} + +enum AppRuntimeError: LocalizedError, Equatable { + case serviceUnavailable(String) + case keyboardNotSelected + case peerNotTrusted + case requestTimedOut + case commandRejected(String) + + var errorDescription: String? { + switch self { + case .serviceUnavailable(let detail): "Secure peer service is unavailable: \(detail)" + case .keyboardNotSelected: "Select a paired Magic Keyboard first." + case .peerNotTrusted: "The Mac is not trusted or is offline." + case .requestTimedOut: "The other Mac did not respond in time." + case .commandRejected(let detail): detail + } + } +} + +protocol AppRuntime: Sendable { + func keyboards() async throws -> [BluetoothKeyboard] + func peerUpdates() async -> AsyncStream<[RuntimePeer]> + func ownerUpdates() async -> AsyncStream + func start() async + func stop() async + func transfer(keyboardID: KeyboardID, source: PeerID, target: PeerID, + progress: @escaping @Sendable (SwitchProgress) -> Void) async throws + func localEnrollmentOffer() async throws -> EnrollmentOffer + func enrollmentCode(remote: EnrollmentOffer) async throws -> String + func confirmEnrollment(remote: EnrollmentOffer, displayedCode: String) async throws + func forgetPeer(id: UUID) async throws + func refreshEnrollmentCandidates() async throws -> [RuntimeEnrollmentCandidate] + func updateDisplayName(_ name: String) async throws +} + +extension AppRuntime { + func ownerUpdates() async -> AsyncStream { AsyncStream { $0.finish() } } + func localEnrollmentOffer() async throws -> EnrollmentOffer { throw AppRuntimeError.serviceUnavailable("Enrollment is unsupported") } + func enrollmentCode(remote: EnrollmentOffer) async throws -> String { throw AppRuntimeError.serviceUnavailable("Enrollment is unsupported") } + func confirmEnrollment(remote: EnrollmentOffer, displayedCode: String) async throws { throw AppRuntimeError.serviceUnavailable("Enrollment is unsupported") } + func forgetPeer(id: UUID) async throws { throw AppRuntimeError.serviceUnavailable("Enrollment is unsupported") } + func refreshEnrollmentCandidates() async throws -> [RuntimeEnrollmentCandidate] { throw AppRuntimeError.serviceUnavailable("Enrollment is unsupported") } + func updateDisplayName(_ name: String) async throws {} +} + +/// Production composition root. All remote packets are authenticated by `PeerService`; Bluetooth +/// commands additionally require the sender to hold the current fenced transaction lease. +actor ProductionAppRuntime: AppRuntime { + private enum Reply { case command(Bool, Bool?, String?), lease(Bool, UInt64) } + + private let bluetooth: any BluetoothAdapter + private let identity: PeerIdentity + private let service: PeerService + private var continuation: AsyncStream<[RuntimePeer]>.Continuation? + private var updates: AsyncStream<[RuntimePeer]>? + private var ownerContinuation: AsyncStream.Continuation? + private var ownerStream: AsyncStream? + private var knownOwner: UUID? + private var ownership: OwnershipState + private var knownKeyboardID: KeyboardID? + private var messageTask: Task? + private var discoveryTask: Task? + private var replies: [UUID: Reply] = [:] + private var replyCorrelator = ReplyCorrelator() + private var leaseAuthority = LeaseAuthority() + private var localOffer: EnrollmentOffer? + private var started = false + private var startupFailure: String? + private let identityLoadFailure: String? + + init(bluetooth: any BluetoothAdapter = MacOSBluetoothAdapter(), + identityStore: any IdentityPersisting = KeychainIdentityStore(service: "app.keybridge.identity"), + displayName: String = Host.current().localizedName ?? "This Mac", + trustStore: KeychainTrustStore = .init(service: "app.keybridge.trusted-peers"), + ownershipStore: any OwnershipEpochPersisting = UserDefaultsOwnershipEpochStore()) { + self.bluetooth = bluetooth + self.ownership = OwnershipState(store: ownershipStore) + self.knownOwner = self.ownership.ownerID + do { + self.identity = try identityStore.loadOrCreateIdentity() + self.identityLoadFailure = nil + } catch { + // Keep initialization non-throwing for SwiftUI composition, but never start networking + // with an identity that was not durably loaded from the configured secure store. + self.identity = PeerIdentity() + self.identityLoadFailure = error.localizedDescription + } + self.service = PeerService(identity: self.identity, displayName: displayName, trustStore: trustStore) + } + + func keyboards() async throws -> [BluetoothKeyboard] { + let devices = try await bluetooth.keyboards() + if devices.count == 1 { knownKeyboardID = devices[0].id } + if devices.contains(where: \.isConnected) { + knownOwner = identity.id; ownership.restorePersistedOwner(identity.id); ownerContinuation?.yield(identity.id) + } + return devices + } + + func peerUpdates() -> AsyncStream<[RuntimePeer]> { + if let updates { return updates } + let stream = AsyncStream<[RuntimePeer]> { continuation = $0 } + updates = stream + return stream + } + + func ownerUpdates() -> AsyncStream { + if let ownerStream { return ownerStream } + let stream = AsyncStream { ownerContinuation = $0 } + ownerStream = stream + if let knownOwner { ownerContinuation?.yield(knownOwner) } + return stream + } + + func start() async { + guard !started else { return } + guard identityLoadFailure == nil else { continuation?.yield([]); return } + startupFailure = nil + do { try await service.start(); started = true } + catch { startupFailure = error.localizedDescription; continuation?.yield([]); return } + messageTask = Task { [weak self, service] in + for await received in service.messages { await self?.handle(received) } + } + discoveryTask = Task { [weak self] in + while !Task.isCancelled { + await self?.publishPeers() + await self?.broadcastOwnerStatus(requireLocalOwnership: true) + try? await Task.sleep(for: .seconds(1)) + } + } + } + + func stop() async { + messageTask?.cancel(); discoveryTask?.cancel() + messageTask = nil; discoveryTask = nil; started = false; startupFailure = nil + await service.stop() + } + + func localEnrollmentOffer() async throws -> EnrollmentOffer { + if let identityLoadFailure { throw AppRuntimeError.serviceUnavailable("secure identity unavailable: \(identityLoadFailure)") } + if let localOffer { return localOffer } + let offer = await service.localEnrollmentOffer(); localOffer = offer; return offer + } + + func enrollmentCode(remote: EnrollmentOffer) async throws -> String { + Enrollment.verificationCode(local: try await localEnrollmentOffer(), remote: remote) + } + + func confirmEnrollment(remote: EnrollmentOffer, displayedCode: String) async throws { + let local = try await localEnrollmentOffer() + try await service.confirmEnrollment(local: local, remote: remote, displayedCode: displayedCode) + localOffer = nil + await publishPeers() + } + + func forgetPeer(id: UUID) async throws { try await service.forgetPeer(id: id); await publishPeers() } + + func updateDisplayName(_ name: String) async throws { + try await service.updateDisplayName(name) + localOffer = nil + } + + func refreshEnrollmentCandidates() async throws -> [RuntimeEnrollmentCandidate] { + if let startupFailure { throw AppRuntimeError.serviceUnavailable("startup failed: \(startupFailure)") } + guard started else { throw AppRuntimeError.serviceUnavailable("not started") } + await service.refreshEnrollmentOffers() + let local = try await localEnrollmentOffer() + return await service.discoveredEnrollmentOffers().map { + RuntimeEnrollmentCandidate(offer: $0, verificationCode: Enrollment.verificationCode(local: local, remote: $0)) + } + } + + func transfer(keyboardID: KeyboardID, source: PeerID, target: PeerID, + progress: @escaping @Sendable (SwitchProgress) -> Void) async throws { + guard source != target else { throw KeyboardSwitchCore.SwitchFailure.samePeer } + if let identityLoadFailure { throw AppRuntimeError.serviceUnavailable("secure identity unavailable: \(identityLoadFailure)") } + if let startupFailure { throw AppRuntimeError.serviceUnavailable("startup failed: \(startupFailure)") } + guard started else { throw AppRuntimeError.serviceUnavailable("not started") } + let transactionID = UUID() + knownKeyboardID = keyboardID + let wallClock = UInt64(Date().timeIntervalSince1970 * 1_000_000) + let fence = ownership.nextEpoch(wallClock: wallClock) + let expiry = Date().addingTimeInterval(30) + let trustedPeerIDs = try await service.trustedPeers().map(\.id) + let onlinePeerIDs = try await service.trustedOnlinePeers().map(\.id) + guard onlinePeerIDs.contains(source.rawValue) || source.rawValue == identity.id else { throw KeyboardSwitchCore.SwitchFailure.sourceUnreachable } + guard onlinePeerIDs.contains(target.rawValue) || target.rawValue == identity.id else { throw KeyboardSwitchCore.SwitchFailure.targetUnreachable } + + progress(.init(transactionID: transactionID, stage: .acquiringLease, detail: "Reserving keyboard transfer")) + // Every online member votes, so a third Mac fences concurrent A→B and C→A claims. + // Membership is the fixed configured trust set, not the currently visible subset. A + // partitioned member must make the claim fail rather than permit split-brain ownership. + let voters = Self.requiredVoters(trustedPeerIDs: trustedPeerIDs, localID: identity.id) + var acquired: [UUID] = [] + var sourceReleased = false + do { + for peer in voters.sorted(by: { $0.uuidString < $1.uuidString }) { + let accepted = try await claimLease(on: peer, transactionID: transactionID, expiry: expiry, fence: fence) + guard accepted else { throw KeyboardSwitchCore.SwitchFailure.leaseUnavailable } + acquired.append(peer) + } + try await renew(acquired, transactionID: transactionID, fence: fence) + progress(.init(transactionID: transactionID, stage: .releasing, detail: "Releasing keyboard from source")) + try await retryCommand(.disconnect, keyboardID, on: source.rawValue, transactionID: transactionID, fence: fence) + guard try await status(keyboardID, on: source.rawValue, transactionID: transactionID, fence: fence) == false else { + throw KeyboardSwitchCore.SwitchFailure.sourceReleaseFailed + } + sourceReleased = true + try await renew(acquired, transactionID: transactionID, fence: fence) + progress(.init(transactionID: transactionID, stage: .connecting, detail: "Connecting keyboard to target")) + do { + try await retryCommand(.connect, keyboardID, on: target.rawValue, transactionID: transactionID, fence: fence) + progress(.init(transactionID: transactionID, stage: .verifying, detail: "Verifying keyboard connection")) + guard try await status(keyboardID, on: target.rawValue, transactionID: transactionID, fence: fence) else { + throw KeyboardSwitchCore.SwitchFailure.targetConnectionFailed(recoveredSource: false) + } + } catch { + progress(.init(transactionID: transactionID, stage: .recovering, detail: "Restoring keyboard to source")) + let recovered: Bool + do { + try await renew(acquired, transactionID: transactionID, fence: fence) + try await retryCommand(.connect, keyboardID, on: source.rawValue, transactionID: transactionID, fence: fence) + recovered = try await status(keyboardID, on: source.rawValue, transactionID: transactionID, fence: fence) + } catch { recovered = false } + knownOwner = recovered ? source.rawValue : nil + ownership.commitLocal(ownerID: knownOwner, epoch: fence) + ownerContinuation?.yield(knownOwner) + await broadcastOwnerStatus() + if recovered { sourceReleased = false } + if error is CancellationError { throw CancellationError() } + throw KeyboardSwitchCore.SwitchFailure.targetConnectionFailed(recoveredSource: recovered) + } + progress(.init(transactionID: transactionID, stage: .completed, detail: "Keyboard moved")) + knownOwner = target.rawValue; ownership.commitLocal(ownerID: target.rawValue, epoch: fence); ownerContinuation?.yield(target.rawValue) + for peer in trustedPeerIDs where peer != identity.id { + try? await service.send(.switchCompleted(transactionID: transactionID, ownerID: target.rawValue, epoch: fence), to: peer) + } + } catch { + // Once the source has released the physical device, no later failure (including + // cancellation or a failed renewal) may simply abandon it. Attempt restoration while + // still fenced; if the lease cannot be renewed, report unknown ownership rather than + // issuing an unfenced Bluetooth command. + if sourceReleased { + progress(.init(transactionID: transactionID, stage: .recovering, detail: "Restoring keyboard to source")) + let recovered: Bool + do { + try await renew(acquired, transactionID: transactionID, fence: fence) + try await retryCommand(.connect, keyboardID, on: source.rawValue, transactionID: transactionID, fence: fence) + recovered = try await status(keyboardID, on: source.rawValue, transactionID: transactionID, fence: fence) + } catch { recovered = false } + knownOwner = recovered ? source.rawValue : nil + ownership.commitLocal(ownerID: knownOwner, epoch: fence) + ownerContinuation?.yield(knownOwner) + await broadcastOwnerStatus() + } + for peer in trustedPeerIDs where peer != identity.id { + try? await service.send(.switchCancelled(transactionID: transactionID), to: peer, timeout: .seconds(2)) + } + progress(.init(transactionID: transactionID, stage: .failed, detail: error.localizedDescription)) + await release(acquired, transactionID: transactionID, fence: fence) + throw error + } + await release(acquired, transactionID: transactionID, fence: fence) + } + + /// Renews the same fenced transaction on every voter. A partial renewal is treated as lease + /// loss; callers must not issue another Bluetooth operation under a subset lease. + private func renew(_ peers: [UUID], transactionID: UUID, fence: UInt64) async throws { + let expiry = Date().addingTimeInterval(30) + for peer in peers { + guard try await claimLease(on: peer, transactionID: transactionID, expiry: expiry, fence: fence) else { + throw KeyboardSwitchCore.SwitchFailure.leaseUnavailable + } + } + } + + private func claimLease(on peer: UUID, transactionID: UUID, expiry: Date, fence: UInt64) async throws -> Bool { + if peer == identity.id { return acceptLease(claimantID: identity.id, transactionID: transactionID, expiry: expiry, fence: fence) } + let requestID = UUID() + replyCorrelator.expect(requestID: requestID, peerID: peer, transactionID: transactionID, fence: fence) + defer { replyCorrelator.remove(requestID: requestID); replies[requestID] = nil } + try await service.send(.leaseClaim(requestID: requestID, transactionID: transactionID, expiresAt: expiry, fence: fence), to: peer) + guard case .lease(let accepted, let returnedFence) = try await waitForReply(requestID), returnedFence == fence else { return false } + return accepted + } + + private func release(_ peers: [UUID], transactionID: UUID, fence: UInt64) async { + for peer in peers { + if peer == identity.id { _ = leaseAuthority.release(claimantID: identity.id, transactionID: transactionID, fence: fence) } + else { try? await service.send(.leaseRelease(transactionID: transactionID, fence: fence), to: peer) } + } + } + + private func command(_ command: KeyboardCommand, _ keyboard: KeyboardID, on peer: UUID, transactionID: UUID, fence: UInt64) async throws { + if peer == identity.id { + guard ownsValidLocalLease(transactionID: transactionID, fence: fence) else { throw KeyboardSwitchCore.SwitchFailure.leaseUnavailable } + try await execute(command, keyboard: keyboard); return + } + let requestID = UUID() + replyCorrelator.expect(requestID: requestID, peerID: peer, transactionID: transactionID, fence: fence) + defer { replyCorrelator.remove(requestID: requestID); replies[requestID] = nil } + try await service.send(.keyboardCommand(requestID: requestID, transactionID: transactionID, fence: fence, command: command, deviceID: keyboard.rawValue), to: peer) + guard case .command(let succeeded, _, let detail) = try await waitForReply(requestID), succeeded else { + throw AppRuntimeError.commandRejected("Remote Bluetooth command failed") + } + _ = detail + } + + private func retryCommand(_ command: KeyboardCommand, _ keyboard: KeyboardID, on peer: UUID, transactionID: UUID, fence: UInt64) async throws { + var delay = Duration.milliseconds(250) + var lastError: (any Error)? + for attempt in 1...3 { + do { try await self.command(command, keyboard, on: peer, transactionID: transactionID, fence: fence); return } + catch { lastError = error } + if attempt < 3 { try await Task.sleep(for: delay); delay *= 2 } + } + throw lastError ?? AppRuntimeError.commandRejected("Bluetooth command failed") + } + + private func status(_ keyboard: KeyboardID, on peer: UUID, transactionID: UUID, fence: UInt64) async throws -> Bool { + if peer == identity.id { + guard ownsValidLocalLease(transactionID: transactionID, fence: fence) else { throw KeyboardSwitchCore.SwitchFailure.leaseUnavailable } + return try await bluetooth.keyboard(id: keyboard).isConnected + } + let requestID = UUID() + replyCorrelator.expect(requestID: requestID, peerID: peer, transactionID: transactionID, fence: fence) + defer { replyCorrelator.remove(requestID: requestID); replies[requestID] = nil } + try await service.send(.keyboardCommand(requestID: requestID, transactionID: transactionID, fence: fence, command: .status, deviceID: keyboard.rawValue), to: peer) + let reply = try await waitForReply(requestID) + guard case .command(let succeeded, let connected, let detail) = reply else { throw AppRuntimeError.commandRejected("Invalid remote status response") } + guard succeeded, let connected else { throw AppRuntimeError.commandRejected(detail ?? "Remote status failed") } + return connected + } + + private func waitForReply(_ id: UUID) async throws -> Reply { + // Bound each request well below the lease period so retries and recovery retain time to + // renew rather than predictably crossing a 30-second lease. + for _ in 0..<30 { + if let reply = replies.removeValue(forKey: id) { return reply } + try await Task.sleep(for: .milliseconds(100)) + } + throw AppRuntimeError.requestTimedOut + } + + private func handle(_ received: ReceivedPeerMessage) async { + switch received.message { + case .leaseClaim(let requestID, let transactionID, let expiresAt, let fence): + let accepted = acceptLease(claimantID: received.peer.id, transactionID: transactionID, expiry: expiresAt, fence: fence) + try? await service.send(.leaseDecision(requestID: requestID, transactionID: transactionID, accepted: accepted, fence: fence), to: received.peer.id) + case .leaseDecision(let requestID, let transactionID, let accepted, let fence): + if replyCorrelator.accepts(requestID: requestID, peerID: received.peer.id, transactionID: transactionID, fence: fence) { replies[requestID] = .lease(accepted, fence) } + case .leaseRelease(let transactionID, let fence): + _ = leaseAuthority.release(claimantID: received.peer.id, transactionID: transactionID, fence: fence) + case .switchCancelled(let transactionID): + _ = leaseAuthority.cancel(claimantID: received.peer.id, transactionID: transactionID) + case .keyboardCommand(let requestID, let transactionID, let fence, let command, let deviceID): + guard leaseAuthority.authorizes(claimantID: received.peer.id, transactionID: transactionID, fence: fence) else { + try? await service.send(.keyboardCommandResult(requestID: requestID, transactionID: transactionID, fence: fence, succeeded: false, connected: nil, detail: "No valid transfer lease"), to: received.peer.id); return + } + do { + let keyboard = KeyboardID(deviceID); try await execute(command, keyboard: keyboard) + let connected = try await bluetooth.keyboard(id: keyboard).isConnected + try await service.send(.keyboardCommandResult(requestID: requestID, transactionID: transactionID, fence: fence, succeeded: true, connected: connected, detail: nil), to: received.peer.id) + } catch { + try? await service.send(.keyboardCommandResult(requestID: requestID, transactionID: transactionID, fence: fence, succeeded: false, connected: nil, detail: error.localizedDescription), to: received.peer.id) + } + case .keyboardCommandResult(let requestID, let transactionID, let fence, let succeeded, let connected, let detail): + if replyCorrelator.accepts(requestID: requestID, peerID: received.peer.id, transactionID: transactionID, fence: fence) { replies[requestID] = .command(succeeded, connected, detail) } + case .switchCompleted(_, let ownerID, let epoch): applyRemoteOwner(ownerID, epoch: epoch) + case .keyboardStatus(_, _, let ownerID, let epoch, _): applyRemoteOwner(ownerID, epoch: epoch) + default: break + } + } + + private func execute(_ command: KeyboardCommand, keyboard: KeyboardID) async throws { + switch command { case .connect: try await bluetooth.connect(id: keyboard); case .disconnect: try await bluetooth.disconnect(id: keyboard); case .status: _ = try await bluetooth.keyboard(id: keyboard) } + } + + private func acceptLease(claimantID: UUID, transactionID: UUID, expiry: Date, fence: UInt64) -> Bool { + leaseAuthority.accept(claimantID: claimantID, transactionID: transactionID, expiry: expiry, fence: fence) + } + + private func ownsValidLocalLease(transactionID: UUID, fence: UInt64, now: Date = .now) -> Bool { + leaseAuthority.authorizes(claimantID: identity.id, transactionID: transactionID, fence: fence, now: now) + } + + static func isAcceptableLeaseExpiry(_ expiry: Date, now: Date = .now) -> Bool { + var authority = LeaseAuthority() + return authority.accept(claimantID: UUID(), transactionID: UUID(), expiry: expiry, fence: 0, now: now) + } + + static func requiredVoters(trustedPeerIDs: [UUID], localID: UUID) -> Set { + Set(trustedPeerIDs).union([localID]) + } + + private func publishPeers() async { + let trusted = (try? await service.trustedPeers()) ?? [] + let online = Set(((try? await service.trustedOnlinePeers()) ?? []).map(\.id)) + continuation?.yield(trusted.map { RuntimePeer(id: $0.id, name: $0.name, isOnline: online.contains($0.id)) }) + } + + private func applyRemoteOwner(_ ownerID: UUID?, epoch: UInt64) { + guard ownership.apply(ownerID: ownerID, epoch: epoch) else { return } + knownOwner = ownerID; ownerContinuation?.yield(ownerID) + } + + private func broadcastOwnerStatus(requireLocalOwnership: Bool = false) async { + guard let knownKeyboardID else { return } + // Periodic reports are authoritative only from the Mac physically believed to own the + // keyboard. This prevents a rejoining non-owner from replaying stale ownership forever. + if requireLocalOwnership, knownOwner != identity.id { return } + let peers = (try? await service.trustedOnlinePeers()) ?? [] + for peer in peers { + try? await service.send(.keyboardStatus(deviceID: knownKeyboardID.rawValue, connected: knownOwner != nil, + ownerID: knownOwner, epoch: ownership.epoch, + transactionID: nil), to: peer.id, timeout: .seconds(2)) + } + } +} diff --git a/Sources/KeyboardSwitchApp/KeyboardSwitchApp.swift b/Sources/KeyboardSwitchApp/KeyboardSwitchApp.swift new file mode 100644 index 0000000..1d443b8 --- /dev/null +++ b/Sources/KeyboardSwitchApp/KeyboardSwitchApp.swift @@ -0,0 +1,31 @@ +import SwiftUI + +@main +struct KeyboardSwitchApp: App { + @State private var model = AppModel() + + var body: some Scene { + MenuBarExtra { + MenuPopoverView() + .environment(model) + } label: { + Label(model.menuBarTitle, systemImage: model.menuBarSymbol) + .accessibilityLabel(model.accessibilityStatus) + } + .menuBarExtraStyle(.window) + + Settings { + SettingsView() + .environment(model) + .frame(minWidth: 620, minHeight: 520) + } + + Window("Welcome to Keybridge", id: "onboarding") { + OnboardingView() + .environment(model) + .frame(minWidth: 680, minHeight: 570) + } + .windowResizability(.contentSize) + .defaultLaunchBehavior(model.hasCompletedOnboarding ? .suppressed : .presented) + } +} diff --git a/Sources/KeyboardSwitchApp/MenuPopoverView.swift b/Sources/KeyboardSwitchApp/MenuPopoverView.swift new file mode 100644 index 0000000..2a9680b --- /dev/null +++ b/Sources/KeyboardSwitchApp/MenuPopoverView.swift @@ -0,0 +1,128 @@ +import AppKit +import SwiftUI + +struct MenuPopoverView: View { + @Environment(AppModel.self) private var model + @Environment(\.openSettings) private var openSettings + @Environment(\.accessibilityReduceMotion) private var reduceMotion + + var body: some View { + VStack(spacing: 0) { + header + Divider() + keyboardCard + Divider().padding(.horizontal, 16) + macList + Divider() + footer + } + .frame(width: 360) + .background(Color(nsColor: .windowBackgroundColor)) + .animation(reduceMotion ? nil : .snappy, value: model.transferStage) + } + + private var header: some View { + HStack(spacing: 10) { + ZStack { + RoundedRectangle(cornerRadius: 10).fill(Color.accentColor.gradient) + Image(systemName: "keyboard.badge.ellipsis").foregroundStyle(.white).font(.title3) + }.frame(width: 38, height: 38) + VStack(alignment: .leading, spacing: 2) { + Text("Keybridge").font(.headline) + Text(model.transferStage.title).font(.caption).foregroundStyle(.secondary) + .accessibilityLabel("Transfer status: \(model.transferStage.title)") + } + Spacer() + if model.transferStage.isBusy { ProgressView().controlSize(.small) } + }.padding(16) + } + + private var keyboardCard: some View { + HStack(spacing: 12) { + Image(systemName: model.keyboard.isConnected ? "keyboard.fill" : "keyboard") + .font(.title2).foregroundStyle(model.keyboard.isPaired ? Color.accentColor : .secondary) + .frame(width: 34) + VStack(alignment: .leading, spacing: 2) { + Text(model.keyboard.name).fontWeight(.medium) + Text(ownerText).font(.caption).foregroundStyle(.secondary) + } + Spacer() + Circle().fill(model.currentOwner == nil ? .gray : .green).frame(width: 8, height: 8) + .accessibilityLabel(model.currentOwner == nil ? "Disconnected" : "Connected") + }.padding(16) + } + + private var ownerText: String { + if let owner = model.currentOwner { return "Connected to \(owner.name)" } + return model.keyboard.isPaired ? "Not connected" : "Setup required" + } + + private var macList: some View { + VStack(alignment: .leading, spacing: 8) { + Text("MOVE KEYBOARD TO").font(.caption2.weight(.semibold)).foregroundStyle(.secondary) + ForEach(model.allMacs) { peer in + MacDestinationRow(peer: peer) + } + if model.peers.isEmpty { + Text("Add another Mac in Settings to start switching.") + .font(.caption).foregroundStyle(.secondary).padding(.vertical, 6) + } + if case .failed(let reason) = model.transferStage { + Label(reason, systemImage: "exclamationmark.triangle.fill") + .font(.caption).foregroundStyle(.orange) + HStack { Button("Retry") { model.retry() }; Button("Reconnect here") { model.reconnectLocally() } } + } + if model.transferStage.isBusy { + Button("Cancel Transfer", role: .cancel) { model.cancelTransfer() } + .accessibilityHint("Stops the transfer and may attempt to restore the previous Mac") + } + }.padding(16) + } + + private var footer: some View { + HStack { + Button { openSettings() } label: { Label("Settings", systemImage: "gearshape") } + .buttonStyle(.plain) + Spacer() + Menu { + Button("Copy Diagnostics") { model.copyDiagnostics() } + Button("Export Diagnostics…") { model.exportDiagnostics() } + Divider() + Button("Quit Keybridge") { NSApplication.shared.terminate(nil) } + } label: { Image(systemName: "ellipsis.circle") } + .menuStyle(.borderlessButton).fixedSize() + .accessibilityLabel("More actions") + }.padding(12) + } +} + +private struct MacDestinationRow: View { + @Environment(AppModel.self) private var model + let peer: PeerMac + + var body: some View { + Button { model.moveKeyboard(to: peer) } label: { + HStack(spacing: 10) { + Image(systemName: peer.availability == .offline ? "desktopcomputer.trianglebadge.exclamationmark" : "desktopcomputer") + .foregroundStyle(peer.availability == .offline ? .secondary : Color.accentColor) + VStack(alignment: .leading, spacing: 1) { + Text(peer.name) + Text(status).font(.caption).foregroundStyle(.secondary) + } + Spacer() + if model.ownerID == peer.id { Image(systemName: "checkmark.circle.fill").foregroundStyle(.green) } + else { Image(systemName: "arrow.right.circle").foregroundStyle(.tertiary) } + }.contentShape(Rectangle()) + } + .buttonStyle(.plain) + .disabled(peer.availability == .offline || !peer.isTrusted || model.ownerID == peer.id || model.transferStage.isBusy) + .accessibilityLabel("Move keyboard to \(peer.name), \(status)") + .padding(.vertical, 5) + } + + private var status: String { + if model.ownerID == peer.id { return "Current owner" } + if !peer.isTrusted { return "Verification required" } + return peer.availability == .offline ? "Offline" : "Available" + } +} diff --git a/Sources/KeyboardSwitchApp/OnboardingView.swift b/Sources/KeyboardSwitchApp/OnboardingView.swift new file mode 100644 index 0000000..d29763a --- /dev/null +++ b/Sources/KeyboardSwitchApp/OnboardingView.swift @@ -0,0 +1,124 @@ +import SwiftUI + +struct OnboardingView: View { + @Environment(AppModel.self) private var model + @Environment(\.dismissWindow) private var dismissWindow + @State private var step = 0 + @State private var targetPhraseConfirmed = false + @State private var returnPhraseConfirmed = false + + var body: some View { + VStack(spacing: 0) { + HStack(spacing: 6) { + ForEach(0..<5) { index in Capsule().fill(index <= step ? Color.accentColor : Color.secondary.opacity(0.2)).frame(height: 4) } + }.padding([.top, .horizontal], 24) + TabView(selection: $step) { + welcome.tag(0); nameMac.tag(1); pairKeyboard.tag(2); addPeers.tag(3); roundTrip.tag(4) + }.tabViewStyle(.automatic) + Divider() + HStack { + if step > 0 { Button("Back") { step -= 1 } } + Spacer() + Button(step == 4 ? "Finish" : "Continue") { + if step == 4 { + model.confirmGuidedRoundTrip(); model.finishOnboarding() + if model.hasCompletedOnboarding { dismissWindow(id: "onboarding") } + } else { step += 1 } + } + .disabled(step == 2 && !model.keyboard.isPaired || step == 3 && !model.peers.contains(where: { $0.isTrusted }) || step == 4 && !(targetPhraseConfirmed && returnPhraseConfirmed)) + .keyboardShortcut(.defaultAction) + }.padding(20) + } + .accessibilityElement(children: .contain) + } + + private var welcome: some View { + SetupPage(symbol: "keyboard.badge.ellipsis", title: "Your keyboard, wherever you work", detail: "Keybridge helps your paired Magic Keyboard move between trusted Macs on your local network.") { + VStack(alignment: .leading, spacing: 12) { + SetupFeature(symbol: "lock.shield", title: "Private by design", detail: "No account, cloud, analytics, or keystroke capture.") + SetupFeature(symbol: "cable.connector", title: "Pair once by cable", detail: "Connect the keyboard to every Mac with USB-C during setup.") + SetupFeature(symbol: "wifi", title: "Switch locally", detail: "Macs coordinate over your local network.") + } + } + } + + private var nameMac: some View { + SetupPage(symbol: "desktopcomputer", title: "Name this Mac", detail: "Choose a name that will be easy to recognize from your other Macs.") { + @Bindable var model = model + TextField("Mac name", text: $model.localMacName).textFieldStyle(.roundedBorder).frame(maxWidth: 340) + } + } + + private var pairKeyboard: some View { + SetupPage(symbol: "cable.connector", title: "Connect your Magic Keyboard", detail: "Plug the keyboard into this Mac with USB-C, switch it on, then verify it appears as paired.") { + VStack(spacing: 12) { + Label(model.keyboard.isPaired ? "Magic Keyboard is ready" : "Waiting for a paired keyboard", systemImage: model.keyboard.isPaired ? "checkmark.circle.fill" : "circle.dotted") + .foregroundStyle(model.keyboard.isPaired ? .green : .secondary) + Button("Check for Keyboard") { Task { await model.refreshKeyboards() } } + ForEach(model.availableKeyboards) { device in + Button("Use \(device.name)") { model.selectKeyboard(device) } + } + } + } + } + + private var addPeers: some View { + SetupPage(symbol: "macbook.and.iphone", title: "Add your other Macs", detail: "Open Keybridge on another Mac connected to the same network, then verify the code shown on both screens.") { + VStack(spacing: 12) { + Button("Find Nearby Macs") { model.beginPairing() } + ForEach(model.peers.filter { !$0.isTrusted }) { peer in + if let code = model.verificationCode(for: peer) { + HStack { + VStack(alignment: .leading) { + Text(peer.name).fontWeight(.semibold) + Text(code).font(.system(size: 24, weight: .semibold, design: .monospaced)).textSelection(.enabled) + } + Spacer() + Button("Codes Match") { model.trust(peer) } + } + } + } + } + } + } + + private var roundTrip: some View { + SetupPage(symbol: "arrow.triangle.2.circlepath", title: "Prove the full round trip", detail: "A Bluetooth Connected status is not proof that typing works. Move the keyboard to a trusted Mac and back, then confirm real input on each target.") { + VStack(alignment: .leading, spacing: 14) { + if let peer = model.peers.first(where: { $0.isTrusted }) { + Button("Move keyboard to \(peer.name)") { model.beginGuidedTransfer(to: peer) } + Toggle("I typed “keybridge-target” on \(peer.name), and this Mac received no input", isOn: $targetPhraseConfirmed) + .disabled(!model.guidedTargetTransferCompleted) + Button("Move keyboard back to \(model.localMacName)") { model.beginGuidedReturn() } + .disabled(!targetPhraseConfirmed || !model.guidedTargetTransferCompleted) + Toggle("I typed “keybridge-return” here after the return transfer", isOn: $returnPhraseConfirmed) + .disabled(!targetPhraseConfirmed || !model.guidedReturnTransferCompleted) + } + Text("Keep a fallback input device connected. If either phrase fails, do not finish setup.") + .font(.caption).foregroundStyle(.secondary) + } + } + } +} + +private struct SetupPage: View { + let symbol: String; let title: String; let detail: String; @ViewBuilder let content: Content + var body: some View { + VStack(spacing: 22) { + Spacer(); Image(systemName: symbol).font(.system(size: 48)).foregroundStyle(Color.accentColor) + Text(title).font(.largeTitle.bold()).multilineTextAlignment(.center) + Text(detail).font(.title3).foregroundStyle(.secondary).multilineTextAlignment(.center).frame(maxWidth: 500) + content.frame(maxWidth: 480); Spacer() + }.padding(36) + } +} + +private struct SetupFeature: View { + let symbol: String; let title: String; let detail: String + var body: some View { + HStack(alignment: .top, spacing: 12) { + Image(systemName: symbol).foregroundStyle(Color.accentColor).frame(width: 28) + VStack(alignment: .leading) { Text(title).fontWeight(.semibold); Text(detail).foregroundStyle(.secondary) } + } + } +} diff --git a/Sources/KeyboardSwitchApp/RuntimeAuthorization.swift b/Sources/KeyboardSwitchApp/RuntimeAuthorization.swift new file mode 100644 index 0000000..b08a8d4 --- /dev/null +++ b/Sources/KeyboardSwitchApp/RuntimeAuthorization.swift @@ -0,0 +1,121 @@ +import Foundation + +struct PersistedOwnership: Codable, Equatable, Sendable { + var ownerID: UUID? + var epoch: UInt64 +} + +protocol OwnershipEpochPersisting: Sendable { + func load() -> PersistedOwnership + func save(_ value: PersistedOwnership) +} + +final class UserDefaultsOwnershipEpochStore: OwnershipEpochPersisting, @unchecked Sendable { + private let defaults: UserDefaults + private let key: String + + init(defaults: UserDefaults = .standard, key: String = "Keybridge.OwnershipState.v2") { + self.defaults = defaults; self.key = key + } + + func load() -> PersistedOwnership { + guard let data = defaults.data(forKey: key), + let value = try? JSONDecoder().decode(PersistedOwnership.self, from: data) else { + return .init(ownerID: nil, epoch: 0) + } + return value + } + func save(_ value: PersistedOwnership) { + guard let data = try? JSONEncoder().encode(value) else { return } + defaults.set(data, forKey: key) + } +} + +struct OwnershipState { + private(set) var ownerID: UUID? + private(set) var epoch: UInt64 + private let store: any OwnershipEpochPersisting + + init(store: any OwnershipEpochPersisting) { + self.store = store + let persisted = store.load() + self.ownerID = persisted.ownerID + self.epoch = persisted.epoch + } + + mutating func nextEpoch(wallClock: UInt64) -> UInt64 { + let next = max(epoch &+ 1, wallClock) + epoch = next; persist() + return next + } + + @discardableResult + mutating func apply(ownerID: UUID?, epoch proposedEpoch: UInt64) -> Bool { + guard proposedEpoch > epoch else { return false } + self.ownerID = ownerID; epoch = proposedEpoch; persist() + return true + } + + mutating func commitLocal(ownerID: UUID?, epoch proposedEpoch: UInt64) { + guard proposedEpoch >= epoch else { return } + self.ownerID = ownerID; epoch = proposedEpoch; persist() + } + + mutating func restorePersistedOwner(_ ownerID: UUID?) { self.ownerID = ownerID; persist() } + + private func persist() { store.save(.init(ownerID: ownerID, epoch: epoch)) } +} + +struct RuntimeLease: Equatable { + let claimantID: UUID + let transactionID: UUID + let expiresAt: Date + let fence: UInt64 +} + +struct LeaseAuthority { + private(set) var held: RuntimeLease? + + mutating func accept(claimantID: UUID, transactionID: UUID, expiry: Date, fence: UInt64, now: Date = .now) -> Bool { + guard expiry > now, expiry <= now.addingTimeInterval(35) else { return false } + if let held, held.expiresAt > now, + (held.claimantID != claimantID || held.transactionID != transactionID) { return false } + if let held, held.claimantID == claimantID, held.transactionID == transactionID, fence < held.fence { return false } + held = RuntimeLease(claimantID: claimantID, transactionID: transactionID, expiresAt: expiry, fence: fence) + return true + } + + func authorizes(claimantID: UUID, transactionID: UUID, fence: UInt64, now: Date = .now) -> Bool { + guard let held else { return false } + return held.claimantID == claimantID && held.transactionID == transactionID && held.fence == fence && held.expiresAt > now + } + + mutating func release(claimantID: UUID, transactionID: UUID, fence: UInt64) -> Bool { + guard let held, held.claimantID == claimantID, held.transactionID == transactionID, held.fence == fence else { return false } + self.held = nil + return true + } + + mutating func cancel(claimantID: UUID, transactionID: UUID) -> Bool { + guard let held, held.claimantID == claimantID, held.transactionID == transactionID else { return false } + self.held = nil + return true + } +} + +struct ExpectedRuntimeReply: Equatable { + let peerID: UUID + let transactionID: UUID + let fence: UInt64 +} + +struct ReplyCorrelator { + private var expected: [UUID: ExpectedRuntimeReply] = [:] + mutating func expect(requestID: UUID, peerID: UUID, transactionID: UUID, fence: UInt64) { + expected[requestID] = .init(peerID: peerID, transactionID: transactionID, fence: fence) + } + mutating func remove(requestID: UUID) { expected[requestID] = nil } + func accepts(requestID: UUID, peerID: UUID, transactionID: UUID, fence: UInt64) -> Bool { + expected[requestID] == .init(peerID: peerID, transactionID: transactionID, fence: fence) + } +} diff --git a/Sources/KeyboardSwitchApp/SettingsView.swift b/Sources/KeyboardSwitchApp/SettingsView.swift new file mode 100644 index 0000000..03a5300 --- /dev/null +++ b/Sources/KeyboardSwitchApp/SettingsView.swift @@ -0,0 +1,67 @@ +import SwiftUI + +struct SettingsView: View { + @Environment(AppModel.self) private var model + @State private var confirmReset = false + + var body: some View { + @Bindable var model = model + TabView { + Form { + TextField("This Mac", text: $model.localMacName) + LabeledContent("Keyboard") { + HStack { + Text(model.keyboard.detail) + Menu("Select…") { + ForEach(model.availableKeyboards) { device in Button(device.name) { model.selectKeyboard(device) } } + Divider(); Button("Refresh") { Task { await model.refreshKeyboards() } } + } + } + } + Toggle("Launch Keybridge at login", isOn: Binding(get: { model.launchAtLogin }, set: { model.setLaunchAtLogin($0) })) + }.formStyle(.grouped).tabItem { Label("General", systemImage: "gear") } + + VStack(alignment: .leading, spacing: 12) { + HStack { Text("Trusted Macs").font(.title2.bold()); Spacer(); Button("Find Macs") { model.beginPairing() } } + List(model.peers) { peer in + HStack { + Image(systemName: "desktopcomputer") + VStack(alignment: .leading) { + Text(peer.name) + Text(peer.isTrusted ? peer.availability.rawValue.capitalized : (model.verificationCode(for: peer).map { "Code \($0)" } ?? "Awaiting verification")) + .font(.caption).foregroundStyle(.secondary) + } + Spacer() + if !peer.isTrusted, model.verificationCode(for: peer) != nil { Button("Codes Match") { model.trust(peer) } } + Button("Forget", role: .destructive) { model.forget(peer) } + } + } + Text("Up to three Macs can participate, including this Mac.").font(.caption).foregroundStyle(.secondary) + }.padding().tabItem { Label("Macs", systemImage: "macbook.and.iphone") } + + Form { + LabeledContent("Updates") { Text("Manual") } + Text("Open-source builds do not contact an update server. Download, build, and verify a newer tagged release manually.") + .font(.caption).foregroundStyle(.secondary) + Button("Reset Setup and Peer Trust…", role: .destructive) { confirmReset = true } + Text("Resetting preserves the keyboard’s macOS Bluetooth pairing and never removes bond information.") + .font(.caption).foregroundStyle(.secondary) + }.formStyle(.grouped).tabItem { Label("Maintenance", systemImage: "wrench.and.screwdriver") } + + VStack(alignment: .leading, spacing: 12) { + Text("Diagnostics").font(.title2.bold()) + Text("Diagnostics contain connection state changes and redacted identifiers. They never contain keystrokes.").foregroundStyle(.secondary) + ScrollView { Text(model.diagnosticsText()).font(.system(.caption, design: .monospaced)).textSelection(.enabled).frame(maxWidth: .infinity, alignment: .leading).padding(10) } + .background(.quaternary, in: RoundedRectangle(cornerRadius: 8)) + HStack { Button("Copy") { model.copyDiagnostics() }; Button("Export…") { model.exportDiagnostics() }; Spacer() } + }.padding().tabItem { Label("Diagnostics", systemImage: "stethoscope") } + } + .padding(8) + .confirmationDialog("Reset Keybridge setup?", isPresented: $confirmReset, titleVisibility: .visible) { + Button("Reset Setup and Peer Trust", role: .destructive) { model.resetSetup() } + Button("Cancel", role: .cancel) {} + } message: { + Text("Trusted Macs and the selected keyboard will be cleared. macOS Bluetooth pairing will be preserved.") + } + } +} diff --git a/Sources/KeyboardSwitchApp/SystemIntegrations.swift b/Sources/KeyboardSwitchApp/SystemIntegrations.swift new file mode 100644 index 0000000..e1c054b --- /dev/null +++ b/Sources/KeyboardSwitchApp/SystemIntegrations.swift @@ -0,0 +1,9 @@ +import ServiceManagement + +enum LaunchAtLoginController { + static var isEnabled: Bool { SMAppService.mainApp.status == .enabled } + static func setEnabled(_ enabled: Bool) throws { + if enabled { try SMAppService.mainApp.register() } + else { try SMAppService.mainApp.unregister() } + } +} diff --git a/Sources/KeyboardSwitchBluetooth/MacOSBluetoothAdapter.swift b/Sources/KeyboardSwitchBluetooth/MacOSBluetoothAdapter.swift new file mode 100644 index 0000000..dd3a988 --- /dev/null +++ b/Sources/KeyboardSwitchBluetooth/MacOSBluetoothAdapter.swift @@ -0,0 +1,78 @@ +@preconcurrency import IOBluetooth +import Foundation +import KeyboardSwitchCore + +/// Feasibility adapter backed by the public but legacy IOBluetooth framework. +/// It never removes pairing/bond information. +public actor MacOSBluetoothAdapter: BluetoothAdapter { + public init() {} + + public func keyboards() throws -> [BluetoothKeyboard] { + pairedDevices().compactMap { device in + let name = device.name ?? "Unknown Bluetooth device" + guard Self.looksLikeKeyboard(name: name, classOfDevice: device.classOfDevice) else { return nil } + return Self.snapshot(device) + }.sorted { $0.name.localizedCaseInsensitiveCompare($1.name) == .orderedAscending } + } + + public func keyboard(id: KeyboardID) throws -> BluetoothKeyboard { Self.snapshot(try device(id)) } + + public func connect(id: KeyboardID) throws { + let device = try device(id) + guard device.isPaired() else { throw BluetoothAdapterError.deviceNotPaired(id) } + let result = device.openConnection() + guard result == kIOReturnSuccess else { + throw BluetoothAdapterError.operationFailed(operation: "connect", code: result) + } + } + + public func disconnect(id: KeyboardID) throws { + let result = try device(id).closeConnection() + guard result == kIOReturnSuccess else { + throw BluetoothAdapterError.operationFailed(operation: "disconnect", code: result) + } + } + + public func events() -> AsyncStream<[BluetoothKeyboard]> { + // IOBluetooth's Obj-C notifications do not safely bridge into a Sendable + // callback. Polling is bounded and stops immediately with the consumer. + AsyncStream { continuation in + let task = Task { + var previous: [BluetoothKeyboard] = [] + while !Task.isCancelled { + let current = (try? self.keyboards()) ?? [] + if current != previous { continuation.yield(current); previous = current } + try? await Task.sleep(for: .seconds(1)) + } + continuation.finish() + } + continuation.onTermination = { @Sendable _ in task.cancel() } + } + } + + private func pairedDevices() -> [IOBluetoothDevice] { + (IOBluetoothDevice.pairedDevices() as? [IOBluetoothDevice]) ?? [] + } + + private func device(_ id: KeyboardID) throws -> IOBluetoothDevice { + guard let found = pairedDevices().first(where: { Self.identifier($0) == id }) else { + throw BluetoothAdapterError.deviceNotFound(id) + } + return found + } + + private static func snapshot(_ device: IOBluetoothDevice) -> BluetoothKeyboard { + .init(id: identifier(device), name: device.name ?? "Unknown Bluetooth device", isPaired: device.isPaired(), isConnected: device.isConnected()) + } + + private static func identifier(_ device: IOBluetoothDevice) -> KeyboardID { + KeyboardID((device.addressString ?? "unknown").uppercased()) + } + + private static func looksLikeKeyboard(name: String, classOfDevice: BluetoothClassOfDevice) -> Bool { + let normalized = name.lowercased() + let isPeripheral = (classOfDevice & 0x1F00) == 0x0500 + let hasKeyboardCapability = (classOfDevice & 0x0040) != 0 + return (isPeripheral && hasKeyboardCapability) || normalized.contains("keyboard") + } +} diff --git a/Sources/KeyboardSwitchBluetooth/SimulatedBluetoothAdapter.swift b/Sources/KeyboardSwitchBluetooth/SimulatedBluetoothAdapter.swift new file mode 100644 index 0000000..c56c30d --- /dev/null +++ b/Sources/KeyboardSwitchBluetooth/SimulatedBluetoothAdapter.swift @@ -0,0 +1,60 @@ +import Foundation +import KeyboardSwitchCore + +public actor SimulatedBluetoothAdapter: BluetoothAdapter { + private var devices: [KeyboardID: BluetoothKeyboard] + public var connectFailuresRemaining = 0 + public var disconnectFailuresRemaining = 0 + private var observers: [UUID: AsyncStream<[BluetoothKeyboard]>.Continuation] = [:] + + public init(keyboards: [BluetoothKeyboard]) { + devices = Dictionary(uniqueKeysWithValues: keyboards.map { ($0.id, $0) }) + } + + public func keyboards() -> [BluetoothKeyboard] { devices.values.sorted { $0.name < $1.name } } + + public func keyboard(id: KeyboardID) throws -> BluetoothKeyboard { + guard let device = devices[id] else { throw BluetoothAdapterError.deviceNotFound(id) } + return device + } + + public func connect(id: KeyboardID) throws { + var device = try keyboard(id: id) + guard device.isPaired else { throw BluetoothAdapterError.deviceNotPaired(id) } + if connectFailuresRemaining > 0 { + connectFailuresRemaining -= 1 + throw BluetoothAdapterError.operationFailed(operation: "connect", code: -1) + } + device = .init(id: id, name: device.name, isPaired: true, isConnected: true) + devices[id] = device + publish() + } + + public func disconnect(id: KeyboardID) throws { + var device = try keyboard(id: id) + if disconnectFailuresRemaining > 0 { + disconnectFailuresRemaining -= 1 + throw BluetoothAdapterError.operationFailed(operation: "disconnect", code: -1) + } + device = .init(id: id, name: device.name, isPaired: device.isPaired, isConnected: false) + devices[id] = device + publish() + } + + public func events() -> AsyncStream<[BluetoothKeyboard]> { + let observerID = UUID() + return AsyncStream { continuation in + observers[observerID] = continuation + continuation.yield(keyboards()) + continuation.onTermination = { @Sendable _ in + Task { await self.removeObserver(observerID) } + } + } + } + + private func removeObserver(_ id: UUID) { observers[id] = nil } + private func publish() { + let snapshot = keyboards() + observers.values.forEach { $0.yield(snapshot) } + } +} diff --git a/Sources/KeyboardSwitchCore/Bluetooth.swift b/Sources/KeyboardSwitchCore/Bluetooth.swift new file mode 100644 index 0000000..b6da721 --- /dev/null +++ b/Sources/KeyboardSwitchCore/Bluetooth.swift @@ -0,0 +1,49 @@ +import Foundation + +public struct KeyboardID: Hashable, Codable, Sendable, CustomStringConvertible { + public let rawValue: String + + public init(_ rawValue: String) { self.rawValue = rawValue } + public var description: String { rawValue } +} + +public struct BluetoothKeyboard: Equatable, Codable, Sendable, Identifiable { + public let id: KeyboardID + public let name: String + public let isPaired: Bool + public let isConnected: Bool + + public init(id: KeyboardID, name: String, isPaired: Bool, isConnected: Bool) { + self.id = id + self.name = name + self.isPaired = isPaired + self.isConnected = isConnected + } +} + +public enum BluetoothAdapterError: Error, Equatable, Sendable, LocalizedError { + case deviceNotFound(KeyboardID) + case deviceNotPaired(KeyboardID) + case operationFailed(operation: String, code: Int32) + case verificationTimedOut(expectedConnected: Bool) + case unsupported(String) + + public var errorDescription: String? { + switch self { + case .deviceNotFound(let id): "Bluetooth device \(id) was not found." + case .deviceNotPaired(let id): "Bluetooth device \(id) is not paired. Cable-pair it first." + case .operationFailed(let operation, let code): "Bluetooth \(operation) failed with code \(code)." + case .verificationTimedOut(let expected): "Timed out waiting for the device to become \(expected ? "connected" : "disconnected")." + case .unsupported(let reason): reason + } + } +} + +public protocol BluetoothAdapter: Sendable { + func keyboards() async throws -> [BluetoothKeyboard] + func keyboard(id: KeyboardID) async throws -> BluetoothKeyboard + func connect(id: KeyboardID) async throws + func disconnect(id: KeyboardID) async throws + /// Emits inventory snapshots when the adapter observes a connection change. + func events() async -> AsyncStream<[BluetoothKeyboard]> +} diff --git a/Sources/KeyboardSwitchCore/Switching.swift b/Sources/KeyboardSwitchCore/Switching.swift new file mode 100644 index 0000000..fd290b5 --- /dev/null +++ b/Sources/KeyboardSwitchCore/Switching.swift @@ -0,0 +1,228 @@ +import Foundation + +public struct PeerID: Hashable, Codable, Sendable { + public let rawValue: UUID + public init(_ rawValue: UUID = UUID()) { self.rawValue = rawValue } +} + +public struct SwitchRequest: Equatable, Sendable { + public let transactionID: UUID + public let keyboardID: KeyboardID + public let source: PeerID + public let target: PeerID + + public init(transactionID: UUID = UUID(), keyboardID: KeyboardID, source: PeerID, target: PeerID) { + self.transactionID = transactionID + self.keyboardID = keyboardID + self.source = source + self.target = target + } +} + +public enum SwitchStage: String, Equatable, Sendable { + case idle, validating, acquiringLease, releasing, connecting, verifying, recovering, completed, failed +} + +public struct SwitchProgress: Equatable, Sendable { + public let transactionID: UUID? + public let stage: SwitchStage + public let detail: String + + public init(transactionID: UUID?, stage: SwitchStage, detail: String) { + self.transactionID = transactionID + self.stage = stage + self.detail = detail + } +} + +public enum SwitchFailure: Error, Equatable, Sendable, LocalizedError { + case alreadySwitching + case samePeer + case leaseUnavailable + case sourceUnreachable + case targetUnreachable + case operationTimedOut(String) + case sourceReleaseFailed + case targetConnectionFailed(recoveredSource: Bool) + + public var errorDescription: String? { + switch self { + case .alreadySwitching: "Another keyboard transfer is already running." + case .samePeer: "Source and target must be different Macs." + case .leaseUnavailable: "Another Mac owns the transfer lease." + case .sourceUnreachable: "The source Mac is offline." + case .targetUnreachable: "The target Mac is offline." + case .operationTimedOut(let operation): "Timed out while \(operation)." + case .sourceReleaseFailed: "The source Mac could not release the keyboard." + case .targetConnectionFailed(let recovered): recovered + ? "The target could not connect; the keyboard was restored to the source." + : "The target could not connect and automatic source recovery also failed." + } + } +} + +public protocol SwitchLease: Sendable { + func acquire(transactionID: UUID, expiresAt: Date) async -> Bool + func release(transactionID: UUID) async + /// Extends the lease only if the caller still owns the same fenced transaction. + func renew(transactionID: UUID, expiresAt: Date) async -> Bool +} + +public protocol RemoteKeyboardControl: Sendable { + /// Implementations must respond to cooperative task cancellation so the + /// coordinator's operation deadlines remain bounded. + func isReachable(peer: PeerID) async -> Bool + func disconnect(keyboard: KeyboardID, on peer: PeerID) async throws + func connect(keyboard: KeyboardID, on peer: PeerID) async throws + func isConnected(keyboard: KeyboardID, on peer: PeerID) async throws -> Bool +} + +public struct SwitchPolicy: Sendable { + public var maximumAttempts: Int + public var initialRetryDelay: Duration + public var verificationAttempts: Int + public var leaseDuration: TimeInterval + public var operationTimeout: Duration + + public init(maximumAttempts: Int = 3, initialRetryDelay: Duration = .milliseconds(250), verificationAttempts: Int = 10, leaseDuration: TimeInterval = 30, operationTimeout: Duration = .seconds(8)) { + self.maximumAttempts = max(1, maximumAttempts) + self.initialRetryDelay = initialRetryDelay + self.verificationAttempts = max(1, verificationAttempts) + self.leaseDuration = leaseDuration + self.operationTimeout = operationTimeout + } +} + +public actor KeyboardSwitchCoordinator { + public typealias ProgressHandler = @Sendable (SwitchProgress) -> Void + private let remote: any RemoteKeyboardControl + private let lease: any SwitchLease + private let policy: SwitchPolicy + private var activeTransaction: UUID? + + public init(remote: any RemoteKeyboardControl, lease: any SwitchLease, policy: SwitchPolicy = .init()) { + self.remote = remote + self.lease = lease + self.policy = policy + } + + public func perform(_ request: SwitchRequest, progress: ProgressHandler = { _ in }) async throws { + guard activeTransaction == nil else { throw SwitchFailure.alreadySwitching } + guard request.source != request.target else { throw SwitchFailure.samePeer } + activeTransaction = request.transactionID + defer { activeTransaction = nil } + + progress(.init(transactionID: request.transactionID, stage: .validating, detail: "Checking both Macs")) + guard await remote.isReachable(peer: request.source) else { throw SwitchFailure.sourceUnreachable } + guard await remote.isReachable(peer: request.target) else { throw SwitchFailure.targetUnreachable } + + progress(.init(transactionID: request.transactionID, stage: .acquiringLease, detail: "Reserving keyboard transfer")) + guard await lease.acquire(transactionID: request.transactionID, expiresAt: Date().addingTimeInterval(policy.leaseDuration)) else { + throw SwitchFailure.leaseUnavailable + } + + do { + try await performWithLease(request, progress: progress) + await lease.release(transactionID: request.transactionID) + } catch { + await lease.release(transactionID: request.transactionID) + throw error + } + } + + private func performWithLease(_ request: SwitchRequest, progress: ProgressHandler) async throws { + progress(.init(transactionID: request.transactionID, stage: .releasing, detail: "Releasing keyboard from source")) + do { + try await retry { try await self.timed("releasing the keyboard") { try await self.remote.disconnect(keyboard: request.keyboardID, on: request.source) } } + try await verify(expected: false, keyboard: request.keyboardID, peer: request.source) + } catch { + if error is CancellationError { throw error } + progress(.init(transactionID: request.transactionID, stage: .failed, detail: "Source did not release keyboard")) + if case SwitchFailure.operationTimedOut = error { throw error } + throw SwitchFailure.sourceReleaseFailed + } + + guard await lease.renew(transactionID: request.transactionID, expiresAt: Date().addingTimeInterval(policy.leaseDuration)) else { + throw SwitchFailure.leaseUnavailable + } + + progress(.init(transactionID: request.transactionID, stage: .connecting, detail: "Connecting keyboard to target")) + do { + try await retry { try await self.timed("connecting the keyboard") { try await self.remote.connect(keyboard: request.keyboardID, on: request.target) } } + progress(.init(transactionID: request.transactionID, stage: .verifying, detail: "Verifying keyboard connection")) + try await verify(expected: true, keyboard: request.keyboardID, peer: request.target) + } catch { + if error is CancellationError { throw error } + progress(.init(transactionID: request.transactionID, stage: .recovering, detail: "Restoring keyboard to source")) + let recovered = await recover(request) + progress(.init(transactionID: request.transactionID, stage: .failed, detail: recovered ? "Restored to source" : "Manual recovery required")) + throw SwitchFailure.targetConnectionFailed(recoveredSource: recovered) + } + progress(.init(transactionID: request.transactionID, stage: .completed, detail: "Keyboard moved")) + } + + private func timed(_ name: String, operation: @escaping @Sendable () async throws -> Void) async throws { + try await withThrowingTaskGroup(of: Void.self) { group in + group.addTask { try await operation() } + group.addTask { + try await Task.sleep(for: self.policy.operationTimeout) + throw SwitchFailure.operationTimedOut(name) + } + defer { group.cancelAll() } + try await group.next()! + } + } + + private func retry(_ operation: @Sendable () async throws -> Void) async throws { + var delay = policy.initialRetryDelay + var lastError: (any Error)? + for attempt in 1...policy.maximumAttempts { + do { try await operation(); return } catch { lastError = error } + if attempt < policy.maximumAttempts { try await Task.sleep(for: delay); delay *= 2 } + } + throw lastError ?? CancellationError() + } + + private func verify(expected: Bool, keyboard: KeyboardID, peer: PeerID) async throws { + for attempt in 1...policy.verificationAttempts { + if try await remote.isConnected(keyboard: keyboard, on: peer) == expected { return } + if attempt < policy.verificationAttempts { try await Task.sleep(for: policy.initialRetryDelay) } + } + throw BluetoothAdapterError.verificationTimedOut(expectedConnected: expected) + } + + private func recover(_ request: SwitchRequest) async -> Bool { + do { + try await retry { try await self.remote.connect(keyboard: request.keyboardID, on: request.source) } + try await verify(expected: true, keyboard: request.keyboardID, peer: request.source) + return true + } catch { return false } + } +} + +public actor InMemorySwitchLease: SwitchLease { + private var holder: UUID? + private var expiry: Date? + + public init() {} + + public func acquire(transactionID: UUID, expiresAt: Date) -> Bool { + if let expiry, expiry <= Date() { holder = nil; self.expiry = nil } + guard holder == nil || holder == transactionID else { return false } + holder = transactionID + expiry = expiresAt + return true + } + + public func release(transactionID: UUID) { + guard holder == transactionID else { return } + holder = nil + expiry = nil + } + + public func renew(transactionID: UUID, expiresAt: Date) -> Bool { + guard holder == transactionID, let expiry, expiry > Date() else { return false } + self.expiry = expiresAt + return true + } +} diff --git a/Sources/KeyboardSwitchDiagnostics/main.swift b/Sources/KeyboardSwitchDiagnostics/main.swift new file mode 100644 index 0000000..a9698be --- /dev/null +++ b/Sources/KeyboardSwitchDiagnostics/main.swift @@ -0,0 +1,32 @@ +import Foundation +import KeyboardSwitchBluetooth + +@main +struct Diagnostics { + static func main() async { + let adapter = MacOSBluetoothAdapter() + do { + let keyboards = try await adapter.keyboards() + if keyboards.isEmpty { + print("No paired Bluetooth keyboards found. Cable-pair the Magic Keyboard, unplug it, then retry.") + } + for keyboard in keyboards { + let redacted = String(keyboard.id.rawValue.suffix(5)) + print("\(keyboard.name) id=…\(redacted) paired=\(keyboard.isPaired) connected=\(keyboard.isConnected)") + } + print("Inventory only. Use --connect or --disconnect with a full identifier to run an explicit feasibility operation.") + + let args = CommandLine.arguments + if args.count == 3, args[1] == "--connect" { + try await adapter.connect(id: .init(args[2])) + print("Connect request returned successfully; verify actual keyboard input.") + } else if args.count == 3, args[1] == "--disconnect" { + try await adapter.disconnect(id: .init(args[2])) + print("Disconnect request returned successfully; verify connection state on both Macs.") + } + } catch { + fputs("Diagnostic failed: \(error.localizedDescription)\n", stderr) + Foundation.exit(EXIT_FAILURE) + } + } +} diff --git a/Sources/MagicSwitchNetworking/Identity.swift b/Sources/MagicSwitchNetworking/Identity.swift new file mode 100644 index 0000000..2d1ca90 --- /dev/null +++ b/Sources/MagicSwitchNetworking/Identity.swift @@ -0,0 +1,86 @@ +import CryptoKit +import Foundation +#if canImport(Security) +import Security +#endif + +public struct PeerIdentity: Sendable { + public let id: UUID + public let signingKey: Curve25519.Signing.PrivateKey + public let agreementKey: Curve25519.KeyAgreement.PrivateKey + + public init(id: UUID = UUID(), signingKey: Curve25519.Signing.PrivateKey = .init(), agreementKey: Curve25519.KeyAgreement.PrivateKey = .init()) { + self.id = id + self.signingKey = signingKey + self.agreementKey = agreementKey + } + + public func record(name: String) -> PeerRecord { + PeerRecord(id: id, name: name, signingPublicKey: signingKey.publicKey.rawRepresentation, + agreementPublicKey: agreementKey.publicKey.rawRepresentation) + } +} + +public protocol IdentityPersisting: Sendable { + func loadOrCreateIdentity() throws -> PeerIdentity +} + +public final class MemoryIdentityStore: IdentityPersisting, @unchecked Sendable { + private let lock = NSLock() + private var identity: PeerIdentity? + public init() {} + public func loadOrCreateIdentity() throws -> PeerIdentity { + lock.lock(); defer { lock.unlock() } + if let identity { return identity } + let value = PeerIdentity(); identity = value; return value + } +} + +#if canImport(Security) +public final class KeychainIdentityStore: IdentityPersisting, @unchecked Sendable { + private let service: String + public init(service: String = "com.magicswitch.identity") { self.service = service } + + public func loadOrCreateIdentity() throws -> PeerIdentity { + if let data = try read() { + do { + let stored = try JSONDecoder().decode(StoredIdentity.self, from: data) + return try PeerIdentity(id: stored.id, signingKey: .init(rawRepresentation: stored.signingPrivateKey), + agreementKey: .init(rawRepresentation: stored.agreementPrivateKey)) + } catch { throw IdentityError.corruptIdentity } + } + let identity = PeerIdentity() + let stored = StoredIdentity(id: identity.id, signingPrivateKey: identity.signingKey.rawRepresentation, + agreementPrivateKey: identity.agreementKey.rawRepresentation) + try write(JSONEncoder().encode(stored)) + return identity + } + + private struct StoredIdentity: Codable { let id: UUID; let signingPrivateKey: Data; let agreementPrivateKey: Data } + private func read() throws -> Data? { + let query: [String: Any] = [kSecClass as String: kSecClassGenericPassword, + kSecAttrService as String: service, kSecAttrAccount as String: "installation", + kSecReturnData as String: true, kSecMatchLimit as String: kSecMatchLimitOne] + var result: CFTypeRef? + let status = SecItemCopyMatching(query as CFDictionary, &result) + if status == errSecItemNotFound { return nil } + guard status == errSecSuccess, let data = result as? Data else { throw IdentityError.keychain(status) } + return data + } + private func write(_ data: Data) throws { + let query: [String: Any] = [kSecClass as String: kSecClassGenericPassword, + kSecAttrService as String: service, kSecAttrAccount as String: "installation", + kSecAttrAccessible as String: kSecAttrAccessibleAfterFirstUnlockThisDeviceOnly, + kSecValueData as String: data] + var status = SecItemAdd(query as CFDictionary, nil) + if status == errSecDuplicateItem { + let match: [String: Any] = [kSecClass as String: kSecClassGenericPassword, + kSecAttrService as String: service, kSecAttrAccount as String: "installation"] + status = SecItemUpdate(match as CFDictionary, [kSecValueData as String: data] as CFDictionary) + } + guard status == errSecSuccess else { throw IdentityError.keychain(status) } + } +} + +public enum IdentityError: Error { case keychain(OSStatus), corruptIdentity } +#endif diff --git a/Sources/MagicSwitchNetworking/KeychainTrustStore.swift b/Sources/MagicSwitchNetworking/KeychainTrustStore.swift new file mode 100644 index 0000000..2c380a3 --- /dev/null +++ b/Sources/MagicSwitchNetworking/KeychainTrustStore.swift @@ -0,0 +1,45 @@ +import Foundation +#if canImport(Security) +import Security + +/// Production trust storage. Records are protected by the login Keychain and are never recovered from malformed data. +public actor KeychainTrustStore { + private let service: String + private var loaded: [UUID: PeerRecord]? + public init(service: String = "com.magicswitch.trusted-peers") { self.service = service } + + public func peer(id: UUID) throws -> PeerRecord? { try load()[id] } + public func allPeers() throws -> [PeerRecord] { try load().values.sorted { $0.name < $1.name } } + public func trust(_ peer: PeerRecord) throws { + var peers = try load() + guard peers.count < 2 || peers[peer.id] != nil else { throw TrustError.peerLimitReached } + if let old = peers[peer.id], old.signingPublicKey != peer.signingPublicKey || old.agreementPublicKey != peer.agreementPublicKey { + throw TrustError.identityChanged + } + peers[peer.id] = peer; try save(peers); loaded = peers + } + public func remove(id: UUID) throws { var peers = try load(); peers[id] = nil; try save(peers); loaded = peers } + + private func load() throws -> [UUID: PeerRecord] { + if let loaded { return loaded } + let query: [String: Any] = [kSecClass as String: kSecClassGenericPassword, kSecAttrService as String: service, + kSecAttrAccount as String: "v1", kSecReturnData as String: true, kSecMatchLimit as String: kSecMatchLimitOne] + var result: CFTypeRef?; let status = SecItemCopyMatching(query as CFDictionary, &result) + if status == errSecItemNotFound { loaded = [:]; return [:] } + guard status == errSecSuccess, let data = result as? Data else { throw TrustPersistenceError.keychain(status) } + do { + let records = try JSONDecoder().decode([PeerRecord].self, from: data) + let peers = Dictionary(uniqueKeysWithValues: records.map { ($0.id, $0) }); loaded = peers; return peers + } catch { throw TrustPersistenceError.corruptData } + } + private func save(_ peers: [UUID: PeerRecord]) throws { + let data = try JSONEncoder().encode(Array(peers.values)) + let match: [String: Any] = [kSecClass as String: kSecClassGenericPassword, kSecAttrService as String: service, kSecAttrAccount as String: "v1"] + let attrs: [String: Any] = [kSecValueData as String: data, kSecAttrAccessible as String: kSecAttrAccessibleAfterFirstUnlockThisDeviceOnly] + var status = SecItemUpdate(match as CFDictionary, attrs as CFDictionary) + if status == errSecItemNotFound { var add = match; attrs.forEach { add[$0.key] = $0.value }; status = SecItemAdd(add as CFDictionary, nil) } + guard status == errSecSuccess else { throw TrustPersistenceError.keychain(status) } + } +} +public enum TrustPersistenceError: Error { case keychain(OSStatus), corruptData } +#endif diff --git a/Sources/MagicSwitchNetworking/PeerService.swift b/Sources/MagicSwitchNetworking/PeerService.swift new file mode 100644 index 0000000..423cad1 --- /dev/null +++ b/Sources/MagicSwitchNetworking/PeerService.swift @@ -0,0 +1,346 @@ +import Foundation +import Network + +public struct ReceivedPeerMessage: Sendable { public let peer: PeerRecord; public let message: PeerMessage } +public enum PeerServiceError: Error { case notStarted, untrustedPeer, connectionLimit, deadlineExceeded, enrollmentCodeMismatch, enrollmentCandidateUnavailable, enrollmentPossessionFailed, listenerReplaced } + +/// Actor-isolated runtime for discovery, authenticated dispatch, and explicit user-confirmed enrollment. +/// v1 uses long-lived Curve25519 ECDH identities and therefore does not provide forward secrecy. +public actor PeerService { + private let identity: PeerIdentity + private var displayName: String + private let trust: KeychainTrustStore + private let codec = SecureCodec() + private let replay = ReplayGuard() + private var browser: BonjourPeerBrowser? + private var listener: PeerListener? + private var startingListener: PeerListener? + private let makeListener: @Sendable (String) throws -> PeerListener + private let awaitListenerReady: @Sendable (PeerListener) async throws -> Void + private let listenerReadinessTimeout: Duration + private var enrollmentRefreshTask: Task? + private var discoveryGeneration: UInt64 = 0 + private var enrollmentRefreshLaunches = 0 + private var discovered: [String: DiscoveredPeer] = [:] + private var discoveredPeerIDs: [String: UUID] = [:] + private struct EnrollmentCandidate { let offer: EnrollmentOffer; let receivedAt: Date } + private var enrollmentCandidates: [UUID: EnrollmentCandidate] = [:] + private var enrollmentEndpoints: [UUID: String] = [:] + private var activeEnrollmentOffer: EnrollmentOffer? + private var activeConnections = 0 + private let maximumConnections = 4 + private let maximumEnrollmentCandidates = 8 + private let maximumDiscoveredPeers = 16 + private let maximumConcurrentEnrollmentProbes = 4 + private let enrollmentLifetime: TimeInterval = 300 + private let continuation: AsyncStream.Continuation + public nonisolated let messages: AsyncStream + + public init(identity: PeerIdentity, displayName: String, trustStore: KeychainTrustStore = .init(), + listenerFactory: @escaping @Sendable (String) throws -> PeerListener = { try PeerListener(advertisedName: $0) }, + listenerReadiness: @escaping @Sendable (PeerListener) async throws -> Void = { try await $0.waitUntilReady() }, + listenerReadinessTimeout: Duration = .seconds(5)) { + self.identity = identity; self.displayName = displayName; self.trust = trustStore; self.makeListener = listenerFactory + self.awaitListenerReady = listenerReadiness + self.listenerReadinessTimeout = listenerReadinessTimeout + var c: AsyncStream.Continuation! + messages = AsyncStream { c = $0 }; continuation = c + } + + public func localEnrollmentOffer() -> EnrollmentOffer { + if let activeEnrollmentOffer { return activeEnrollmentOffer } + let offer = Enrollment.makeOffer(identity: identity, name: displayName) + activeEnrollmentOffer = offer + return offer + } + public func confirmEnrollment(local: EnrollmentOffer, remote: EnrollmentOffer, displayedCode: String) async throws { + guard local.peer.id == identity.id, Enrollment.verificationCode(local: local, remote: remote) == displayedCode else { + throw PeerServiceError.enrollmentCodeMismatch + } + let cutoff = Date().addingTimeInterval(-enrollmentLifetime) + guard let candidate = enrollmentCandidates[remote.peer.id], candidate.receivedAt >= cutoff, + candidate.offer == remote, + let key = enrollmentEndpoints[remote.peer.id], let endpoint = discovered[key]?.endpoint else { + throw PeerServiceError.enrollmentCandidateUnavailable + } + // A matching SAS authenticates the displayed keys to the user; this challenge additionally + // proves that the selected network endpoint owns those keys before anything is persisted. + guard await proveEnrollmentPossession(endpoint: endpoint, local: local, remote: remote, endpointKey: key) else { + throw PeerServiceError.enrollmentPossessionFailed + } + try await trust.trust(remote.peer) + discoveredPeerIDs[key] = remote.peer.id + enrollmentCandidates[remote.peer.id] = nil + enrollmentEndpoints[remote.peer.id] = nil + } + + public func updateDisplayName(_ name: String) async throws { + guard name != displayName else { return } + // Initial listener startup is actor-reentrant while readiness is awaited. Do not let a + // concurrent rename mutate the enrollment identity while that old-name listener is still + // provisional; the caller can retry once startup has committed or failed. + guard startingListener == nil else { throw PeerServiceError.listenerReplaced } + guard let oldListener = listener else { + displayName = name; activeEnrollmentOffer = nil + return + } + // Construct and configure first. If construction fails the old listener, advertised name, + // and enrollment offer all remain valid, so callers can retry without restarting the app. + let replacement = try makeListener(name) + replacement.onConnection = { [weak self] connection in Task { await self?.accept(connection) } } + replacement.start() + do { + try await withThrowingTaskGroup(of: Void.self) { group in + defer { group.cancelAll() } + group.addTask { try await self.awaitListenerReady(replacement) } + group.addTask { try await Task.sleep(for: self.listenerReadinessTimeout); throw PeerServiceError.deadlineExceeded } + _ = try await group.next() + } + } + catch { replacement.cancel(); throw error } + guard listener === oldListener else { replacement.cancel(); throw PeerServiceError.listenerReplaced } + listener = replacement + displayName = name + activeEnrollmentOffer = nil + oldListener.cancel() + } + + public func start() async throws { + guard listener == nil else { return } + guard startingListener == nil else { throw PeerServiceError.listenerReplaced } + let candidate = try makeListener(displayName) + startingListener = candidate + candidate.onConnection = { [weak self] connection in Task { await self?.accept(connection) } } + candidate.start() + do { + try await withThrowingTaskGroup(of: Void.self) { group in + defer { group.cancelAll() } + group.addTask { try await self.awaitListenerReady(candidate) } + group.addTask { try await Task.sleep(for: self.listenerReadinessTimeout); throw PeerServiceError.deadlineExceeded } + _ = try await group.next() + } + } catch { + candidate.cancel() + if startingListener === candidate { startingListener = nil } + throw error + } + guard startingListener === candidate, listener == nil else { + candidate.cancel() + if startingListener === candidate { startingListener = nil } + throw PeerServiceError.listenerReplaced + } + startingListener = nil + listener = candidate + let browser = BonjourPeerBrowser(); browser.start(); self.browser = browser + Task { [weak self] in for await peers in browser.updates { await self?.updateDiscovery(peers) } } + } + public func stop() { + discoveryGeneration &+= 1 + enrollmentRefreshTask?.cancel(); enrollmentRefreshTask = nil + browser?.cancel(); listener?.cancel(); startingListener?.cancel() + browser = nil; listener = nil; startingListener = nil + discovered = [:]; discoveredPeerIDs = [:]; enrollmentCandidates = [:]; enrollmentEndpoints = [:] + } + public func availablePeers() -> [DiscoveredPeer] { Array(discovered.values).sorted { $0.name < $1.name } } + public func trustedOnlinePeers() async throws -> [PeerRecord] { + let onlineIDs = Set(discoveredPeerIDs.values) + return try await trust.allPeers().filter { onlineIDs.contains($0.id) } + } + public func trustedPeers() async throws -> [PeerRecord] { try await trust.allPeers() } + public func forgetPeer(id: UUID) async throws { try await trust.remove(id: id) } + public func discoveredEnrollmentOffers() -> [EnrollmentOffer] { + let cutoff = Date().addingTimeInterval(-enrollmentLifetime) + enrollmentCandidates = enrollmentCandidates.filter { $0.value.receivedAt >= cutoff } + return enrollmentCandidates.values.map(\.offer).sorted { $0.peer.name < $1.peer.name } + } + + /// Exchanges complete public enrollment offers over the local connection. The offers are not + /// secret; authenticity is established only when the user compares the derived six-digit code. + public func refreshEnrollmentOffers(timeout: Duration = .seconds(3)) async { + await refreshEnrollmentOffers(timeout: timeout, expectedGeneration: discoveryGeneration) + } + + private func refreshEnrollmentOffers(timeout: Duration, expectedGeneration: UInt64?) async { + let local = localEnrollmentOffer() + let peers = Array(discovered.prefix(maximumDiscoveredPeers)) + for batchStart in stride(from: 0, to: peers.count, by: maximumConcurrentEnrollmentProbes) { + let batch = peers[batchStart.. (generation: UInt64, launches: Int, scheduled: Bool) { + (discoveryGeneration, enrollmentRefreshLaunches, enrollmentRefreshTask != nil) + } + private func accept(_ connection: PeerConnection) async { + guard activeConnections < maximumConnections else { connection.cancel(); return } + activeConnections += 1; defer { activeConnections -= 1; connection.cancel() } + connection.start(queue: .init(label: "MagicSwitch.Incoming")) + do { + let wire = try await withThrowingTaskGroup(of: PeerWireMessage.self) { group in + group.addTask { try await connection.receiveWire() } + group.addTask { try await Task.sleep(for: .seconds(10)); connection.cancel(); throw PeerServiceError.deadlineExceeded } + let first = try await group.next()!; group.cancelAll(); return first + } + if case .enrollmentRequest(let remoteOffer) = wire { + guard remoteOffer.peer.id != identity.id else { return } + rememberEnrollment(remoteOffer, endpointKey: nil) + try await connection.sendWire(.enrollmentResponse(localEnrollmentOffer())) + return + } + if case .enrollmentProofRequest(let request) = wire { + guard request.responder.peer.id == identity.id, + request.responder == localEnrollmentOffer(), + request.requester.peer.id != identity.id, + request.endpointBinding.utf8.count <= 1_024 else { throw TransportError.invalidFrame } + try await connection.sendWire(.enrollmentProofResponse(try Enrollment.signProof(request, identity: identity))) + return + } + guard case .secure(let packet) = wire else { throw TransportError.invalidFrame } + guard let peer = try await trust.peer(id: packet.senderID) else { throw PeerServiceError.untrustedPeer } + let message = try await codec.open(packet, as: identity, trustedPeer: peer, replayGuard: replay) + if case .heartbeat(let challenge?) = message { + try await connection.send(try codec.seal(.heartbeat(transactionID: challenge), from: identity, to: peer)) + } + continuation.yield(.init(peer: peer, message: message)) + } catch { /* Fail closed; callers observe only authenticated messages. */ } + } + + private func rememberEnrollment(_ offer: EnrollmentOffer, endpointKey: String?) { + let cutoff = Date().addingTimeInterval(-enrollmentLifetime) + enrollmentCandidates = enrollmentCandidates.filter { $0.value.receivedAt >= cutoff } + if enrollmentCandidates[offer.peer.id] == nil, enrollmentCandidates.count >= maximumEnrollmentCandidates, + let oldest = enrollmentCandidates.min(by: { $0.value.receivedAt < $1.value.receivedAt })?.key { + enrollmentCandidates[oldest] = nil; enrollmentEndpoints[oldest] = nil + } + enrollmentCandidates[offer.peer.id] = .init(offer: offer, receivedAt: .now) + if let endpointKey { enrollmentEndpoints[offer.peer.id] = endpointKey } + } + + /// Proves that a discovered endpoint controls the private keys pinned for the trusted peer. + private func authenticate(endpoint: NWEndpoint, peer: PeerRecord) async -> Bool { + let challenge = UUID() + let connection = PeerConnection(endpoint: endpoint) + connection.start(queue: .init(label: "MagicSwitch.RouteProbe")); defer { connection.cancel() } + do { + try await connection.send(try codec.seal(.heartbeat(transactionID: challenge), from: identity, to: peer)) + let packet = try await withThrowingTaskGroup(of: SecurePacket.self) { group in + group.addTask { try await connection.receive() } + group.addTask { + try await Task.sleep(for: .seconds(3)) + connection.cancel() + throw PeerServiceError.deadlineExceeded + } + let packet = try await group.next()! + group.cancelAll() + return packet + } + let response = try await codec.open(packet, as: identity, trustedPeer: peer, replayGuard: replay) + guard case .heartbeat(let returned) = response else { return false } + return returned == challenge + } catch { return false } + } + + + private func proveEnrollmentPossession(endpoint: NWEndpoint, local: EnrollmentOffer, remote: EnrollmentOffer, + endpointKey: String) async -> Bool { + let request = EnrollmentProofRequest(requester: local, responder: remote, nonce: UUID(), endpointBinding: endpointKey) + let connection = PeerConnection(endpoint: endpoint) + connection.start(queue: .init(label: "MagicSwitch.EnrollmentProof")); defer { connection.cancel() } + do { + try await connection.sendWire(.enrollmentProofRequest(request)) + let response = try await withThrowingTaskGroup(of: EnrollmentProofResponse.self) { group in + group.addTask { + guard case .enrollmentProofResponse(let response) = try await connection.receiveWire() else { throw TransportError.invalidFrame } + return response + } + group.addTask { try await Task.sleep(for: .seconds(3)); connection.cancel(); throw PeerServiceError.deadlineExceeded } + let response = try await group.next()!; group.cancelAll(); return response + } + return Enrollment.verifyProof(response, request: request) + } catch { return false } + } +} diff --git a/Sources/MagicSwitchNetworking/PeerTransport.swift b/Sources/MagicSwitchNetworking/PeerTransport.swift new file mode 100644 index 0000000..bf20c1c --- /dev/null +++ b/Sources/MagicSwitchNetworking/PeerTransport.swift @@ -0,0 +1,148 @@ +import Foundation +import Network + +public struct DiscoveredPeer: Sendable, Hashable { + public let name: String + public let endpoint: NWEndpoint + public init(name: String, endpoint: NWEndpoint) { self.name = name; self.endpoint = endpoint } + public static func == (lhs: Self, rhs: Self) -> Bool { lhs.name == rhs.name && String(describing: lhs.endpoint) == String(describing: rhs.endpoint) } + public func hash(into hasher: inout Hasher) { hasher.combine(name); hasher.combine(String(describing: endpoint)) } +} + +/// Bonjour discovery restricted to the local domain. Call `start()` once and consume `updates`. +public final class BonjourPeerBrowser: @unchecked Sendable { + private let browser: NWBrowser + private let continuation: AsyncStream<[DiscoveredPeer]>.Continuation + public let updates: AsyncStream<[DiscoveredPeer]> + + public init() { + var c: AsyncStream<[DiscoveredPeer]>.Continuation! + updates = AsyncStream { c = $0 }; continuation = c + let parameters = NWParameters.tcp + parameters.includePeerToPeer = true + browser = NWBrowser(for: .bonjour(type: PeerProtocol.serviceType, domain: "local."), using: parameters) + browser.browseResultsChangedHandler = { [continuation] results, _ in + let peers = results.compactMap { result -> DiscoveredPeer? in + guard case let .service(name, _, _, _) = result.endpoint else { return nil } + return DiscoveredPeer(name: name, endpoint: result.endpoint) + } + continuation.yield(peers) + } + browser.stateUpdateHandler = { [continuation] state in + if case .failed(let error) = state { continuation.finish(); NSLog("Bonjour browser failed: %@", String(describing: error)) } + } + } + public func start(queue: DispatchQueue = .init(label: "MagicSwitch.BonjourBrowser")) { browser.start(queue: queue) } + public func cancel() { browser.cancel(); continuation.finish() } +} + +public enum TransportError: Error { case invalidFrame, oversizedFrame, closed } + +public enum PeerWireMessage: Codable, Sendable { + case secure(SecurePacket) + case enrollmentRequest(EnrollmentOffer) + case enrollmentResponse(EnrollmentOffer) + case enrollmentProofRequest(EnrollmentProofRequest) + case enrollmentProofResponse(EnrollmentProofResponse) +} + +public enum PeerFraming { + public static func frame(_ packet: SecurePacket) throws -> Data { + try frameWire(.secure(packet)) + } + public static func frameWire(_ packet: PeerWireMessage) throws -> Data { + let payload = try JSONEncoder().encode(packet) + guard payload.count <= PeerConnection.maximumPacketSize else { throw TransportError.oversizedFrame } + var length = UInt32(payload.count).bigEndian + var frame = withUnsafeBytes(of: &length) { Data($0) }; frame.append(payload); return frame + } + public static func decode(_ frame: Data) throws -> SecurePacket { + guard case .secure(let packet) = try decodeWire(frame) else { throw TransportError.invalidFrame } + return packet + } + public static func decodeWire(_ frame: Data) throws -> PeerWireMessage { + guard frame.count >= 4 else { throw TransportError.invalidFrame } + let count = frame.prefix(4).withUnsafeBytes { $0.loadUnaligned(as: UInt32.self).bigEndian } + guard count > 0, count <= PeerConnection.maximumPacketSize, frame.count == Int(count) + 4 else { throw TransportError.invalidFrame } + return try JSONDecoder().decode(PeerWireMessage.self, from: frame.dropFirst(4)) + } +} + +/// Length-prefixed packet framing. Authentication and encryption are performed by `SecureCodec`. +public final class PeerConnection: @unchecked Sendable { + public static let maximumPacketSize = 65_536 + private let connection: NWConnection + private let encoder = JSONEncoder() + private let decoder = JSONDecoder() + + public init(endpoint: NWEndpoint) { connection = NWConnection(to: endpoint, using: .tcp) } + public init(connection: NWConnection) { self.connection = connection } + public func start(queue: DispatchQueue) { connection.start(queue: queue) } + public func cancel() { connection.cancel() } + + public func send(_ packet: SecurePacket) async throws { + try await sendWire(.secure(packet)) + } + + public func sendWire(_ packet: PeerWireMessage) async throws { + let frame = try PeerFraming.frameWire(packet) + try await withCheckedThrowingContinuation { (continuation: CheckedContinuation) in + connection.send(content: frame, completion: .contentProcessed { error in + if let error { continuation.resume(throwing: error) } else { continuation.resume() } + }) + } + } + + public func receive() async throws -> SecurePacket { + guard case .secure(let packet) = try await receiveWire() else { throw TransportError.invalidFrame } + return packet + } + + public func receiveWire() async throws -> PeerWireMessage { + let header = try await receiveExactly(4) + let count = header.withUnsafeBytes { $0.loadUnaligned(as: UInt32.self).bigEndian } + guard count > 0, count <= Self.maximumPacketSize else { throw TransportError.invalidFrame } + return try decoder.decode(PeerWireMessage.self, from: await receiveExactly(Int(count))) + } + + private func receiveExactly(_ count: Int) async throws -> Data { + try await withCheckedThrowingContinuation { continuation in + connection.receive(minimumIncompleteLength: count, maximumLength: count) { data, _, complete, error in + if let error { continuation.resume(throwing: error) } + else if let data, data.count == count { continuation.resume(returning: data) } + else if complete { continuation.resume(throwing: TransportError.closed) } + else { continuation.resume(throwing: TransportError.invalidFrame) } + } + } + } +} + +public final class PeerListener: @unchecked Sendable { + private let listener: NWListener + private let stateStream: AsyncStream + private let stateContinuation: AsyncStream.Continuation + public var onConnection: (@Sendable (PeerConnection) -> Void)? + public init(advertisedName: String) throws { + listener = try NWListener(using: .tcp) + var continuation: AsyncStream.Continuation! + stateStream = AsyncStream { continuation = $0 } + stateContinuation = continuation + let stateContinuation = continuation! + listener.service = .init(name: advertisedName, type: PeerProtocol.serviceType) + listener.newConnectionHandler = { [weak self] connection in self?.onConnection?(PeerConnection(connection: connection)) } + listener.stateUpdateHandler = { state in stateContinuation.yield(state) } + } + public func start(queue: DispatchQueue = .init(label: "MagicSwitch.PeerListener")) { listener.start(queue: queue) } + public func waitUntilReady() async throws { + for await state in stateStream { + switch state { + case .ready: return + case .failed(let error): throw error + case .cancelled: throw TransportError.closed + default: continue + } + } + throw TransportError.closed + } + public func cancel() { listener.cancel(); stateContinuation.finish() } +} diff --git a/Sources/MagicSwitchNetworking/Protocol.swift b/Sources/MagicSwitchNetworking/Protocol.swift new file mode 100644 index 0000000..c7ef7f8 --- /dev/null +++ b/Sources/MagicSwitchNetworking/Protocol.swift @@ -0,0 +1,99 @@ +import Foundation + +public enum PeerProtocol { + public static let version = 2 + public static let serviceType = "_keyboardswitch._tcp" +} + +public struct PeerCapabilities: Codable, Hashable, Sendable { + public var canControlBluetooth: Bool + public var maxProtocolVersion: Int + + public init(canControlBluetooth: Bool = true, maxProtocolVersion: Int = PeerProtocol.version) { + self.canControlBluetooth = canControlBluetooth + self.maxProtocolVersion = maxProtocolVersion + } +} + +public enum SwitchFailure: String, Codable, Sendable { + case busy, keyboardUnavailable, peerOffline, releaseFailed, connectionFailed + case verificationFailed, incompatibleProtocol, unauthorized, timedOut +} + +public enum KeyboardCommand: String, Codable, Sendable { case disconnect, connect, status } + +public enum PeerMessage: Codable, Equatable, Sendable { + case presence(name: String, capabilities: PeerCapabilities) + case keyboardStatus(deviceID: String, connected: Bool, ownerID: UUID?, epoch: UInt64, transactionID: UUID?) + case switchRequest(transactionID: UUID, deviceID: String, sourceID: UUID, targetID: UUID) + case switchAccepted(transactionID: UUID, leaseExpiresAt: Date) + case switchRejected(transactionID: UUID, reason: SwitchFailure) + case switchCancelled(transactionID: UUID) + case releaseConfirmed(transactionID: UUID) + case connectionResult(transactionID: UUID, connected: Bool, failure: SwitchFailure?) + case switchCompleted(transactionID: UUID, ownerID: UUID, epoch: UInt64) + case heartbeat(transactionID: UUID?) + case recovery(transactionID: UUID, detail: String) + case keyboardCommand(requestID: UUID, transactionID: UUID, fence: UInt64, command: KeyboardCommand, deviceID: String) + case keyboardCommandResult(requestID: UUID, transactionID: UUID, fence: UInt64, succeeded: Bool, connected: Bool?, detail: String?) + case leaseClaim(requestID: UUID, transactionID: UUID, expiresAt: Date, fence: UInt64) + case leaseDecision(requestID: UUID, transactionID: UUID, accepted: Bool, fence: UInt64) + case leaseRelease(transactionID: UUID, fence: UInt64) +} + +public struct PeerRecord: Codable, Hashable, Identifiable, Sendable { + public let id: UUID + public var name: String + public let signingPublicKey: Data + public let agreementPublicKey: Data + public var trustedAt: Date + + public init(id: UUID, name: String, signingPublicKey: Data, agreementPublicKey: Data, trustedAt: Date = .now) { + self.id = id + self.name = name + self.signingPublicKey = signingPublicKey + self.agreementPublicKey = agreementPublicKey + self.trustedAt = trustedAt + } +} + +public struct EnrollmentOffer: Codable, Equatable, Sendable { + public let peer: PeerRecord + public let challenge: Data + + public init(peer: PeerRecord, challenge: Data) { + self.peer = peer + self.challenge = challenge + } +} + +public struct EnrollmentProofRequest: Codable, Equatable, Sendable { + public let requester: EnrollmentOffer + public let responder: EnrollmentOffer + public let nonce: UUID + public let endpointBinding: String + + public init(requester: EnrollmentOffer, responder: EnrollmentOffer, nonce: UUID, endpointBinding: String) { + self.requester = requester; self.responder = responder; self.nonce = nonce; self.endpointBinding = endpointBinding + } +} + +public struct EnrollmentProofResponse: Codable, Equatable, Sendable { + public let responderID: UUID + public let nonce: UUID + public let signature: Data + + public init(responderID: UUID, nonce: UUID, signature: Data) { + self.responderID = responderID; self.nonce = nonce; self.signature = signature + } +} + +public struct SecurePacket: Codable, Equatable, Sendable { + public let version: Int + public let senderID: UUID + public let recipientID: UUID + public let sentAt: Date + public let nonce: UUID + public let ciphertext: Data + public let signature: Data +} diff --git a/Sources/MagicSwitchNetworking/SecureCodec.swift b/Sources/MagicSwitchNetworking/SecureCodec.swift new file mode 100644 index 0000000..853a9dd --- /dev/null +++ b/Sources/MagicSwitchNetworking/SecureCodec.swift @@ -0,0 +1,82 @@ +import CryptoKit +import Foundation + +public actor ReplayGuard { + private var seen: [UUID: Date] = [:] + private let maximumAge: TimeInterval + public init(maximumAge: TimeInterval = 30) { self.maximumAge = maximumAge } + public func validate(nonce: UUID, sentAt: Date, now: Date = .now) throws { + guard abs(now.timeIntervalSince(sentAt)) <= maximumAge else { throw SecureCodecError.stale } + seen = seen.filter { now.timeIntervalSince($0.value) <= maximumAge } + guard seen[nonce] == nil else { throw SecureCodecError.replay } + seen[nonce] = now + } +} + +public enum SecureCodecError: Error, Equatable { + case incompatibleVersion, wrongRecipient, untrustedPeer, invalidSignature, replay, stale, malformed +} + +public struct SecureCodec: Sendable { + private let encoder = JSONEncoder() + private let decoder = JSONDecoder() + public init() {} + + public func seal(_ message: PeerMessage, from identity: PeerIdentity, to peer: PeerRecord, now: Date = .now, nonce: UUID = UUID()) throws -> SecurePacket { + let publicKey = try Curve25519.KeyAgreement.PublicKey(rawRepresentation: peer.agreementPublicKey) + let key = try symmetricKey(identity: identity, peerPublicKey: publicKey) + let sealed = try ChaChaPoly.seal(encoder.encode(message), using: key) + let unsigned = UnsignedPacket(version: PeerProtocol.version, senderID: identity.id, recipientID: peer.id, + sentAt: now, nonce: nonce, ciphertext: sealed.combined) + let signature = try identity.signingKey.signature(for: signatureMaterial(unsigned)) + return SecurePacket(version: unsigned.version, senderID: unsigned.senderID, recipientID: unsigned.recipientID, + sentAt: unsigned.sentAt, nonce: unsigned.nonce, ciphertext: unsigned.ciphertext, signature: signature) + } + + public func open(_ packet: SecurePacket, as identity: PeerIdentity, trustedPeer: PeerRecord, replayGuard: ReplayGuard) async throws -> PeerMessage { + guard packet.version == PeerProtocol.version else { throw SecureCodecError.incompatibleVersion } + guard packet.recipientID == identity.id else { throw SecureCodecError.wrongRecipient } + guard packet.senderID == trustedPeer.id else { throw SecureCodecError.untrustedPeer } + let unsigned = UnsignedPacket(version: packet.version, senderID: packet.senderID, recipientID: packet.recipientID, + sentAt: packet.sentAt, nonce: packet.nonce, ciphertext: packet.ciphertext) + guard let signingKey = try? Curve25519.Signing.PublicKey(rawRepresentation: trustedPeer.signingPublicKey), + signingKey.isValidSignature(packet.signature, for: signatureMaterial(unsigned)) else { throw SecureCodecError.invalidSignature } + try await replayGuard.validate(nonce: packet.nonce, sentAt: packet.sentAt) + do { + let agreementKey = try Curve25519.KeyAgreement.PublicKey(rawRepresentation: trustedPeer.agreementPublicKey) + let key = try symmetricKey(identity: identity, peerPublicKey: agreementKey) + let box = try ChaChaPoly.SealedBox(combined: packet.ciphertext) + return try decoder.decode(PeerMessage.self, from: ChaChaPoly.open(box, using: key)) + } catch let error as SecureCodecError { throw error } + catch { throw SecureCodecError.malformed } + } + + private func symmetricKey(identity: PeerIdentity, peerPublicKey: Curve25519.KeyAgreement.PublicKey) throws -> SymmetricKey { + let secret = try identity.agreementKey.sharedSecretFromKeyAgreement(with: peerPublicKey) + return secret.hkdfDerivedSymmetricKey(using: SHA256.self, salt: Data("MagicSwitch-v1".utf8), + sharedInfo: Data(), outputByteCount: 32) + } + + /// Canonical binary representation avoids JSON key-order and date-rounding differences. + private func signatureMaterial(_ packet: UnsignedPacket) -> Data { + var data = Data() + func appendInteger(_ value: T) { + var value = value.bigEndian + withUnsafeBytes(of: &value) { data.append(contentsOf: $0) } + } + func appendUUID(_ uuid: UUID) { + var value = uuid.uuid + withUnsafeBytes(of: &value) { data.append(contentsOf: $0) } + } + appendInteger(UInt32(packet.version)) + appendUUID(packet.senderID); appendUUID(packet.recipientID) + appendInteger(packet.sentAt.timeIntervalSince1970.bitPattern) + appendUUID(packet.nonce) + appendInteger(UInt32(packet.ciphertext.count)); data.append(packet.ciphertext) + return data + } +} + +private struct UnsignedPacket: Codable { + let version: Int; let senderID: UUID; let recipientID: UUID; let sentAt: Date; let nonce: UUID; let ciphertext: Data +} diff --git a/Sources/MagicSwitchNetworking/Trust.swift b/Sources/MagicSwitchNetworking/Trust.swift new file mode 100644 index 0000000..a5a6df2 --- /dev/null +++ b/Sources/MagicSwitchNetworking/Trust.swift @@ -0,0 +1,73 @@ +import CryptoKit +import Foundation + +public actor TrustStore { + private var peers: [UUID: PeerRecord] + + /// In-memory store for tests and previews. Production code uses `KeychainTrustStore`. + public init(peers: [PeerRecord] = []) { + self.peers = Dictionary(uniqueKeysWithValues: peers.map { ($0.id, $0) }) + } + + public func peer(id: UUID) -> PeerRecord? { peers[id] } + public func allPeers() -> [PeerRecord] { peers.values.sorted { $0.name < $1.name } } + public func trust(_ peer: PeerRecord) throws { + guard peers.count < 2 || peers[peer.id] != nil else { throw TrustError.peerLimitReached } + if let existing = peers[peer.id], (existing.signingPublicKey != peer.signingPublicKey || existing.agreementPublicKey != peer.agreementPublicKey) { + throw TrustError.identityChanged + } + peers[peer.id] = peer + // Intentionally not persisted outside the Keychain. + } + public func remove(id: UUID) throws { peers[id] = nil } +} + +public enum TrustError: Error, Equatable { case peerLimitReached, identityChanged, invalidCode } + +public enum Enrollment { + public static func makeOffer(identity: PeerIdentity, name: String) -> EnrollmentOffer { + EnrollmentOffer(peer: identity.record(name: name), challenge: Data((0..<16).map { _ in UInt8.random(in: .min ... .max) })) + } + + /// A user-verifiable six digit code. Both peers compute this after exchanging offers. + public static func verificationCode(local: EnrollmentOffer, remote: EnrollmentOffer) -> String { + let ordered = [local, remote].sorted { $0.peer.id.uuidString < $1.peer.id.uuidString } + var material = Data("MagicSwitch/enrollment/v1\0".utf8) + func append(_ data: Data) { var length = UInt32(data.count).bigEndian; withUnsafeBytes(of: &length) { material.append(contentsOf: $0) }; material.append(data) } + for offer in ordered { + append(Data(offer.peer.id.uuidString.utf8)); append(Data(offer.peer.name.utf8)) + append(offer.peer.signingPublicKey); append(offer.peer.agreementPublicKey); append(offer.challenge) + } + let digest = SHA256.hash(data: material) + let value = digest.prefix(4).reduce(UInt32(0)) { ($0 << 8) | UInt32($1) } % 1_000_000 + return String(format: "%06u", value) + } + + /// Canonical transcript for the endpoint-selected, pre-trust possession proof. Both complete + /// offers and the fresh request nonce are signed; endpointBinding is the exact endpoint chosen + /// by the requester and echoed by the responder over that same bounded TCP connection. + public static func proofTranscript(_ request: EnrollmentProofRequest) throws -> Data { + var material = Data("Keybridge/enrollment-possession/v1\0".utf8) + func append(_ data: Data) { var length = UInt32(data.count).bigEndian; withUnsafeBytes(of: &length) { material.append(contentsOf: $0) }; material.append(data) } + append(try canonicalOffer(request.requester)); append(try canonicalOffer(request.responder)) + append(Data(request.nonce.uuidString.utf8)); append(Data(request.endpointBinding.utf8)) + return material + } + + public static func signProof(_ request: EnrollmentProofRequest, identity: PeerIdentity) throws -> EnrollmentProofResponse { + .init(responderID: identity.id, nonce: request.nonce, + signature: try identity.signingKey.signature(for: proofTranscript(request))) + } + + public static func verifyProof(_ response: EnrollmentProofResponse, request: EnrollmentProofRequest) -> Bool { + guard response.responderID == request.responder.peer.id, response.nonce == request.nonce, + let key = try? Curve25519.Signing.PublicKey(rawRepresentation: request.responder.peer.signingPublicKey), + let transcript = try? proofTranscript(request) else { return false } + return key.isValidSignature(response.signature, for: transcript) + } + + private static func canonicalOffer(_ offer: EnrollmentOffer) throws -> Data { + let encoder = JSONEncoder(); encoder.outputFormatting = [.sortedKeys, .withoutEscapingSlashes] + return try encoder.encode(offer) + } +} diff --git a/Tests/ACCEPTANCE.md b/Tests/ACCEPTANCE.md new file mode 100644 index 0000000..9eff679 --- /dev/null +++ b/Tests/ACCEPTANCE.md @@ -0,0 +1,14 @@ +# Hardware Acceptance Record + +Physical compatibility is not inferred from unit tests or a successful Bluetooth API return. Run `./Scripts/hardware-acceptance.sh` with a fallback input device available. The harness writes JSON Lines evidence under `dist/` and stops on the first failed observation. + +Required release evidence: + +- Set `MAC_A_MODEL`, `MAC_B_MODEL`, `MAC_C_MODEL`, `MAC_A_OS`, `MAC_B_OS`, `MAC_C_OS`, `KEYBOARD_MODEL`, and `KEYBOARD_FIRMWARE`; the harness refuses unknown metadata. +- Complete three consecutive A→B→C→A cycles with exact typed phrases received only by each target. +- Confirm pairing remains on both Macs after every handoff. +- Complete a handoff after app restart, sleep/wake, Wi-Fi interruption, Bluetooth restart, and keyboard power-cycle. +- Confirm failure recovery either restores the source or accurately requests manual recovery. +- Never accept a Bluetooth “Connected” status as typed-HID proof. + +Never commit hardware logs containing machine names or complete Bluetooth identifiers. Attach redacted logs to the release record. diff --git a/Tests/KeyboardSwitchAppTests/AppRuntimeTests.swift b/Tests/KeyboardSwitchAppTests/AppRuntimeTests.swift new file mode 100644 index 0000000..928f897 --- /dev/null +++ b/Tests/KeyboardSwitchAppTests/AppRuntimeTests.swift @@ -0,0 +1,262 @@ +import Foundation +import KeyboardSwitchCore +import MagicSwitchNetworking +import Testing +@testable import KeyboardSwitchApp + +@Suite("App runtime safety and configuration") +struct AppRuntimeTests { + @Test("configuration round trips") + func configurationRoundTrip() { + let suite = "KeybridgeTests.\(UUID())" + let defaults = UserDefaults(suiteName: suite)! + defer { defaults.removePersistentDomain(forName: suite) } + let store = UserDefaultsConfigurationStore(defaults: defaults) + let expected = AppConfiguration(localMacName: "Studio", keyboardID: "AA-BB", trustedPeerIDs: [UUID()], hasCompletedOnboarding: true) + store.save(expected) + #expect(store.load() == expected) + } + + @Test("legacy configuration defaults round-trip evidence to false") + func legacyConfigurationMigration() throws { + let peerID = UUID() + let json = """ + {"localMacName":"Studio","keyboardID":"keyboard","trustedPeerIDs":["\(peerID.uuidString)"],"hasCompletedOnboarding":false,"directShortcutEnabled":false} + """ + let decoded = try JSONDecoder().decode(AppConfiguration.self, from: Data(json.utf8)) + #expect(!decoded.guidedRoundTripConfirmed) + #expect(decoded.trustedPeerIDs == [peerID]) + } + + @Test("onboarding requires keyboard trust and typed round-trip confirmation") @MainActor + func onboardingReadinessGate() { + var configuration = AppConfiguration.initial + configuration.guidedRoundTripConfirmed = true + let runtime = ModelRuntime(), store = MemoryConfigurationStore(configuration) + let model = AppModel(runtime: runtime, configurationStore: store) + model.finishOnboarding() + #expect(!model.hasCompletedOnboarding) + + model.selectKeyboard(.init(id: UUID(), name: "Magic Keyboard", detail: "keyboard", isPaired: true, isConnected: true)) + model.peers = [.init(id: UUID(), name: "Laptop", availability: .online, isTrusted: true)] + model.finishOnboarding() + #expect(model.hasCompletedOnboarding) + #expect(model.onboardingReady) + } + + @Test("production runtime never succeeds before secure service startup") + func stoppedRuntimeDoesNotFakeSuccess() async { + let runtime = ProductionAppRuntime(bluetooth: EmptyBluetoothAdapter(), identityStore: MemoryIdentityStore()) + await #expect(throws: AppRuntimeError.self) { + try await runtime.transfer(keyboardID: KeyboardID("keyboard"), source: PeerID(), target: PeerID()) { _ in } + } + } + + @Test("production runtime fails closed when secure identity cannot load") + func identityFailureFailsClosed() async { + let runtime = ProductionAppRuntime(bluetooth: EmptyBluetoothAdapter(), identityStore: FailingIdentityStore()) + await runtime.start() + await #expect(throws: AppRuntimeError.self) { + _ = try await runtime.localEnrollmentOffer() + } + await #expect(throws: AppRuntimeError.self) { + try await runtime.transfer(keyboardID: KeyboardID("keyboard"), source: PeerID(), target: PeerID()) { _ in } + } + } + + @Test("remote lease expiry is narrowly bounded") + func leaseExpiryIsBounded() { + let now = Date() + #expect(ProductionAppRuntime.isAcceptableLeaseExpiry(now.addingTimeInterval(30), now: now)) + #expect(!ProductionAppRuntime.isAcceptableLeaseExpiry(now.addingTimeInterval(300), now: now)) + #expect(!ProductionAppRuntime.isAcceptableLeaseExpiry(now.addingTimeInterval(-1), now: now)) + } + + @Test("lease authority fences local operations, renews, and cancels exactly") + func leaseAuthorityFencing() { + let claimant = UUID(), transaction = UUID(), now = Date(), fence: UInt64 = 42 + var authority = LeaseAuthority() + let initiallyAccepted = authority.accept(claimantID: claimant, transactionID: transaction, + expiry: now.addingTimeInterval(10), fence: fence, now: now) + #expect(initiallyAccepted) + #expect(authority.authorizes(claimantID: claimant, transactionID: transaction, + fence: fence, now: now)) + #expect(!authority.authorizes(claimantID: claimant, transactionID: transaction, + fence: fence - 1, now: now)) + #expect(!authority.authorizes(claimantID: claimant, transactionID: transaction, + fence: fence, now: now.addingTimeInterval(11))) + + let renewed = authority.accept(claimantID: claimant, transactionID: transaction, + expiry: now.addingTimeInterval(30), fence: fence, now: now) + #expect(renewed) + #expect(authority.authorizes(claimantID: claimant, transactionID: transaction, + fence: fence, now: now.addingTimeInterval(20))) + let wrongCancellation = authority.cancel(claimantID: claimant, transactionID: UUID()) + let cancellation = authority.cancel(claimantID: claimant, transactionID: transaction) + #expect(!wrongCancellation) + #expect(cancellation) + #expect(!authority.authorizes(claimantID: claimant, transactionID: transaction, + fence: fence, now: now)) + } + + @Test("lease commands and releases are bound to claimant transaction and fence") + func leaseAuthorizationIsFullyBound() { + let now = Date(), owner = UUID(), attacker = UUID(), transaction = UUID() + var authority = LeaseAuthority() + let accepted = authority.accept(claimantID: owner, transactionID: transaction, + expiry: now.addingTimeInterval(30), fence: 42, now: now) + #expect(accepted) + #expect(authority.authorizes(claimantID: owner, transactionID: transaction, fence: 42, now: now)) + #expect(!authority.authorizes(claimantID: attacker, transactionID: transaction, fence: 42, now: now)) + #expect(!authority.authorizes(claimantID: owner, transactionID: UUID(), fence: 42, now: now)) + #expect(!authority.authorizes(claimantID: owner, transactionID: transaction, fence: 41, now: now)) + let attackerRelease = authority.release(claimantID: attacker, transactionID: transaction, fence: 42) + let wrongTransactionRelease = authority.release(claimantID: owner, transactionID: UUID(), fence: 42) + let wrongFenceRelease = authority.release(claimantID: owner, transactionID: transaction, fence: 41) + #expect(!attackerRelease); #expect(!wrongTransactionRelease); #expect(!wrongFenceRelease) + #expect(authority.authorizes(claimantID: owner, transactionID: transaction, fence: 42, now: now)) + let ownerRelease = authority.release(claimantID: owner, transactionID: transaction, fence: 42) + #expect(ownerRelease) + #expect(!authority.authorizes(claimantID: owner, transactionID: transaction, fence: 42, now: now)) + } + + @Test("lease bounds reject expired overlong and conflicting claims") + func leaseClaimsAreBounded() { + let now = Date(), owner = UUID(), transaction = UUID() + var authority = LeaseAuthority() + let expired = authority.accept(claimantID: owner, transactionID: transaction, + expiry: now.addingTimeInterval(-1), fence: 1, now: now) + let overlong = authority.accept(claimantID: owner, transactionID: transaction, + expiry: now.addingTimeInterval(36), fence: 1, now: now) + let valid = authority.accept(claimantID: owner, transactionID: transaction, + expiry: now.addingTimeInterval(30), fence: 2, now: now) + let conflicting = authority.accept(claimantID: UUID(), transactionID: UUID(), + expiry: now.addingTimeInterval(30), fence: 3, now: now) + let staleFence = authority.accept(claimantID: owner, transactionID: transaction, + expiry: now.addingTimeInterval(30), fence: 1, now: now) + #expect(!expired); #expect(!overlong); #expect(valid); #expect(!conflicting); #expect(!staleFence) + } + + @Test("reply correlation rejects wrong peer transaction fence and request") + func repliesAreFullyCorrelated() { + let request = UUID(), peer = UUID(), transaction = UUID() + var correlator = ReplyCorrelator() + correlator.expect(requestID: request, peerID: peer, transactionID: transaction, fence: 99) + #expect(correlator.accepts(requestID: request, peerID: peer, transactionID: transaction, fence: 99)) + #expect(!correlator.accepts(requestID: UUID(), peerID: peer, transactionID: transaction, fence: 99)) + #expect(!correlator.accepts(requestID: request, peerID: UUID(), transactionID: transaction, fence: 99)) + #expect(!correlator.accepts(requestID: request, peerID: peer, transactionID: UUID(), fence: 99)) + #expect(!correlator.accepts(requestID: request, peerID: peer, transactionID: transaction, fence: 98)) + correlator.remove(requestID: request) + #expect(!correlator.accepts(requestID: request, peerID: peer, transactionID: transaction, fence: 99)) + } + + @Test("partitioned trusted members remain required lease voters") + func fixedLeaseMembership() { + let local = UUID(), online = UUID(), partitioned = UUID() + let voters = ProductionAppRuntime.requiredVoters(trustedPeerIDs: [online, partitioned], localID: local) + #expect(voters == [local, online, partitioned]) + // Discovery/online state is intentionally absent from this calculation: the caller must + // contact every configured voter and fail closed if the partitioned member cannot vote. + } + + @Test("ownership epochs reject reordered updates and survive restart") + func ownershipEpochOrdering() { + let store = MemoryOwnershipEpochStore(), oldOwner = UUID(), newOwner = UUID() + var state = OwnershipState(store: store) + let acceptedNew = state.apply(ownerID: newOwner, epoch: 200) + let acceptedOld = state.apply(ownerID: oldOwner, epoch: 100) + #expect(acceptedNew) + #expect(!acceptedOld) + #expect(state.ownerID == newOwner) + + var restarted = OwnershipState(store: store) + #expect(restarted.epoch == 200) + #expect(restarted.ownerID == newOwner) + let acceptedEqual = restarted.apply(ownerID: oldOwner, epoch: 200) + let acceptedStale = restarted.apply(ownerID: oldOwner, epoch: 199) + #expect(!acceptedEqual) + #expect(!acceptedStale) + let next = restarted.nextEpoch(wallClock: 150) + restarted.commitLocal(ownerID: newOwner, epoch: next) + #expect(restarted.epoch == 201) + #expect(restarted.ownerID == newOwner) + } + + @Test("model consumes remote owner events and retry replays the failed transfer") @MainActor + func modelOwnerAndRetry() async throws { + let peerID = UUID(), runtime = ModelRuntime() + let store = MemoryConfigurationStore(.init(localMacName: "Configured Studio", keyboardID: "keyboard", + trustedPeerIDs: [peerID], hasCompletedOnboarding: true)) + let model = AppModel(runtime: runtime, configurationStore: store) + let peer = PeerMac(id: peerID, name: "Laptop", availability: .online, isTrusted: true) + model.peers = [peer] + model.selectKeyboard(.init(id: UUID(), name: "Magic Keyboard", detail: "keyboard", isPaired: true, isConnected: true)) + model.ownerID = model.localPeer.id + + model.moveKeyboard(to: peer) + try await waitUntil { if case .failed = model.transferStage { true } else { false } } + #expect(await runtime.transferCount() == 1) + model.retry() + try await waitUntil { model.ownerID == peerID && model.transferStage == .complete("Laptop") } + #expect(await runtime.transferCount() == 2) + + await runtime.emitOwner(peerID) + try await waitUntil { model.ownerID == peerID } + #expect(!model.keyboard.isConnected) + } + + @MainActor private func waitUntil(_ condition: () -> Bool) async throws { + for _ in 0..<100 { + if condition() { return } + try await Task.sleep(for: .milliseconds(10)) + } + Issue.record("Timed out waiting for model state") + } +} + +private final class MemoryConfigurationStore: AppConfigurationPersisting, @unchecked Sendable { + private var value: AppConfiguration + init(_ value: AppConfiguration) { self.value = value } + func load() -> AppConfiguration { value } + func save(_ value: AppConfiguration) { self.value = value } +} + +private final class MemoryOwnershipEpochStore: OwnershipEpochPersisting, @unchecked Sendable { + private let lock = NSLock() + private var value = PersistedOwnership(ownerID: nil, epoch: 0) + func load() -> PersistedOwnership { lock.withLock { value } } + func save(_ value: PersistedOwnership) { lock.withLock { self.value = value } } +} + +private actor ModelRuntime: AppRuntime { + private let peerPair = AsyncStream<[RuntimePeer]>.makeStream() + private let ownerPair = AsyncStream.makeStream() + private var transfers = 0 + + func keyboards() -> [BluetoothKeyboard] { [.init(id: .init("keyboard"), name: "Magic Keyboard", isPaired: true, isConnected: false)] } + func peerUpdates() -> AsyncStream<[RuntimePeer]> { peerPair.stream } + func ownerUpdates() -> AsyncStream { ownerPair.stream } + func start() {} + func stop() {} + func emitOwner(_ id: UUID?) { ownerPair.continuation.yield(id) } + func transferCount() -> Int { transfers } + func transfer(keyboardID: KeyboardID, source: PeerID, target: PeerID, progress: @escaping @Sendable (SwitchProgress) -> Void) async throws { + transfers += 1 + if transfers == 1 { throw BluetoothAdapterError.unsupported("simulated failure") } + progress(.init(transactionID: UUID(), stage: .completed, detail: "Keyboard moved")) + } +} + +private struct FailingIdentityStore: IdentityPersisting { + struct Failure: Error {} + func loadOrCreateIdentity() throws -> PeerIdentity { throw Failure() } +} + +private actor EmptyBluetoothAdapter: BluetoothAdapter { + func keyboards() -> [BluetoothKeyboard] { [] } + func keyboard(id: KeyboardID) throws -> BluetoothKeyboard { throw BluetoothAdapterError.deviceNotFound(id) } + func connect(id: KeyboardID) throws {} + func disconnect(id: KeyboardID) throws {} + func events() -> AsyncStream<[BluetoothKeyboard]> { AsyncStream { $0.finish() } } +} diff --git a/Tests/KeyboardSwitchAppTests/MultiPeerIntegrationTests.swift b/Tests/KeyboardSwitchAppTests/MultiPeerIntegrationTests.swift new file mode 100644 index 0000000..32500cf --- /dev/null +++ b/Tests/KeyboardSwitchAppTests/MultiPeerIntegrationTests.swift @@ -0,0 +1,50 @@ +import Foundation +import KeyboardSwitchCore +import Testing + +@Suite("Simulated three-Mac switching") +struct MultiPeerIntegrationTests { + @Test("keyboard performs A to B to C to A round trip") + func roundTrip() async throws { + let a = PeerID(), b = PeerID(), c = PeerID() + let keyboard = KeyboardID("integration-keyboard") + let fleet = SimulatedFleet(peers: [a, b, c], owner: a) + let coordinator = KeyboardSwitchCoordinator(remote: fleet, lease: InMemorySwitchLease(), policy: .init(initialRetryDelay: .milliseconds(1), verificationAttempts: 2)) + + for (source, target) in [(a, b), (b, c), (c, a)] { + try await coordinator.perform(.init(keyboardID: keyboard, source: source, target: target)) + #expect(await fleet.currentOwner() == target) + } + } + + @Test("failed target connection restores source") + func recovery() async { + let a = PeerID(), b = PeerID(), keyboard = KeyboardID("integration-keyboard") + let fleet = SimulatedFleet(peers: [a, b], owner: a, failingConnectPeer: b) + let coordinator = KeyboardSwitchCoordinator(remote: fleet, lease: InMemorySwitchLease(), policy: .init(maximumAttempts: 1, initialRetryDelay: .milliseconds(1), verificationAttempts: 1)) + await #expect(throws: SwitchFailure.targetConnectionFailed(recoveredSource: true)) { + try await coordinator.perform(.init(keyboardID: keyboard, source: a, target: b)) + } + #expect(await fleet.currentOwner() == a) + } +} + +private actor SimulatedFleet: RemoteKeyboardControl { + private let peers: Set + private var owner: PeerID? + private let failingConnectPeer: PeerID? + + init(peers: Set, owner: PeerID?, failingConnectPeer: PeerID? = nil) { + self.peers = peers; self.owner = owner; self.failingConnectPeer = failingConnectPeer + } + + func currentOwner() -> PeerID? { owner } + func isReachable(peer: PeerID) -> Bool { peers.contains(peer) } + func disconnect(keyboard: KeyboardID, on peer: PeerID) throws { if owner == peer { owner = nil } } + func connect(keyboard: KeyboardID, on peer: PeerID) throws { + if peer == failingConnectPeer { throw BluetoothAdapterError.operationFailed(operation: "connect", code: -1) } + guard peers.contains(peer) else { throw SwitchFailure.targetUnreachable } + owner = peer + } + func isConnected(keyboard: KeyboardID, on peer: PeerID) -> Bool { owner == peer } +} diff --git a/Tests/KeyboardSwitchCoreTests/BluetoothSimulatorTests.swift b/Tests/KeyboardSwitchCoreTests/BluetoothSimulatorTests.swift new file mode 100644 index 0000000..2c5c0fa --- /dev/null +++ b/Tests/KeyboardSwitchCoreTests/BluetoothSimulatorTests.swift @@ -0,0 +1,40 @@ +import Testing +import KeyboardSwitchBluetooth +import KeyboardSwitchCore + +@Suite("Bluetooth simulator") +struct BluetoothSimulatorTests { + @Test("connect and disconnect preserve pairing") + func connectionLifecycle() async throws { + let id = KeyboardID("test") + let adapter = SimulatedBluetoothAdapter(keyboards: [.init(id: id, name: "Magic Keyboard", isPaired: true, isConnected: false)]) + try await adapter.connect(id: id) + #expect(try await adapter.keyboard(id: id).isConnected) + try await adapter.disconnect(id: id) + let keyboard = try await adapter.keyboard(id: id) + #expect(!keyboard.isConnected) + #expect(keyboard.isPaired) + } + + @Test("unpaired keyboard cannot connect") + func unpairedFails() async { + let id = KeyboardID("test") + let adapter = SimulatedBluetoothAdapter(keyboards: [.init(id: id, name: "Magic Keyboard", isPaired: false, isConnected: false)]) + await #expect(throws: BluetoothAdapterError.deviceNotPaired(id)) { + try await adapter.connect(id: id) + } + } + + @Test("event stream observes state changes") + func eventStream() async throws { + let id = KeyboardID("test") + let adapter = SimulatedBluetoothAdapter(keyboards: [.init(id: id, name: "Magic Keyboard", isPaired: true, isConnected: false)]) + let stream = await adapter.events() + let observation = Task { () -> Bool in + for await snapshot in stream where snapshot.first?.isConnected == true { return true } + return false + } + try await adapter.connect(id: id) + #expect(await observation.value) + } +} diff --git a/Tests/KeyboardSwitchCoreTests/SwitchingTests.swift b/Tests/KeyboardSwitchCoreTests/SwitchingTests.swift new file mode 100644 index 0000000..b0624a7 --- /dev/null +++ b/Tests/KeyboardSwitchCoreTests/SwitchingTests.swift @@ -0,0 +1,139 @@ +import Foundation +import Testing +@testable import KeyboardSwitchCore + +@Suite("Keyboard switch transaction") +struct SwitchingTests { + @Test("successful transfer releases source and connects target") + func successfulTransfer() async throws { + let source = PeerID(), target = PeerID(), keyboard = KeyboardID("keyboard") + let remote = FakeRemote(connected: [source: true, target: false]) + let coordinator = KeyboardSwitchCoordinator(remote: remote, lease: InMemorySwitchLease(), policy: fastPolicy) + try await coordinator.perform(.init(keyboardID: keyboard, source: source, target: target)) + #expect(await remote.isConnected(keyboard: keyboard, on: source) == false) + #expect(await remote.isConnected(keyboard: keyboard, on: target) == true) + } + + @Test("successful transfer releases its lease synchronously") + func releasesLease() async throws { + let source = PeerID(), target = PeerID(), lease = InMemorySwitchLease() + let coordinator = KeyboardSwitchCoordinator(remote: FakeRemote(connected: [source: true]), lease: lease, policy: fastPolicy) + try await coordinator.perform(.init(keyboardID: .init("keyboard"), source: source, target: target)) + #expect(await lease.acquire(transactionID: UUID(), expiresAt: .distantFuture)) + } + + @Test("target failure restores source") + func recovery() async throws { + let source = PeerID(), target = PeerID(), keyboard = KeyboardID("keyboard") + let remote = FakeRemote(connected: [source: true, target: false], failingConnectPeers: [target]) + let coordinator = KeyboardSwitchCoordinator(remote: remote, lease: InMemorySwitchLease(), policy: fastPolicy) + do { + try await coordinator.perform(.init(keyboardID: keyboard, source: source, target: target)) + Issue.record("Expected target connection failure") + } catch let failure as SwitchFailure { + #expect(failure == .targetConnectionFailed(recoveredSource: true)) + } + #expect(await remote.isConnected(keyboard: keyboard, on: source) == true) + } + + @Test("lease contention rejects transfer") + func leaseContention() async throws { + let lease = InMemorySwitchLease() + #expect(await lease.acquire(transactionID: UUID(), expiresAt: .distantFuture)) + let coordinator = KeyboardSwitchCoordinator(remote: FakeRemote(), lease: lease, policy: fastPolicy) + do { + try await coordinator.perform(.init(keyboardID: .init("keyboard"), source: PeerID(), target: PeerID())) + Issue.record("Expected lease failure") + } catch let failure as SwitchFailure { + #expect(failure == .leaseUnavailable) + } + } + + @Test("same source and target is rejected") + func samePeer() async { + let peer = PeerID() + let coordinator = KeyboardSwitchCoordinator(remote: FakeRemote(), lease: InMemorySwitchLease(), policy: fastPolicy) + await #expect(throws: SwitchFailure.samePeer) { + try await coordinator.perform(.init(keyboardID: .init("keyboard"), source: peer, target: peer)) + } + } + + @Test("offline peers have accurate failures") + func reachabilityFailures() async { + let source = PeerID(), target = PeerID(), keyboard = KeyboardID("keyboard") + let sourceOffline = KeyboardSwitchCoordinator(remote: FakeRemote(reachable: [target]), lease: InMemorySwitchLease(), policy: fastPolicy) + await #expect(throws: SwitchFailure.sourceUnreachable) { + try await sourceOffline.perform(.init(keyboardID: keyboard, source: source, target: target)) + } + let targetOffline = KeyboardSwitchCoordinator(remote: FakeRemote(reachable: [source]), lease: InMemorySwitchLease(), policy: fastPolicy) + await #expect(throws: SwitchFailure.targetUnreachable) { + try await targetOffline.perform(.init(keyboardID: keyboard, source: source, target: target)) + } + } + + @Test("failed target and recovery reports manual recovery") + func failedRecovery() async { + let source = PeerID(), target = PeerID(), keyboard = KeyboardID("keyboard") + let remote = FakeRemote(connected: [source: true], failingConnectPeers: [source, target]) + let coordinator = KeyboardSwitchCoordinator(remote: remote, lease: InMemorySwitchLease(), policy: fastPolicy) + await #expect(throws: SwitchFailure.targetConnectionFailed(recoveredSource: false)) { + try await coordinator.perform(.init(keyboardID: keyboard, source: source, target: target)) + } + } + + @Test("cancellation releases lease") + func cancellationReleasesLease() async throws { + let source = PeerID(), target = PeerID(), lease = InMemorySwitchLease() + let coordinator = KeyboardSwitchCoordinator(remote: SlowRemote(), lease: lease, policy: .init(operationTimeout: .seconds(5))) + let task = Task { try await coordinator.perform(.init(keyboardID: .init("keyboard"), source: source, target: target)) } + try await Task.sleep(for: .milliseconds(20)) + task.cancel() + await #expect(throws: CancellationError.self) { try await task.value } + #expect(await lease.acquire(transactionID: UUID(), expiresAt: .distantFuture)) + } + + @Test("hung operation is bounded") + func operationTimeout() async { + let coordinator = KeyboardSwitchCoordinator( + remote: SlowRemote(), lease: InMemorySwitchLease(), + policy: .init(maximumAttempts: 1, initialRetryDelay: .milliseconds(1), verificationAttempts: 1, leaseDuration: 2, operationTimeout: .milliseconds(10)) + ) + await #expect(throws: SwitchFailure.operationTimedOut("releasing the keyboard")) { + try await coordinator.perform(.init(keyboardID: .init("keyboard"), source: PeerID(), target: PeerID())) + } + } + + private var fastPolicy: SwitchPolicy { + .init(maximumAttempts: 2, initialRetryDelay: .milliseconds(1), verificationAttempts: 2, leaseDuration: 2) + } +} + +private actor FakeRemote: RemoteKeyboardControl { + private var connected: [PeerID: Bool] + private let reachable: Set? + private let failingConnectPeers: Set + + init(connected: [PeerID: Bool] = [:], reachable: Set? = nil, failingConnectPeers: Set = []) { + self.connected = connected + self.reachable = reachable + self.failingConnectPeers = failingConnectPeers + } + + func isReachable(peer: PeerID) -> Bool { reachable?.contains(peer) ?? true } + + func disconnect(keyboard: KeyboardID, on peer: PeerID) { connected[peer] = false } + + func connect(keyboard: KeyboardID, on peer: PeerID) throws { + if failingConnectPeers.contains(peer) { throw BluetoothAdapterError.operationFailed(operation: "connect", code: -1) } + connected[peer] = true + } + + func isConnected(keyboard: KeyboardID, on peer: PeerID) -> Bool { connected[peer] ?? false } +} + +private actor SlowRemote: RemoteKeyboardControl { + func isReachable(peer: PeerID) -> Bool { true } + func disconnect(keyboard: KeyboardID, on peer: PeerID) async throws { try await Task.sleep(for: .seconds(30)) } + func connect(keyboard: KeyboardID, on peer: PeerID) async throws { try await Task.sleep(for: .seconds(30)) } + func isConnected(keyboard: KeyboardID, on peer: PeerID) -> Bool { false } +} diff --git a/Tests/MagicSwitchNetworkingTests/SecurityTests.swift b/Tests/MagicSwitchNetworkingTests/SecurityTests.swift new file mode 100644 index 0000000..24d1c03 --- /dev/null +++ b/Tests/MagicSwitchNetworkingTests/SecurityTests.swift @@ -0,0 +1,355 @@ +import CryptoKit +import Foundation +import Testing +@testable import MagicSwitchNetworking + +@Suite struct SecurityTests { + @Test func encryptedRoundTrip() async throws { + let alice = PeerIdentity(), bob = PeerIdentity() + let message = PeerMessage.switchRequest(transactionID: UUID(), deviceID: "keyboard", sourceID: alice.id, targetID: bob.id) + let packet = try SecureCodec().seal(message, from: alice, to: bob.record(name: "Bob")) + #expect(packet.ciphertext != (try JSONEncoder().encode(message))) + let opened = try await SecureCodec().open(packet, as: bob, trustedPeer: alice.record(name: "Alice"), replayGuard: ReplayGuard()) + #expect(opened == message) + } + + @Test func rejectsReplay() async throws { + let alice = PeerIdentity(), bob = PeerIdentity(), guarder = ReplayGuard() + let packet = try SecureCodec().seal(.heartbeat(transactionID: nil), from: alice, to: bob.record(name: "Bob")) + _ = try await SecureCodec().open(packet, as: bob, trustedPeer: alice.record(name: "Alice"), replayGuard: guarder) + await #expect(throws: SecureCodecError.replay) { + try await SecureCodec().open(packet, as: bob, trustedPeer: alice.record(name: "Alice"), replayGuard: guarder) + } + } + + @Test func rejectsStaleAndWrongRecipient() async throws { + let alice = PeerIdentity(), bob = PeerIdentity(), carol = PeerIdentity() + let stale = try SecureCodec().seal(.heartbeat(transactionID: nil), from: alice, to: bob.record(name: "Bob"), now: .now.addingTimeInterval(-60)) + await #expect(throws: SecureCodecError.stale) { + try await SecureCodec().open(stale, as: bob, trustedPeer: alice.record(name: "Alice"), replayGuard: ReplayGuard(maximumAge: 5)) + } + let packet = try SecureCodec().seal(.heartbeat(transactionID: nil), from: alice, to: bob.record(name: "Bob")) + await #expect(throws: SecureCodecError.wrongRecipient) { + try await SecureCodec().open(packet, as: carol, trustedPeer: alice.record(name: "Alice"), replayGuard: ReplayGuard()) + } + } + + @Test func rejectsTampering() async throws { + let alice = PeerIdentity(), bob = PeerIdentity() + let packet = try SecureCodec().seal(.heartbeat(transactionID: nil), from: alice, to: bob.record(name: "Bob")) + let tampered = SecurePacket(version: packet.version, senderID: packet.senderID, recipientID: packet.recipientID, + sentAt: packet.sentAt, nonce: packet.nonce, ciphertext: packet.ciphertext + Data([0]), signature: packet.signature) + await #expect(throws: SecureCodecError.invalidSignature) { + try await SecureCodec().open(tampered, as: bob, trustedPeer: alice.record(name: "Alice"), replayGuard: ReplayGuard()) + } + } + + @Test func enrollmentCodeMatchesOnBothPeers() { + let a = Enrollment.makeOffer(identity: PeerIdentity(), name: "A") + let b = Enrollment.makeOffer(identity: PeerIdentity(), name: "B") + #expect(Enrollment.verificationCode(local: a, remote: b) == Enrollment.verificationCode(local: b, remote: a)) + #expect(Enrollment.verificationCode(local: a, remote: b).count == 6) + let renamed = EnrollmentOffer(peer: PeerRecord(id: b.peer.id, name: "Other", signingPublicKey: b.peer.signingPublicKey, + agreementPublicKey: b.peer.agreementPublicKey), challenge: b.challenge) + #expect(Enrollment.verificationCode(local: a, remote: b) != Enrollment.verificationCode(local: a, remote: renamed)) + let changedAgreement = EnrollmentOffer(peer: PeerRecord(id: b.peer.id, name: b.peer.name, signingPublicKey: b.peer.signingPublicKey, + agreementPublicKey: PeerIdentity().agreementKey.publicKey.rawRepresentation), challenge: b.challenge) + #expect(Enrollment.verificationCode(local: a, remote: b) != Enrollment.verificationCode(local: a, remote: changedAgreement)) + let changedChallenge = EnrollmentOffer(peer: b.peer, challenge: b.challenge + Data([0])) + #expect(Enrollment.verificationCode(local: a, remote: b) != Enrollment.verificationCode(local: a, remote: changedChallenge)) + } + + @Test func enrollmentPossessionProofIsTranscriptBound() throws { + let requester = PeerIdentity(), responder = PeerIdentity() + let request = EnrollmentProofRequest( + requester: Enrollment.makeOffer(identity: requester, name: "Requester"), + responder: Enrollment.makeOffer(identity: responder, name: "Responder"), + nonce: UUID(), endpointBinding: "127.0.0.1:4242") + let proof = try Enrollment.signProof(request, identity: responder) + #expect(Enrollment.verifyProof(proof, request: request)) + let redirected = EnrollmentProofRequest(requester: request.requester, responder: request.responder, + nonce: request.nonce, endpointBinding: "127.0.0.1:4343") + #expect(!Enrollment.verifyProof(proof, request: redirected)) + let replayed = EnrollmentProofRequest(requester: request.requester, responder: request.responder, + nonce: UUID(), endpointBinding: request.endpointBinding) + #expect(!Enrollment.verifyProof(proof, request: replayed)) + } + + @Test func trustStoreEnforcesPeerLimitAndIdentityPinning() async throws { + let store = TrustStore() + let one = PeerIdentity(), two = PeerIdentity(), three = PeerIdentity() + try await store.trust(one.record(name: "One")); try await store.trust(two.record(name: "Two")) + await #expect(throws: TrustError.peerLimitReached) { try await store.trust(three.record(name: "Three")) } + let impostor = PeerRecord(id: one.id, name: "One", signingPublicKey: three.signingKey.publicKey.rawRepresentation, + agreementPublicKey: three.agreementKey.publicKey.rawRepresentation) + await #expect(throws: TrustError.identityChanged) { try await store.trust(impostor) } + } + + @Test func framingRoundTripAndMalformedLength() throws { + let a = PeerIdentity(), b = PeerIdentity() + let packet = try SecureCodec().seal(.heartbeat(transactionID: nil), from: a, to: b.record(name: "B")) + let frame = try PeerFraming.frame(packet) + #expect(try PeerFraming.decode(frame) == packet) + #expect(throws: TransportError.self) { try PeerFraming.decode(Data([0, 0, 0, 20, 1])) } + } + + @Test func enrollmentOfferWireRoundTrip() throws { + let offer = Enrollment.makeOffer(identity: PeerIdentity(), name: "Nearby Mac") + let frame = try PeerFraming.frameWire(.enrollmentRequest(offer)) + guard case .enrollmentRequest(let decoded) = try PeerFraming.decodeWire(frame) else { + Issue.record("Expected enrollment request"); return + } + #expect(decoded == offer) + #expect(throws: TransportError.invalidFrame) { try PeerFraming.decode(frame) } + } + + @Test func rejectsOversizedPreTrustFrame() { + let huge = EnrollmentOffer(peer: PeerIdentity().record(name: String(repeating: "x", count: PeerConnection.maximumPacketSize)), challenge: Data()) + #expect(throws: TransportError.oversizedFrame) { try PeerFraming.frameWire(.enrollmentRequest(huge)) } + } + + @Test func peerServiceCanRestartWithoutClosingMessageStream() async throws { + let service = PeerService(identity: PeerIdentity(), displayName: "Restart Test \(UUID())", + trustStore: KeychainTrustStore(service: "KeybridgeTests.\(UUID())")) + try await service.start() + await service.stop() + try await service.start() + await service.stop() + } + + @Test func initialListenerFailureCanRetryCleanly() async throws { + enum Expected: Error { case readinessFailed } + final class ReadinessState: @unchecked Sendable { + let lock = NSLock(); var calls = 0 + func awaitReady(_ listener: PeerListener) async throws { + let call = lock.withLock { calls += 1; return calls } + if call == 1 { throw Expected.readinessFailed } + } + } + let readiness = ReadinessState() + let service = PeerService(identity: PeerIdentity(), displayName: "Initial failure \(UUID())", + trustStore: KeychainTrustStore(service: "KeybridgeTests.\(UUID())"), + listenerReadiness: readiness.awaitReady) + await #expect(throws: Expected.self) { try await service.start() } + try await service.start() + await service.stop() + } + + @Test func initialListenerTimeoutCanRetryCleanly() async throws { + final class ReadinessState: @unchecked Sendable { + let lock = NSLock(); var calls = 0 + func awaitReady(_ listener: PeerListener) async throws { + let call = lock.withLock { calls += 1; return calls } + if call == 1 { try await Task.sleep(for: .seconds(60)) } + } + } + let readiness = ReadinessState() + let service = PeerService(identity: PeerIdentity(), displayName: "Initial timeout \(UUID())", + trustStore: KeychainTrustStore(service: "KeybridgeTests.\(UUID())"), + listenerReadiness: readiness.awaitReady, + listenerReadinessTimeout: .milliseconds(25)) + await #expect(throws: PeerServiceError.self) { try await service.start() } + try await service.start() + await service.stop() + } + + @Test func renameDuringProvisionalStartupFailsWithoutMutatingEnrollmentName() async throws { + actor ReadinessGate { + private var entered = false + private var released = false + private var continuation: CheckedContinuation? + + func awaitReady(_ listener: PeerListener) async throws { + entered = true + if released { return } + await withCheckedContinuation { continuation = $0 } + } + + func hasEntered() -> Bool { entered } + func release() { + released = true + continuation?.resume() + continuation = nil + } + } + let originalName = "Provisional-\(UUID())" + let gate = ReadinessGate() + let service = PeerService(identity: PeerIdentity(), displayName: originalName, + trustStore: KeychainTrustStore(service: "KeybridgeTests.\(UUID())"), + listenerReadiness: gate.awaitReady) + let startup = Task { try await service.start() } + while !(await gate.hasEntered()) { try await Task.sleep(for: .milliseconds(1)) } + + await #expect(throws: PeerServiceError.self) { try await service.updateDisplayName("Must not commit") } + #expect((await service.localEnrollmentOffer()).peer.name == originalName) + + await gate.release() + try await startup.value + #expect((await service.localEnrollmentOffer()).peer.name == originalName) + await service.stop() + } + + @Test func displayNameReplacementFailureLeavesExistingServiceRestartable() async throws { + enum Expected: Error { case replacementFailed } + final class FactoryState: @unchecked Sendable { + let lock = NSLock(); var calls = 0 + func make(_ name: String) throws -> PeerListener { + lock.lock(); defer { lock.unlock() } + calls += 1 + if calls == 2 { throw Expected.replacementFailed } + return try PeerListener(advertisedName: name) + } + } + let factory = FactoryState() + let service = PeerService(identity: PeerIdentity(), displayName: "Original-\(UUID())", + trustStore: KeychainTrustStore(service: "KeybridgeTests.\(UUID())"), + listenerFactory: factory.make) + try await service.start() + let originalOffer = await service.localEnrollmentOffer() + await #expect(throws: Expected.self) { try await service.updateDisplayName("Rejected name") } + #expect(await service.localEnrollmentOffer() == originalOffer) + // A failed rename must not poison the started-state guard or require process restart. + await service.stop() + try await service.start() + await service.stop() + } + + @Test func asynchronousRenameFailurePreservesOldListenerAndOffer() async throws { + enum Expected: Error { case readinessFailed } + final class ReadinessState: @unchecked Sendable { + let lock = NSLock(); var calls = 0 + func awaitReady(_ listener: PeerListener) async throws { + let call = lock.withLock { calls += 1; return calls } + if call == 2 { throw Expected.readinessFailed } + } + } + let readiness = ReadinessState() + let service = PeerService(identity: PeerIdentity(), displayName: "Original-\(UUID())", + trustStore: KeychainTrustStore(service: "KeybridgeTests.\(UUID())"), + listenerReadiness: readiness.awaitReady) + try await service.start() + let originalOffer = await service.localEnrollmentOffer() + await #expect(throws: Expected.self) { try await service.updateDisplayName("Rejected name") } + #expect(await service.localEnrollmentOffer() == originalOffer) + // start() remains a harmless no-op because the original listener is still installed. + try await service.start() + await service.stop() + } + + @Test func renameReadinessTimeoutPreservesOldListenerAndRemainsRestartable() async throws { + final class ReadinessState: @unchecked Sendable { + let lock = NSLock(); var calls = 0 + func awaitReady(_ listener: PeerListener) async throws { + let call = lock.withLock { calls += 1; return calls } + if call == 2 { try await Task.sleep(for: .seconds(60)) } + } + } + let readiness = ReadinessState() + let service = PeerService(identity: PeerIdentity(), displayName: "Original-\(UUID())", + trustStore: KeychainTrustStore(service: "KeybridgeTests.\(UUID())"), + listenerReadiness: readiness.awaitReady, + listenerReadinessTimeout: .milliseconds(25)) + try await service.start() + let originalOffer = await service.localEnrollmentOffer() + await #expect(throws: PeerServiceError.self) { try await service.updateDisplayName("Timed out") } + #expect(await service.localEnrollmentOffer() == originalOffer) + await service.stop() + try await service.start() + await service.stop() + } + + @Test func explicitRefreshCannotPublishAcrossDiscoveryGenerationOrStop() async throws { + let service = PeerService(identity: PeerIdentity(), displayName: "Race-\(UUID())", + trustStore: KeychainTrustStore(service: "KeybridgeTests.\(UUID())")) + let unreachable = DiscoveredPeer(name: "Delayed", endpoint: .hostPort(host: "192.0.2.1", port: 9)) + await service.updateDiscovery([unreachable]) + let refresh = Task { await service.refreshEnrollmentOffers(timeout: .milliseconds(200)) } + try await Task.sleep(for: .milliseconds(20)) + await service.updateDiscovery([]) + await service.stop() + await refresh.value + #expect(await service.discoveredEnrollmentOffers().isEmpty) + #expect((await service.enrollmentRefreshDiagnostics()).generation == 3) + } + + @Test func discoveryChurnCoalescesEnrollmentRefreshAndStopCancelsIt() async throws { + let service = PeerService(identity: PeerIdentity(), displayName: "Churn-\(UUID())", + trustStore: KeychainTrustStore(service: "KeybridgeTests.\(UUID())")) + for _ in 0..<100 { await service.updateDiscovery([]) } + try await Task.sleep(for: .milliseconds(250)) + let afterChurn = await service.enrollmentRefreshDiagnostics() + #expect(afterChurn.generation == 100) + #expect(afterChurn.launches == 1) + #expect(!afterChurn.scheduled) + await service.updateDiscovery([]) + await service.stop() + try await Task.sleep(for: .milliseconds(150)) + let afterStop = await service.enrollmentRefreshDiagnostics() + #expect(afterStop.generation == 102) + #expect(afterStop.launches == 1) + #expect(!afterStop.scheduled) + } + + @Test func enrollmentCannotTrustAnOfferThatWasNotCachedFromAnEndpoint() async throws { + let localIdentity = PeerIdentity() + let service = PeerService(identity: localIdentity, displayName: "Local", + trustStore: KeychainTrustStore(service: "KeybridgeTests.\(UUID())")) + let local = await service.localEnrollmentOffer() + let remote = Enrollment.makeOffer(identity: PeerIdentity(), name: "Unseen") + let code = Enrollment.verificationCode(local: local, remote: remote) + await #expect(throws: PeerServiceError.self) { + try await service.confirmEnrollment(local: local, remote: remote, displayedCode: code) + } + #expect(try await service.trustedPeers().isEmpty) + } + + + @Test(.timeLimit(.minutes(1))) func twoFreshPeerServicesEnrollAndExchangeAuthenticatedMessage() async throws { + let suffix = UUID().uuidString + let aliceID = PeerIdentity(), bobID = PeerIdentity() + let alice = PeerService(identity: aliceID, displayName: "Alice-\(suffix)", + trustStore: KeychainTrustStore(service: "KeybridgeTests.Alice.\(suffix)")) + let bob = PeerService(identity: bobID, displayName: "Bob-\(suffix)", + trustStore: KeychainTrustStore(service: "KeybridgeTests.Bob.\(suffix)")) + try await alice.start(); try await bob.start() + defer { Task { await alice.stop(); await bob.stop() } } + + func candidate(_ service: PeerService, id: UUID) async throws -> EnrollmentOffer { + for _ in 0..<40 { + await service.refreshEnrollmentOffers(timeout: .seconds(1)) + if let offer = await service.discoveredEnrollmentOffers().first(where: { $0.peer.id == id }) { return offer } + try await Task.sleep(for: .milliseconds(250)) + } + throw PeerServiceError.enrollmentCandidateUnavailable + } + + let bobOffer = try await candidate(alice, id: bobID.id) + let aliceOffer = try await candidate(bob, id: aliceID.id) + let aliceLocal = await alice.localEnrollmentOffer() + let bobLocal = await bob.localEnrollmentOffer() + try await alice.confirmEnrollment(local: aliceLocal, remote: bobOffer, + displayedCode: Enrollment.verificationCode(local: aliceLocal, remote: bobOffer)) + try await bob.confirmEnrollment(local: bobLocal, remote: aliceOffer, + displayedCode: Enrollment.verificationCode(local: bobLocal, remote: aliceOffer)) + #expect(try await alice.trustedPeers().map(\.id) == [bobID.id]) + #expect(try await bob.trustedPeers().map(\.id) == [aliceID.id]) + + // Refresh authenticates the newly pinned routes, then a normal secure packet must traverse + // the same real listener/browser/connection stack and be emitted only after verification. + await alice.refreshEnrollmentOffers(timeout: .seconds(1)) + await bob.refreshEnrollmentOffers(timeout: .seconds(1)) + let transactionID = UUID() + try await alice.send(.heartbeat(transactionID: transactionID), to: bobID.id, timeout: .seconds(3)) + let received = try await withThrowingTaskGroup(of: ReceivedPeerMessage.self) { group in + group.addTask { + for await message in bob.messages where message.peer.id == aliceID.id { + if message.message == .heartbeat(transactionID: transactionID) { return message } + } + throw PeerServiceError.deadlineExceeded + } + group.addTask { try await Task.sleep(for: .seconds(3)); throw PeerServiceError.deadlineExceeded } + let value = try await group.next()!; group.cancelAll(); return value + } + #expect(received.message == .heartbeat(transactionID: transactionID)) + } +}

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