From 2ea5a1c841ddd8f6439e129acc2b38db8a411baf Mon Sep 17 00:00:00 2001 From: Ali Alavi Date: Tue, 25 Aug 2026 18:22:57 +0000 Subject: [PATCH] release(v1.001): full monorepo sync (Android App v1.001, Mac Client silent HUD, Linux Relay Server) --- mac/Info.plist | 41 ++ mac/make_icon.py | 121 ++++++ mac/package.sh | 54 +++ mac/resources/AppIcon.icns | Bin 0 -> 264070 bytes .../AppIcon.iconset/icon_128x128.png | Bin 0 -> 10323 bytes .../AppIcon.iconset/icon_128x128@2x.png | Bin 0 -> 23901 bytes mac/resources/AppIcon.iconset/icon_16x16.png | Bin 0 -> 686 bytes .../AppIcon.iconset/icon_16x16@2x.png | Bin 0 -> 1916 bytes .../AppIcon.iconset/icon_256x256.png | Bin 0 -> 23901 bytes .../AppIcon.iconset/icon_256x256@2x.png | Bin 0 -> 48181 bytes mac/resources/AppIcon.iconset/icon_32x32.png | Bin 0 -> 1916 bytes .../AppIcon.iconset/icon_32x32@2x.png | Bin 0 -> 4642 bytes .../AppIcon.iconset/icon_512x512.png | Bin 0 -> 48181 bytes .../AppIcon.iconset/icon_512x512@2x.png | Bin 0 -> 32195 bytes mac/resources/AppIcon.png | Bin 0 -> 32195 bytes mac/src/AppDelegate.swift | 242 +++++++++++ mac/src/AudioRecorder.swift | 165 ++++++++ mac/src/FocusedInputSync.swift | 380 ++++++++++++++++++ mac/src/HUDOverlay.swift | 24 ++ mac/src/HotkeyManager.swift | 261 ++++++++++++ mac/src/RelayClient.swift | 205 ++++++++++ mac/src/SonioxClient.swift | 321 +++++++++++++++ mac/src/StatusBarController.swift | 172 ++++++++ mac/src/main.swift | 7 + mac/test_apps_ax.swift | 42 ++ mac/test_focus_detector.swift | 107 +++++ mac/test_full_ax.swift | 110 +++++ mac/test_inspect.swift | 45 +++ mac/test_inspect2.swift | 45 +++ mac/test_inspect3.swift | 76 ++++ mac/test_live_ax.swift | 81 ++++ mac/test_timer.swift | 21 + mac/test_tree.swift | 39 ++ mac/test_win_ax.swift | 33 ++ 34 files changed, 2592 insertions(+) create mode 100644 mac/Info.plist create mode 100644 mac/make_icon.py create mode 100755 mac/package.sh create mode 100644 mac/resources/AppIcon.icns create mode 100644 mac/resources/AppIcon.iconset/icon_128x128.png create mode 100644 mac/resources/AppIcon.iconset/icon_128x128@2x.png create mode 100644 mac/resources/AppIcon.iconset/icon_16x16.png create mode 100644 mac/resources/AppIcon.iconset/icon_16x16@2x.png create mode 100644 mac/resources/AppIcon.iconset/icon_256x256.png create mode 100644 mac/resources/AppIcon.iconset/icon_256x256@2x.png create mode 100644 mac/resources/AppIcon.iconset/icon_32x32.png create mode 100644 mac/resources/AppIcon.iconset/icon_32x32@2x.png create mode 100644 mac/resources/AppIcon.iconset/icon_512x512.png create mode 100644 mac/resources/AppIcon.iconset/icon_512x512@2x.png create mode 100644 mac/resources/AppIcon.png create mode 100644 mac/src/AppDelegate.swift create mode 100644 mac/src/AudioRecorder.swift create mode 100644 mac/src/FocusedInputSync.swift create mode 100644 mac/src/HUDOverlay.swift create mode 100644 mac/src/HotkeyManager.swift create mode 100644 mac/src/RelayClient.swift create mode 100644 mac/src/SonioxClient.swift create mode 100644 mac/src/StatusBarController.swift create mode 100644 mac/src/main.swift create mode 100644 mac/test_apps_ax.swift create mode 100644 mac/test_focus_detector.swift create mode 100644 mac/test_full_ax.swift create mode 100644 mac/test_inspect.swift create mode 100644 mac/test_inspect2.swift create mode 100644 mac/test_inspect3.swift create mode 100644 mac/test_live_ax.swift create mode 100644 mac/test_timer.swift create mode 100644 mac/test_tree.swift create mode 100644 mac/test_win_ax.swift diff --git a/mac/Info.plist b/mac/Info.plist new file mode 100644 index 0000000..496a3f9 --- /dev/null +++ b/mac/Info.plist @@ -0,0 +1,41 @@ + + + + + CFBundleDevelopmentRegion + en + CFBundleDisplayName + Soniox Voice + CFBundleExecutable + SonioxVoice + CFBundleIconFile + AppIcon + CFBundleIdentifier + com.soniox.voice + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + SonioxVoice + CFBundlePackageType + APPL + CFBundleShortVersionString + 1.0.0 + CFBundleVersion + 1 + LSMinimumSystemVersion + 13.0 + LSUIElement + + NSHighResolutionCapable + + NSMicrophoneUsageDescription + Soniox Voice به دسترسی میکروفون جهت ضبط صدا و تبدیل آن به متن نیاز دارد. + NSAccessibilityUsageDescription + Soniox Voice به دسترسی Accessibility جهت درج خودکار متن در برنامه فعال نیاز دارد. + NSAppTransportSecurity + + NSAllowsArbitraryLoads + + + + diff --git a/mac/make_icon.py b/mac/make_icon.py new file mode 100644 index 0000000..7b012d7 --- /dev/null +++ b/mac/make_icon.py @@ -0,0 +1,121 @@ +import sys +import os +import math +from PIL import Image, ImageDraw, ImageFilter + +def create_app_icon(output_dir): + os.makedirs(output_dir, exist_ok=True) + iconset_dir = os.path.join(output_dir, "AppIcon.iconset") + os.makedirs(iconset_dir, exist_ok=True) + + size = 1024 + img = Image.new("RGBA", (size, size), (0, 0, 0, 0)) + draw = ImageDraw.Draw(img) + + # Background Squircle / Rounded rect with gradient + margin = 80 + rect = [margin, margin, size - margin, size - margin] + radius = 200 + + # Create base squircle mask + mask = Image.new("L", (size, size), 0) + mask_draw = ImageDraw.Draw(mask) + mask_draw.rounded_rectangle(rect, radius=radius, fill=255) + + # Render gradient + grad = Image.new("RGBA", (size, size)) + grad_draw = ImageDraw.Draw(grad) + + # Rich Purple / Blue / Cyber Teal gradient + for y in range(size): + ratio = y / size + r = int(79 + (124 - 79) * ratio) + g = int(70 + (58 - 70) * ratio) + b = int(229 + (237 - 229) * ratio) + grad_draw.line([(0, y), (size, y)], fill=(r, g, b, 255)) + + img.paste(grad, (0, 0), mask) + + # Draw Inner Glowing Waveform & Microphone + draw = ImageDraw.Draw(img) + + # Mic Capsule + center_x = size // 2 + center_y = size // 2 - 40 + mic_w = 120 + mic_h = 240 + + # Glow behind mic + glow = Image.new("RGBA", (size, size), (0, 0, 0, 0)) + glow_draw = ImageDraw.Draw(glow) + glow_draw.rounded_rectangle([center_x - mic_w//2 - 20, center_y - mic_h//2 - 20, center_x + mic_w//2 + 20, center_y + mic_h//2 + 20], radius=80, fill=(255, 255, 255, 60)) + glow = glow.filter(ImageFilter.GaussianBlur(30)) + img.alpha_composite(glow) + + draw = ImageDraw.Draw(img) + + # Mic Body (Capsule) + draw.rounded_rectangle( + [center_x - mic_w//2, center_y - mic_h//2, center_x + mic_w//2, center_y + mic_h//2], + radius=60, + fill=(255, 255, 255, 250) + ) + + # Mic Arc / Cradle + cradle_w = 220 + cradle_h = 200 + arc_top = center_y - 20 + draw.arc( + [center_x - cradle_w//2, arc_top, center_x + cradle_w//2, arc_top + cradle_h], + start=0, + end=180, + fill=(255, 255, 255, 240), + width=24 + ) + + # Mic Stand / Stem + stem_top = arc_top + cradle_h + draw.line([(center_x, stem_top), (center_x, stem_top + 70)], fill=(255, 255, 255, 240), width=24) + # Mic Base + draw.line([(center_x - 80, stem_top + 70), (center_x + 80, stem_top + 70)], fill=(255, 255, 255, 240), width=24) + + # Sonic Sound Waves on sides + for side in [-1, 1]: + for i, r in enumerate([190, 260]): + wave_cx = center_x + side * 40 + wave_w = r * 2 + wave_h = r * 2 + start_ang = 300 if side == 1 else 120 + end_ang = 60 if side == 1 else 240 + draw.arc( + [wave_cx - wave_w//2, center_y - wave_h//2, wave_cx + wave_w//2, center_y + wave_h//2], + start=start_ang, + end=end_ang, + fill=(255, 255, 255, 180 - i * 60), + width=18 + ) + + # Save standard sizes + sizes = [ + (16, "icon_16x16.png"), + (32, "icon_16x16@2x.png"), + (32, "icon_32x32.png"), + (64, "icon_32x32@2x.png"), + (128, "icon_128x128.png"), + (256, "icon_128x128@2x.png"), + (256, "icon_256x256.png"), + (512, "icon_256x256@2x.png"), + (512, "icon_512x512.png"), + (1024, "icon_512x512@2x.png"), + ] + + for s, name in sizes: + resized = img.resize((s, s), Image.Resampling.LANCZOS) + resized.save(os.path.join(iconset_dir, name)) + + master_path = os.path.join(output_dir, "AppIcon.png") + img.save(master_path) + print("Iconset generated in", iconset_dir) + +if __name__ == "__main__": + create_app_icon("/tmp/soniox_build/resources") diff --git a/mac/package.sh b/mac/package.sh new file mode 100755 index 0000000..af1f44b --- /dev/null +++ b/mac/package.sh @@ -0,0 +1,54 @@ +#!/bin/zsh +set -e + +PROJECT_DIR="/Users/alig/Develop/SonioxVoice" +BUILD_DIR="$PROJECT_DIR/build" +APP_NAME="Soniox Voice" +APP_BUNDLE="$BUILD_DIR/$APP_NAME.app" +DMG_NAME="SonioxVoice-v1.0.0.dmg" + +echo "🔨 Building $APP_NAME..." +mkdir -p "$BUILD_DIR" +rm -rf "$APP_BUNDLE" + +# 1. Compile Swift sources +swiftc -O -target arm64-apple-macosx13.0 \ + -framework Cocoa -framework AVFoundation -framework Carbon \ + "$PROJECT_DIR"/src/*.swift \ + -o "$BUILD_DIR/SonioxVoice" + +# 2. Assemble .app bundle +mkdir -p "$APP_BUNDLE/Contents/MacOS" +mkdir -p "$APP_BUNDLE/Contents/Resources" + +cp "$BUILD_DIR/SonioxVoice" "$APP_BUNDLE/Contents/MacOS/SonioxVoice" +cp "$PROJECT_DIR/Info.plist" "$APP_BUNDLE/Contents/Info.plist" +cp "$PROJECT_DIR/resources/AppIcon.icns" "$APP_BUNDLE/Contents/Resources/AppIcon.icns" + +# 3. Stable Codesign with explicit identifier +codesign --force --deep --sign - --identifier "com.soniox.voice" "$APP_BUNDLE" + +echo "✅ App bundle assembled at $APP_BUNDLE" + +# 4. Create DMG Installer +echo "📦 Creating DMG Installer..." +DMG_STAGING="$BUILD_DIR/dmg_staging" +rm -rf "$DMG_STAGING" "$BUILD_DIR/$DMG_NAME" +mkdir -p "$DMG_STAGING" + +cp -R "$APP_BUNDLE" "$DMG_STAGING/" +ln -s /Applications "$DMG_STAGING/Applications" + +hdiutil create -volname "Soniox Voice" -srcfolder "$DMG_STAGING" -ov -format UDZO "$BUILD_DIR/$DMG_NAME" +echo "✅ DMG created at $BUILD_DIR/$DMG_NAME" + +# 5. Create ZIP Archive +cd "$BUILD_DIR" +zip -r -y "SonioxVoice-v1.0.0.zip" "$APP_NAME.app" + +# 6. Install to /Applications on Mac +echo "🚀 Installing to /Applications/$APP_NAME.app..." +rm -rf "/Applications/$APP_NAME.app" +cp -R "$APP_BUNDLE" "/Applications/$APP_NAME.app" + +echo "🎉 All Done Successfully!" diff --git a/mac/resources/AppIcon.icns b/mac/resources/AppIcon.icns new file mode 100644 index 0000000000000000000000000000000000000000..76f3aa8b2261a5c49c0142520e86f0dd13db62cf GIT binary patch literal 264070 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%0Ap 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%0D-d2;%%ZiNbF|iUg%RZmN@nad)#yY*9|c$ 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 z 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 U*3b%kpsaxu>m#>*Vt>#44}N#>3IG5A literal 0 HcmV?d00001 diff --git a/mac/resources/AppIcon.iconset/icon_128x128.png b/mac/resources/AppIcon.iconset/icon_128x128.png new file mode 100644 index 0000000000000000000000000000000000000000..27dbadb83d2c4595751be2ff2d3f13659b05ad69 GIT binary patch literal 10323 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 literal 0 HcmV?d00001 diff --git a/mac/resources/AppIcon.iconset/icon_128x128@2x.png b/mac/resources/AppIcon.iconset/icon_128x128@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..6d1fa4de82abcf5c9b2533d2544df8111364d286 GIT binary patch literal 23901 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 A<^TWy literal 0 HcmV?d00001 diff --git a/mac/resources/AppIcon.iconset/icon_16x16.png b/mac/resources/AppIcon.iconset/icon_16x16.png new file mode 100644 index 0000000000000000000000000000000000000000..aca1b51ce7e736fd8654d9a3d0e93baae2bd2f20 GIT binary patch literal 686 zcmV;f0#W^mP)QSl$pPwsb^E>nY zbMwU2?7ebfaI$=1vH9u7?a3p+Nx=Ed<=1Dy;!as?ZsgnnP=NL!96*L@g&5l=rvAc> z+ov82K&Ru%TG-s^7jKrH+eAN@+p^8bO=fPgE!#{#n0szhzxZo82C)?pkfCi-A)iD8p6#<#mOV%}BRYA&eEoJOF zT>K)~r7wfUuEU91i!yLfkNAgJ!9ZpJ2ml}k2F(}_!fd$4(e9IYY*<0Qz4}oUA@2S9 zd-3{NT%VjN`_%b&4M?iKhM4&K;uf7xjKtY#W zz+*>oR-stMHTM=LN3R5H51@$s_ps@=2n;FguSE6rnR_itI*?s;4`D7v>e zrA$y?`Rq`Eh{FTTrhn?h%&Z;@`k4!bKH73L`!?=GPX<~RhlsnrdxPBy17>d`U?9oG zTerJ6mkIzyNmC)|mf?&Q*9L}m_g@01VDE<%r(bUrC)bm80J)M?tz2w}u6BpYK>O6p zJlS=?$sO#-HC(eR7k1ANbo{*`erA^G^!LI<(1q$m@v@KmKVJXs(}zbX{y%a42Ub=^ UQrv{L_y7O^07*qoM6N<$g3Yu^>Hq)$ literal 0 HcmV?d00001 diff --git a/mac/resources/AppIcon.iconset/icon_16x16@2x.png b/mac/resources/AppIcon.iconset/icon_16x16@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..a54235146e7193de256b72a41ac81a6a81cd6a01 GIT binary patch literal 1916 zcmV-?2ZQ*DP)hdxj*Y&)``6)Hk248v7xajA&3$n;5AiJMHQl|x^4Q_m!@w?r6_%M_oYpf z=Ao_n6e+116-DhsT7{G(B#r~+&nh%ciIs`~frc6z12*2DyZ6qW(}&$<*UOrps%JIQ z-I=-PJNL}_zL_B`VWSWp9|i+Jp>Uj*ns+lxr8WuxWV5jOJlWfPO(>TW^}hh#%&I=+ zh7W1!5CTX5;9DdA=~u3^L#*^$F-qjdmv3dvDrV^OKy=`b`}@weVzdNM9T*-y>o0dx zKLgT|8nlsq0><4$hcrp91gkkECXECdz?1N{InRXE-#aS|e~<%|I^S%L9+ z!xkK{#yUs$^UnSOx#~KIAp#}?YeK{(1d{RT0^NvFAZd_1vjg<(I1~e($C||xSLzR7d z%%I|!qe@6$-R{fJU%A)3@XEbr>qtVPN=RBo{Pyc+U|EvPx=q2QWA8=7L+hPM=Ga!# zU-#W60DwUtFi2oM>g>i$VcsTfRuc)7Rajr^%|SZ>eIn zUxKFQ`xKNHB$ZBcurMbcNj<=th_*;%^B4hGxFTL>Cj~)Kl8FQbt^V6A!D2pJ3)Y%U z9EozZ*m{vNRjINFU#k5~jUsbgvL=GkOtCeh7U@d60IEgU;CE?GI=eIK%KQxZnLf9u zSim6IkPwFir)dcshY*KA95NILih!OzF3wF;qAQ~=7v?0*($I^gSpWc5m^s4LX}fa8 zYCT<^*HkVV_x>TeGB>4Z$F5X3@Stb@ak$8}g^-Vr7P)`GH6!0lg>x4*tzL^c6NxHb zc6il&YHDuUeuilBhUuqi3G) zEuK7N+>=K_9^S3L*!OB>$b=GZ+UZS99*G}O912;YhX1x1sOmud2ez;kojCTk*|GCG z>Mw`iwAuZynYD=&$=K_GnmiJz+%tDoT%TmmiwpkLnOG&4k?jAyS=*7~*~h-8#wOm4 zx0ygCNgIJwcgCf404+*riC9&nFspix?u~XnuwEt|EinvHDor^1ajZ^^m7R|c1kULb zu}Y;0FhmYZJh*{QPV5V_3p2cuRUmAM7OQNV3;+!dU$1XrA{|J1-pPD&kg}{}luLxo zSvT7Jgdh4HETn*STfOLS?*{JCy`keLWA({F&H@b9fk2pAG1>;8NQ3~X^ZmLB5jd*S z-V*sf@aeHoe}2-aC=`MKjz^qh!uhB#9Vw5S`+~bpe&sSfWFj5(fAM+066Bc2-hM_iY?;Sem?w*t&>e|2E_sa#G}K2LVhvApoc#e`bsywl-yZ!1Q#5RuzEh2Fx5pp#Ay z%F)${Qe+?NdZN4VlRRp|e?5aj1d?aJGL>}G{x1OaeOGn(H*OzyYJxB>g@F975Kce) z>xsc@bu6H@;F|`X+c7iXT0d(=`b8q$&h;&gRIH%Rhf*1T@o>+-S}~T2m~y#4{NFF9 zqocyNaXD>z0m2w=XvWkXUeW9H1^|2rn@9WW`F{Z!^M5hZ?tFFt0000G literal 0 HcmV?d00001 diff --git a/mac/resources/AppIcon.iconset/icon_256x256.png b/mac/resources/AppIcon.iconset/icon_256x256.png new file mode 100644 index 0000000000000000000000000000000000000000..6d1fa4de82abcf5c9b2533d2544df8111364d286 GIT binary patch literal 23901 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 A<^TWy literal 0 HcmV?d00001 diff --git a/mac/resources/AppIcon.iconset/icon_256x256@2x.png b/mac/resources/AppIcon.iconset/icon_256x256@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..2fa55f033212714d97d9081cb93fbd870b6e7c7d GIT binary patch literal 48181 zcmd>lrt+lQdd!P3jFBM4$83+LYAW>G5*8%`A_AeNK;$eSIyvMEp zpz%goURKBZ`%aqAcSfr;3~XUNKdaG(D_M>7vkMCd%tQV*Eb2QUbPG>ILtoasX~M$T ztBJhy6kY#8jECpLS7S)*b3sma#UQ{nLZ&X1{A;ph$)3cI_3P`bf`&rB20ve}QIR>3 zLCMk{cfD77uu~n60L0+AFA&;lCQL_+_y6sWnvre6T{GL~Q?s;q?Ny=P1x9AJ0)3%@ z3R;v0stH9E3E4GIr|ZM?iZWaX8LWiqQu?kFXPryITdLS8FK&fPY)7vSN_?~-A$Bxtn)YJC-^WqLmzaqM zB|`Uc!f+;pYol6+{*hNv8BlC3HNJl**78*uuVhXjBx8S%?TLF#YHfJv>pK4q-OzE; zLo}!3`EJE)A=75H&Ot~Pl^RapXw$BF0q4P>#Jl$U01wZ;268Vjl-7|H2ngeJjpR+6 zB(8bgnEOpB?(^Sh;T`-?iaF+gUT=k~#2_+qAMR)O0f(hVGHpb@tr9!<1mG(C#az~2 zn_{pvTDfzADAYb7lrX&I>Ae}METD>0O*QeEF5!)ps_AZ@S2%rV`*l*@M|}htIcaRt z+KkjtQARa>&M^Q1@Z9KJx9}O~$Q@s7ZPF1({AwpAVJG=hASDvj#Z>_aLm|B>xa{D{ zi1qVRqlX_g*7n`gp72XKxA%N+LK!2_+V#)Mu&@%*1ZC-ivxuwiD1dD577(Gle)Jvx zzUhr^i40_6efW89PFemSG*JGTNpLGDxTP-yn!^U`n#I9ukB-oOmfF^J)+ujk0ATld zpFc9B7Nli)70=w<`_6Zdfbi}PeZS&94t-?6(G5HOM&V48K_Q>I<5XHHeGO2+>~cEj<%AE~1WO#;YXc za6&@;LtBR)iC6G^#VhA(;i_1gnuCV)4@u-@65pFp<*}f)6^PETrB6x_FcKV*744lb zvzBf&UaxG?GI+kBDEO38cyicGSdE~MSQk>k7Z2+F;X$AA7BiRL;QaE;q#;fq3tC00 z;G*^fYruIyy&~}j@fjE@>=QS%hjA@3bw07&?_Z&~%OErWt4D(lA5LYaJ1Dbf0g{8+ z;<-5~pe7Rgb3IaFMgCVxxSEdbp;a9IX`07DiovA;Q{=SndS}upK|)^}+2iMEe~uFp zJUOG*z94XARk7gLws5S8A8zi~Cx^r8wqmM40G(Q{kda`55NwVItQ|zb^X+B*qN(Q% zk(A*y3+NF4{pxR}17~Y;UU2r|`d#7(&xmAd3jHrm%G016R3O``ao>_xX|vtl3z=-F z{}TI92kkfJUGIqZ?a)MJ%jt&+@4FqQ4~0(3YNY#G6d4;Exry;Jo|swNvVYZ{)5TI` zl713M3ou9+2U(M_A97ox_r}FM79jF&)Hm+qUx)rc)kqaUNf5z?C|p52K|DLNUJLfK!Ex(DQ@sW&HuLb5t_Mvf5HyEq6V1~`iyc;&ewQzXuK5_ zReP#%@aVl&Z%Kl(Sub+FYEQg#^9E8W9jwF(y~1Iyh+Y)KQhksCKRX+fAL)(Rv4ZUK z*R@*z4b>LcS1HZ2`Z!z+96?;)NBVtd9`LUlR-q#4F1|Yrer;Z$9be*N+hV#+7S_yt z09CA2{lHVm(onzr&2IMRpmIE{Y*3QSh}Z@)#&4HOwaZj#Y2eeyB|C{%0n!$mVTwsa zL?UbEtnNTUTo!#hgiy!TwM-SmSdlbYfEt||aQL9J=sWTS64O>8@p8BU$Z2OS=yvWy zVN=r(kLDFC5w9e)MWI9d9PYe#$zfImx)V;JV$@Y(b)QxU-;{X7hH=5~Av6&usc?*3 z@s1-yt20*WN_cYomzp^CP+`Uf=~Y_HQC4D*p9A*pDfTtIbW`dJj-Wu_nu%RF zX~}BVr-a3^0W`<|(zyA?-D(SW46C)MnQ#Cov9T6l`)6M$;n|da=DeU_U zzqzn>zcD3i8rKIayrBw8Qd!!cn&YN^vjiJ=62S&k`;_^FAr!xj2lVPet0V9;`6l`R z8)y-mkXUlV>mkOk91`e*GYeDyUUfYty5I0_)W2y`3lPv!<-WN~3DmgKm^y_02f2_+ z0+1?&I3HVBXx=8_lEj+l0L@wWpL?zweJpvm^F-m|E>_~BEK33?&q`m@+v)P{`7-|} z`8leXhgsY8eYQk0AGVu$rDdT;H%&eiiJuzjqS@CZfd-f2a_@un)8c_HHbe*lX0rg zLg9yd`S1O^lRs7^q$cf1l`7RC+N+(|X!#|n+#v&-a&Iq0ujGPSK2SUBh&a)-(%XRa z8%~5Kj@Gghm>Ty;=xyHKyQwDoUx--Cur@9_LmB-Bl#h#_PZsIFbN3$B>Z>y_wn-YY z_#k++>pg37V}tBr+DtV-VJ&a2(3a6sF0mVeKo?Km_)Kow7+SYPR{*c8sE(GYsif@% z8vd5sFl}OW|IaOjMc8clbuNd>*NsK)h~QX9q$!phie@$TRvHArlEnL3H$5D$dpzT%s>D=yIcfXNs%ssS=H^dEj`a+|2-2VSZ8F$|6FwPC3)G*g*eS!jpo;lK?? zlLp-N^2o|pq5=FX4g8(VPSFI*(If}Sna9{!&va6inZn}Z`heiOccbH%<8%I;9sA> zU*fK%P#cLc6~!evfpyb5*Z&a!O&hVUnxQE%xsd+BOceolI#-s(FRR`JBCpX{dehNQ zHGNHN#P~m}V7E4)t0Crmu8U`m$?wHftgw7ltIU5pmhe#EKCo|E(PM}u&9(5WZ%=H{ zvB3<`|AH5<9U_||N3&{Dy>p@Hmtc|ngVZi~R0d>rwON4EZq*5!;ZO>!BX=CL{B&1Ws8crFo&i7Pj$7Y@+s{@9u0o%{J_jS;n2iP?`^Wd zwiWUg?fmJzb#8)3A@f0iUjY)^Dq$HADiSMK)IR^c-4DI2j(iKy0o7L4GIxyt_668M z5+t82Vu`hHC!Djj$S9oTcaHxi`1zR=(p^r}(x4KFUQgBwTZ|fI1 zZ8mFci5b1v54>9t9Nfr%JL+v`gv*+e_MR>qq4Z2*v8D;{)`+&WQI>gl@eUp=@T*}V zmTLdYP5bGGZ+okbYaSWja}!B_chazuv!l-dLG`Snu(TR#u4RT7n*1J7N z1~t)El<5DJHFkLqFt-3_ zj@#OZ$sl=vzc>F8-b7Zw9N;wE_2&k5<9NcU#X0S3zR$n%w~cCMt4bJgPq4&G^KH^M?Hdp~ut)EC(QTMn6GI|c zV@D0RiOgIIkfTs1v;PH5sFflJy>I8PLJf3jHZ zE)Vbk`|2|q>*fEVwu)6g1UfrM`VXE#LKP(ckuq@7kEyUxuJR%Je;QF~GRnZ9?k0_Y zKvloNjI+@s6Ywu2aT~vPsSa({EPV?3}H%@q>P1) zIPLDBp{sWQ_7VBM=^SS|4Z#-eIja9y!@h;wG8Qjfd+w`(tsSlzeF70Mbu;!@(dcJ8 z$U$`6>7g10gyc;Yh{2GV{c&uM2o+d9FH&|fOa1A)PmTQroB{%shK8V|N=sT0An#t} zaD1Plkq=l(8`2a_-3az(q$VxAur3J z4uV)0*;oSt$e0LgnLe{;i~Tf`yCp10dp1~BJ8_hnU|!~_S;GCO@nFRbq--Bw7h%wJ zouCa31l0eu>^gXmSk1#oAq%^Xldga!_m8^2oNeVQ>*icQ3a>nw8mVyw(<+&i;oMnu z`T$~wY2AI!R{5;ngWA5GIJ||J=H$%H8ujm+>E`7r44!>$gWOY6uc&!%pdfg^JvzvM z*J#zX5Yw>nLZ&-@?n9MhJMinHtZ(6sMuLp9R;)ozIMRVmD9!}RaKE*um9%lI6LF5b z#GD>}v@uN|ES!z)v`!a4P`WB46?sN(I8$q#M1SwRNLR3CMi+K{Rw>Cs$Dm=v;-&KT z)T?9zeMrCV@!A~ukj(1i2D8{i&?X6moE>t{9e0B+W3}h)b3=*eARxj#lEynqX6`S6 zaN7G4L4Knt(j#ZM*V&f#U=NBZC~dHCz)_b^#^XnT?0Fhl@oTvJqGp8J)1XXTRy?RY zw?L`~5m3Rn(V}f&t}MM^!1iD#|81ftz1>$p)sbrunG z5Jf0;j!aNU+z87Q<7)HG`+l3|I^FwR6yR)8x}O)R!fH54%Hn?{roL>>R`m{I$|kYR zebtZdiZuZssEa)8UD^w7@t3i0-jEtQBKTo}-Q#XO3aIKZ#JVidg}6+2t$omW9$qg- ztQ`cz>5`gwWw?1M(&8QYtmz=tRm$QXT9G7qZPKsXl$701wy}D@Q7b%MEcPg#=aOUP zvcd{~T1Juw;7atIk^N&BSpum3J`U+y!-6%RV_ca->)jKtRS{Rs5?MkdRc6pHvE)=A z>1jyyv>={e%`n59Z^%%ITl+v7o%2Kt$K^iT_J?=Kctc*L9G!n-m98;22k-_&!`wiX z#ECTlz^F{p?jDRZ+nPzx1E!wN=2BCwD>_$eJPkl|yTP8UrPW71Rkzyybah9EoL;5T zx_6!$-m}j{#dtTnPi|EBxo}m)&E9iVC-_UvN46Z9*lvV`or8>GVjq0X#trVX@t{=z zBJ7Z=*06Zewtr-FN~i8<;(&l{i}&beuU9=$(bJTuETy&8-WpFQZdsu+IV$R%4+C)ROy$^pZQ<<*zB1DCF`KREdBiAI?ex z18k^If5do<8VEg&pVpSZVT9pxZ$Bcw1H}n;7%caPuh;}0Cx&CP*;O&=)YlEfltQt>x1?4y43Kx^XsbzEp znaTGIn7`d$?5KWo82NJldT={X>UU{e1uLh{Vt&Kmw4-i;y&$M8EEy;aV1t6?tqYKv zF$uar&>1vaSSK>-39+l|(#xxE%=z|SIwR`eXVLfFradzt?cm(7I1R0yHV*{z{JC82 zIcoi*gWUsV7FOJT4((!Vu5SWGpWbNP;Q~YN;V|JzTsNju4_uC2-W_0>Dte8K|Dp9E zPD_+}LM5>!nbzF|1SN4wt_$+~)e$;nWC9Yd;^+h3t?r+*U?$ewgm74;$fk$Y(3iiz z4(GvmK3}!V*eK&2u3H~vAYS2?Y7%}BhA0JR$Iwn{g^S9#e*bG2e^186R;gd=@?-#i z@OKL;rz*dthw?9_nJu0GGep0D!r7KKsTCZwC?eGL2OYS^$EhfKi9QP_tU=;nw&UWl?yCp}Y%iytlP^iQ|a-)3#l+tWuCgW8TR!gD*8W74WO zQSkbAwz1o9x{l-M`Z>uvalIFQ`=fJ+yhziDLyI1*m6F_fuL%&}!C^bn3%M1OnC|Yo z9(wsZMKlEgdvHlclDA_sUwbIU?_3#U5u^km{-Jzs;}&*Ly#?{!>K88##G2i1{q)Mi zx3;(WiGS;<9?AZC!$Vk#YKv!%F6cgRl$tpBDL&}?y%kbnHFA*+kb^D5pS~W-kzZ}} zw3a1GVep6V)kVMZV5U|PgZLP`(cDR?UO&UP2s{}P?lrgGaP!J=uj9{BZd4#^%C@6N zN=vmc-tX5e>!&}+WaaY4PFQ~mJQk#Aq?&GUdG1loCk2!Uthaip$Q zyPt1X$uKqpdM}@3Z4b9-8+(Mqfv=S2mPh;Q$v5rvT7XrrLTf)$W(O`_I_-A8vAQEBoi_2P#44H&y=R8JQjw5NbSwdYAQsZf6r| zj21xU-BYXw5)jQBG zPv5(66+w_!ttujR!O2?&vz$HJ$b9m2+{!?cOJ>dH4QEiBhLt*&Qb25?rl%`6^=3f! zi`Yl)b;5)}=C9+3F!hPxFML6^G8cYwIDB`XKbG{HN)Fa=&>ux*!kCv}T$u}f!DiJK zVyw=8ONrIs&spCQl+n14$27TBebwnn%4dF*sumYNSZKhVHh;+q&~dhuajG3tBxcg< zP@@T-%~W&hGVX}Ep!V_3E?Z!y0sq$4?a0i@-0t1vidcv^i#fiu5j5pWeGrJbcnujv zingeMvq4%^9k`C-EMHVqHhk|8T2*RssAZr>pVHyB2y^}13Vam?PkV%@ zoAAMq=#lMV8q=u;G(k2>5x%~OM@)qW3|T|Yq6|7v@7K?oa0k8GSi$0-iCk#lN3);S zL0Frc6{!SeZ_epOy#I?ecLZC=M9*K(#<0S>6lfLRqooyQ z&@{vIptx0|`%xhDE*FjUgq9M&4lTxIFCNHiK8U$VD&aq#G!^x4c?BCt$FU8f`i1F& zgU{yPWSSN~axOMRf4WanRc|k{#V>482~~4W46;`09q3ePaaboKkw1n;|AG*cvt;$ z5jAtFgVrym7inZNP8Fw$=cU`@wE6b^tY0scK3F0<&36;~ao#pM@W$LH+V<`7=H(c3 zJG7=?+V6E1YO5O36AG=hJTbje+ij6AIrOUfH7U7Ju8;GJS55xmn0ZU`0xH{O;MM`s z`+Ly7)nLdy$GcnGiGv9D#yUsg>I*gZhO$0#2p5^cmT*K3NP^$~?t!tUeFMJ2Y;XVe_j!Q~zJYBrnznB6ky5XrJW z$n=6BY8#>i9AV`&xi_Y@b9*FFC=dvb-4aI%l)a;ea$j7?ZB04XYeG~G92EBfluU^p zog;qI02J`{F)*CQP%W;3T_3R_a@_1F3s|yJ-n4Y+ah%@`Z#V>H1=f}C+bSkOvw;nL z0=g+!YJ6xG4+tDfc~FUqELeBnVBl=gxRV9Y6+HVRL0sY5XxuiQn>K!$u|7_V{*en| zCBhuepRPBZ6wUdzr2~|GeUP8;ztDXmz{K)*vR|ln<}*6SILe927Oz+p{li!e=X1W0 z3eQNXw(y?_8Y$=MWN4B2>_c80XQK@HP}2Geb~Ipon0v!KUBp5rS4LE6`Nd1?ZcF!Hs_#*!Vx*(A<2;v~A-rjP*6 zZe0wWFMFPlQ%(53rjNHAw+%kF;@Z*Z%dvH$taIn=j&jZ$;j8AgpN*}a5ZLY%jx z!4nW6=jZ2&z2YTNO15}J4SR`l&Uma92J{nrG*r3x{}O&A1stVemQ9%J5A6rL?2_uS zDrqR(yD=^|Gdi7}6iUAq0kn7xjy03`j@()>Cc5IOmU*IX4p2mo&wi?r;JP7fUp@=cnQB;g?lVi+d5ww(m~69CY0md%L$!C-1oW~tG~MtnXRu8 zz?pG;%hleUK6~*+_hlay{IgCnztx#kl`E6um@VVj$7;OiRGs$n(n)7E5*Vjk;iBv- zf(8qfpHp7;aQ3b*cZ)>8a=@+hweK5G z59w0Z>Km*FhHa~q-n&_0hY5V$qV@gim>5Fl|7*K>FtFCf>M?f+YY-Dp9X?aM0pdJ( zdA#MDg$r)9_Qj->$&8JOI^8eD>(kG#)Td&?4SQrb1S1TQd;;Kjq&?Hy-zqW|>qXCG z>tE)~zk4}Z2{=;A*pqDM-4VfDEQub!MQ#I^_KUq;48npRhyS#xwN)JRX@N~7VNh04 zds@s#W3S{=6t;pf5+Ht|k&#J^jUYh&7o6Ji4|Y@cHcBfK4)h3D8y! zMn=(@m;jU zUB=Uxz*)l(I59XKAWy_U6{{F?)E3Rjmp1C~ABsT1_lCiOp#Cojsbr?FQ;{q9rh8I<6Dpi-WybGs z{qrG@3I!|Mk~}^HBB0p4s03odm)uORFK<*qW5ibJ*t&f>Q+@SkO5vZ@Ef;ej`MzLoyF{su zzd6nW&Do;&d7mHRjNr-10kNWsij#tM9)pwJr=h9FAEaSDdSdj&W(EUad=CTzR$1U; zE=r1tvpeHF^g9hh?=%*-yuPoSg2$oOz0TgMdGMllLJagpd{H zvFET}>i2g>y9?+e|Au;+J!UG~hc0{3xWgvqf8Vyhc`QvNfGdm(lHam9|ynmOO~?;cUQ!=`cFJ9f{#w++(NL0CY2mQ8~R z&8!|mrH|*HoTs}cyyl29zy-5=5~!sKW@PKmC>P*1l$_Y}g5Euqv7sc(&^`nNmMTTm z2n0%j=y7|ygujV(a06b|AAvvo)-=l(7CZ`LNU<%Q6Yq61W^LZW#4r`v?t08tcTbYL zaW{l+k*5c~&v~+?C$wAdhmaE~#RW0)YI-%x=CC$2gkypS2kP| zGI*ZbGvRj(#)rKw2F$vwO`DJUiHI-dPmFVk!6tSxyb&0yD&dm^!!dKIAV5f|i(GTmVT>#({^JvizJjp->m57-?`9Wb0R%c**< zbx@CyxQ;!>G+hUZ-D!kqskE$O0tw_l5M&g>A78w6hGK^^fyEguI!{}yh-e}P-z8Cm zs4SIP+x-=_cQVAbXphLS3Bze7Q1A4Q(cqSE-j4;?=L?~m!-7^h<_1+3J4rc}!u(XV z4^al;;FR}5H;(H8>DTkKen1p!kdq$$X|8g=-r^)Wc0&5kR6jaC(>eZng5kmT*ft$l zg#&fu1c{3aAzU-_k8^k)n^EdX8oywmTzp*UZ%R)%?ftq%{|#6lCn3w@{53zB?WTB} zw#uaF2UT8u01CE@c`AJ!!(u9SJ|T4$zfC0f_=S@TD+NK0hi&&D+OQ*50l0VALV_$-KV`X#@kQ%1qgEjQu86gL9_SM(*quU zKi|dBiSO{U>`IBlikz@Dyc+;m-Ps?q!8F>eg{SZSR(E()Y}XS9^na-l$-ecw%g#bP zvTkduOx>q4ijl-PIo9x#tA1R74UuBgNGp_nM z+PH#p@uw;JDbb&jTD~D(Q~r%dzbg>D=*5**L5{)|-E=41-f#&9X~qRpfSZ1aR8=?^ zoGZ$yv_z>tu1VLGuPL1B=6Q;isXN7AXkJRX1(JlE7bMH%Amcw6t5p^w!FD}@@b{bu zD9Wm8%U7Wu)6j}^Nx;0>C>mY{xkJGk;-|(>RtS??v3Dl$wCt{GtxkV076f8=^A6J? z$s~@hf0l73J{p~AlXpcYhrRK^W4|c29e5v&Us-=w zX-Ue}c?o}Xv}jba++uOvX-Y4?p~^Dt%>!WXj&1RRu+vfqXqMx1f5~;ry3JfJb*qrR zwvJGc%)>E>FB7(hKnefp(3h>(zF*(r_E|=Qh1=;qZZ3FOC9!Bs=bv2P0jWGEUH>-t z)j|4t!EFy;M#WCk^ddByDpM;(5VPNZZF2SL1->utR6-$T{s=@tWES?EReIs4>!=b-e4mKLEAU@Ko+wcY z<%r#gn<>8et~9LKUO0?$o%Sz)~_8`d4EJG5$T@(=}d9 z{ZhQ@2+-jA^YJ=r%tpTBE9K75qq?6rQ_rn{oWU_INC6(v=O{Tk0add{9emTpnw%NB zPh~ABx>mt~d&;8wMws%;1H|0xDP0waOhBSc5k&l&DaB{EF!5}*X+6+2Ah7EPB`50# zd^#Pnxo*XhI&<5F&!kWE`I$3Ds9T=aBi^--VdEzmLNt}kikaRQq#HkRR^2o{FAPSR zzUDutWMAw)yXJ077rnqqPxDxy=(L`sCY0a?q8J2*B`7)HcVj}d#h9;G7sf*drkO?l z+VXy;|9DW^RPy7X6Z#GQbv^x;R-NwMwA}tPFm@I|7%X6$y(45aq8lo&DPzy1wXb>A ztnxfVtqa?0D|K+v?{c%0{Gy9HH`vwbDc8C_HoWsB`AfLv&7vv}zStIJR6KAOFg^+W z5&w~lT>BS9_(8sg_$12uLLQ(ue+65L<6j&`#bhA1hNwffRw)>MQDg6zv0>-8ZH!HO ztk-*=1y9zGdrGRE9j^wBj|($J!l6EvT?XISWD36?z;32?8d!r;yQ5P6Dd#*Q09og3 z9$}cL&PSXbC5D8`oSuA8yt?XCMXh^#Ea~*F_w%+U)9l1IF*O1oBz2;jN1Lzy_^Yp7 z$Mb^56)@BZK`Pxb%=!5S(=!!X;oh=*b=9Mel71^gF!fAN=9%lD_^a38EMAa` z9Vke!Av+tQ=2?v8dpqi}LLqCFzrny0RjFDa?@6y|{pLaqcED{GM0cNa43QlMZ@NKGEtG-|^w8D&EikkMPx4JY z#gZv%h(i%m4Kosqv;Sl}n$Ao6hC`uCrk*I{O_-^}iICPdrGv7e*|(@-;8nu1biM`G zPqROVu~%rm(%7QHlk*r2@W?yRxP%*-M)Y27HEWw(1Xdz z#PNdsSY)=_WnMN=W+Z1jt@pkL$&%;=X^~42{rOjmXk4l73$cBD_E4^Ic!p5Mxm(LN zLBKfarC~xNwM_GXT#zF#(Im>=43qdH!HMcLlrX++;a|6Irl9h z&Yq;5J9(tlrFUl_K19OlDwjcZhD77ipx`Vmeqr#HwD!$Fk6Xb;q5byOZ{~LaTd(!T z=A2K$sbg0n?&Gc~(w?)pPZnQ>*N~K&xR|LBw7~rx2KXk2Rq)v#rl>9Nzt2>@Zo6!c zZ|4TP>@qxny>klf%irJgHEXT8G9Wc3&)}{s9(|YZROv`!Xao{=d;;m0Rp?uIDdpE^ zSI-Sr_ZahmZp@$ho>e2F)i5oqDd=!BX6C9t&G^SxUU17ZZHBHfv1{5;RFP1C%L-cz zEQ8ik60B<`@<+)6my$O`SM&XZAV-W0~xL`_ZOx zt+4j^%*%+)a82Nsq}rF7qlK%IlGLr;gqWMqP(8HSC`D#sx$=hcxbgd>kIw@Gg}rjf zhfb^3#YYydk^OSW*B29?I;Ah848L^aTAZBg!P`FNm-x4bIAk9PeT<5U#OU}Nvk8xa zA0Ia5`X6*;{9X=>6;{9J#XhCF8K_gvYK0aGsL7-HBX{*PgaV$cR9&gY*3xzMd|fke zz^X_6m6y!!521z1=C8WfQ5JO*#L!mqkj+k0=BFF{ESpjgK$X|siIbI&$^YWrv zzE1y3L0#R8h~(_D$jc?a(Dn#C;og1~#7tlff3;Q@V}QM9|5+ohdYS8=i)S_@yCK+p zKakgu=!!xu$iR(#wa$ibG){-%i@dSBU*!1TcI_W8E?n@K`=oG}FRE)H;rrMWzYhOG zbvaxyF-H$!MMiktdK>JrXE8W9*Qr-`HVFZb9(!@g4~HFjjN{Ol#>XV6wjuhk128j% z&C)#bzp*YcVbwCqQ$*lw$o*8a>0!@e(7z35UvmFdw$&rtAVjR{I`r| zq?`K42BUhO21rzDRyn^wAEXA~(P3p8T9rzT0;maHUl&WC?mj65Sow~$r3Ov&zaC(Q z6R*hFL0@&VS_890YSvw)%;RWuIl>K+K|Eo zub1ztcNZ}+xG42>GaBECJvsfTj`TyVHQccCYUWWBt**t74u=O%vMkT$%O!SY{&el|Yd8s>wOHa?S04~wW`$j8iqo85nb zna@~>>AmJ3vIeMUIfsUnL8l$Fb$B`s?I@C#11WhTB+3*tpO_g-NOOF>9JcwXy=3{^ z_4`Rn+{j$&yzV7~nTDLM$6N2g;o%e>B*noB+0-p&pCbLwuHE)S^P~!TEW;*b{>`x@ zqsETaopu73WgTR>XkVJ8Z1Kno(xO+!aXOg-?9T|yUzOre!nkKEVZzq~h*JOEs3BSd zjgN|z^nY)8gm-vjp*I~BeCY-5(z%0{Sv|-3fd&`*JiHh^nNO7q30%?Sx3cZ4 zX0L%!a&{gj32zkJ%ZFE`h9}&g@tCjn2Tz!5(YRhV=04vZU(tq4_adt%(N*X?F|Q&b z1zI!%(2RcH%-PJHUG+$8Jjn2TF}``jz9cA?Cge!Pny#^9V$MZ3DNlohLMS*I8$({C3V`85L^5t5gMbpq@EUPK!*zBa|MGM)mdY@-GP6 z?LYJ4DzfhGm;TqM;l}$7oQMD}4nomw2$U7dUcC`bB%!C8Z=grUWJ@V8pHhli8%l24 zKHU)y_k?*W`|h+q)h&$VQLJ`-N&#I6+nf`Uz1*xa_X9 zIz}I^4S4tn&GRxv%g)hEH|qOog+f=Yo~`ujgRkxpw1*NSl{;9-bp8eDXtd`rO&d<-m4;QiuPFJ zOpO6F^5SXe3_$YER78s{f52)mY>(C-rGR;xm4#`Ght2wj!B(x653-+JR&goi`%GU; z>fsEX78KZlY)K9~bbeqGh%lNzs#lm%Zg%U-`nln#I%QtmX8@mcpknSHWt)Lv7S!_NC23XHhJ8_7 z${@7@;`cf|=5Gj;j2;#6fQJ9sCxbq9b^JMj5x!RUnR-S?UZKOiSYmWUlq0XNPN1P8 zsn}F+F=ui;>MI2Eal;dqBitNa(7RGRY5wUqTSQ#2Yf}V_vS7a$5z!|~-n>uTwB1(H zD2$E%^?iO6N7$N0#f=}tWl`040q$8cvya7$HORPd#FRV;@&z+~{&*kV)l|ib4NqmF zB)+WSVVK5V>F3F8L$&x3MB6Ov8HG}|&5fZ_n;GJ-H2&%dBJf@6!KzpPupto-F4TZ> zqF?53XCz*TjK#3D0lF45W0-b{u2&%pW(BgN!(n;;tLYNw6|wLf&J24zm8PN~*YKj@ z#l9`0S~WD62N)R2S(y5rtq~-^X>X19r?q6l1_5(k6ZHEz*=zL8nt(Mk9=2m$db31V z1oT*2;3k=1CkG6&kdDmW#(fJZac3h3IgTuh*;GGaCij}60QLe1WH%tl`!w&4>vs6e3MjQ<6Oy6r(z zoa+I{w}!Y_jnfGF$osovn6ql9@t*+|j1Y!r_kx4Ig#nI|S`t+>;%mlIS8eJ-(8@G$ zaAybApEpt=V?MuZ?y4m+zU28xl2=5gabvX0@LV@YVL!&&Ha2YIto(j|F!yRL+G&L{ zht(r3*U=F*(mOv{J>y}(HlS%+lh8}dd!L0&%o^7Pv)N>Pu3wY;K>6*n_SK;yLLfP3 z3743iVx(DhHW$!;rbAouRu`{n+hedje;8v~rOqF$rckKvAFzi5SQfh@y7tLl@wA{j zY9F&?fWOA|%%u!T-#tyT`zDp8mZ7)vO>M>KEP46k*8>*K7+BNi9@TS7Ko!i`|2Ybd zTAocVbI8oa8jRB*Y8o%B#`?Qkl=nGCbaNiYJccE^K7;`a`=62FA+CQa8Etn zhXBgbJFnuno?VIPykn{>8jNjb&f9P(sWGi~c+%|m9uU4W{dqZ3ZzO~tf$$Lntvb}# zFJA!zfsys4zYnR_lW#JNi^zs{7P5G1!K)4ipg66G8c74xaSf%AizV(*|68QHfngf< zq8BmAvmwTYH?5vq(_-n;%1 z-=2&`7zA!FJXWB<)Yu#Tfr$xU3GIq0u(&pbsDyppgav9*;jAt*L1Vv+f5@P}IH0W| zHT81A=g(mSlnO-yn-e&H76liz;KOP^N!Z#&?y2*F;&n+`r3b6V)DYOc>!Hbu*9m2& z8zd297vA>l+ajx1Ko99Nt0VjdIvXZ;YQ)ZIBDg!LHLAd~+boAY zs=k2&{6VC$K*$~S{onB*5yh5AKSh7AMhHX_+^dqH_;3fm+ zaG^q{{=;NW0}9eV{HKVe-h10+AIFt3f{q)%re^*JKZ`%KE!f9u!bP+1>w(XtS=%pLU9qKZv+Pl=W5Bay>WtVKfM-`b zW^Az`pYxLbOU)ZZus6Wl8Xn?#F4-5b_9C~z0Tm+3YXBl9CkVG;7TN)|(CD6$Di;Bb z_XnPK8-^Ilwm)=yP<;L9!6RadxQUwibJlY~WQWV*INf-s-gU$R3FDw)S9ji}&^cf-{%n2gr>QqZiNM@_Cj zBO(1n^c~_O-yvX5h8Q^Q#D zSW$+NI7#Z#n2F3vf=G^w)5Uk_N}Z}bPxxD$XYhZt1C%*=W%~#o#FaTEBMxgruS?+A za{ZgeX-w4gpivc4de(2R)20+;pL^3mqPu`T|Ag-y-n9=aw}?JmMaN8pF&H^~LVrWp z-SP50;s2TeYa0SA(m4&94@NaxSTwJ1bOcmcbr>4=;@8Lm%(sX5U3@s(KV-C2t>NUA z;f;O3%~L5pX~}0QvVSr5pm!aKS=_xEnwy_Uj?OclBEIBBc|@HF zxP|L5=KiA2xM*mm&fwad8dTOKr)ySpy&S|lgP2Wz2*wW1C(06j#0A_Qcq%NUhVcax z%RbB?Dcxc+2^9R!X?1EKw^GFJm(IDTeNV^dS$L*^U1jG7bBOZ6LUNiI4)l%b9CWtm z#LsltE#3Fgtf@Y;sN@CKROk108xp6yhcuHcg+Fgcnn@xh^C0bN01O6$1O`rTFj0_S|4KG9K;( zVY2z8GOiGf+^staJYSQ(&tG(P}366SqG>ttMT{ILkTnq&+CXFAI9Uo+H=8S(B{AN#KFEcj` zx9^AwcId&dpg#57sPOY0He!~ZNbl{=Niba2?yKu4$?%ehaU9I6--mMODb$aq2aRaw zv2(Ep+c()&9_DJrQo0Nlho>F+)YTXpd#e!Wsv!TnU$AZR%>p;72M3=j7cx*7Pf2&B z0zkctcBH%SR}*?6{2yaq6%bVy zw!3HOMnX!uyIWucq@)FulI~9VK$xKsq(KElT3Wihq`SMMQ;?21+y6i3{@l)mF5dO7 zH=pO(e!p8~zuhWUHXK3kzQ1fbW)`LK)Uj^SZY=75%^r6|=dso*X^J(-LLk@eAj$oEH&VbTCK2{^2iyl4U^mS!gznW z@lf@R)?A4_Tkyxk4cT27$8CxI0-$|TIB+*U6Khnzy~BE4NB{>&rdSX>BJSO*=enQCq%h%wfleU#z6O|`R;D4bv z`g8lcsz~aVi}r14hkwzRNVK9asM|@dk-dpJ9Bw$D?jNhQ>98nSf){PAa#}+9iZ{4O~|$MjwiAa#kt7Z(&IDTl>_>C7Z&yLJ{tgP{y(bEC-$MW(~C9* zkSFHn@NN3VWZ_|?vtC$WzC=bqNqI&&cB1A@EEwjd=5{mw{rm5?`%8Hilx|kfYIM9Z zQpfsc_w)hw2by>WLex*CbyaR-6Y6-GrT)ldrgOBnpWC%qy$jnh$Xko3zYdc9c4b)KtJ6qEtTd;%VKzMu5pw0q)l+RI%fX%2-TEf*I?e zOmC~(=T_F_L-L(x(*a-#bZJ{z>=|9uClvKE(xP_!+Z?j`L)7NiX zFu4`h^~(r|Cvp$zyO()h;C4EJKP|i{OI~ZTuxiVMJ*?%Dk|!yFrDFD5HKKoH`W7Gd zkP2+7VsJ@LFcoL1;u%8Ji^`!wWx8|>%rnooPd=hA0frQ!Fhjv%8bQH`xqIX<{#0bz zVgcJXhmss*KQ0r^1HB3NPMcm}if_ipf@e2hT%xj(HRuvHueiWjN#&?2V+bH5uX@g;=GJ`5Cw@OP-2ly+!REOhLN>7!zA@Ax8afg$f$RUWi`Kc;qHYJzG|LnkzUC*#iVOuA;x4j=4htAk6gN-a)adYcIBHf z!b+w;ieDclneKF??1%A$$xCZDEjjQls-WM_zK;k`m`Af{kXSAOg5i5NxhdOx#LAMG z27~tmY%k{=WUhn(mD$t_OKe4C&SZgjiuPSrE1;5cJ4hO+PvHFu&HoYj0zi~g|_~eR`H1YTe#uMP`(#`Y`ZiaKJ#wAu`nTQtIOa{%G@*pb7p=>YrGKFNo{S zvM_H&&QFhu&*ffi4pbyX=5ZV#JTpxORE^aT{CxHQZ9kW6dEP}eGu}LAH4bMlx>2cp ztNYE~OeUcl`*eud_t?0Oq_)rsErQhkX1hw_`}?ZM8vA3_!039&w@;-&eG^ZuNzzX; z*F;t_LDlEmK{XWex%%RB-imiZOnW2GT_#%@6}G z+ELwn{6IkBltMPi2FjGHTOp)#p;kK2`0G7^YHbrD;z<}Zc4cQ&PUz~jt`Ob!Fj;7* zFew+n|$>#*6X1X|!QLNHf&iBJ(G4I|b#0~4J zr1r9n*2iZ(_M|*=ToGrop=7=?9hYvfqXsa$Qvfp|#rAA}!NV_B&~9+&CS<`r?B!%S6mHGkMM6fF??=U3vA4Pw7jWYH`fkT405o(s$+*iQBME8G8zDVWkE; zI5e)5#>nDwG_96)@mc@Kc_aCAHJ+uCI<(1U_#~I~+2T)U`d2}aE2%kuaW*BT@#cw@ zpv;<`1qWJ!T8y=x&piSYZouaQG`HkU_M<^Pga7TxnSZSz30&Gb7SS9JtZ$JYzjndE zNHP+3v)I@C(`|H6iM^Z#-k!nBTvr}n{torOt-|QD^B=!8bhf{;aeP%TJnH!hq{dh* zplAMmL4mazZ%nC=T7S=|Ya)6d3K-PXOU-A~+6q)sAkz|kiyU?HO77MZ-WFnobjY(V<)y3L|s>XKG56QUto zE(wzT1EOWhZaUz^FI!mj24%{gMku_b7d@-r$}Yi^u$0Z3LhdDMT*))tQ@yUX=d@>R zEw!TWz{Hk)?pap{0B>;6RhIw^?qSEn-Hpr!VMv4$TXQ4NQcb)VqEz)6Y!TGI^3LwL zM{7NJ_qD;^yB8$Q6{!<^3+&{ zrWv#HiNMCg+cLd9?7H805n|+gIj4OsE4B6{qKLTDFV9l^=ueqb4T#&jA*v3apkpHP zH%LS7YN|_QqNZ(aM1?W7q(q^87Gb94Biu2$4u&b@FA~I^my7<%Z6i6-*a6)(mb_v_ zRpFa|kx4>plo2bQj^VSex*FdyoQ~)96eAB_O9213gWqwf?Dr7D7sdSD5T#xmH7Uep zhf#q@V1$qZmE@td42o&Ffmuv965gB9oSv2b=mr7xWt@+i0%Ir(ax7p6P zRNEa!h9?`zUxJqXX2Zp&Vo=sP0<3UeFm5E^mPUcThdLv>pg-!@`(KqFxWp+QB4x}a zq*U|ns$e1doDC+NztFhpjVI=|K5<;%_nVQ*ELf(+64|BXHzNfxg-rNiO1+9Yi-Gl1 z;TC1^$qio{QfO>x){CDKgRDR|r0y}MX+BNXB)j1!5M+h5dgU;P!&`PJer~n8!F;Jg z-AEUtg}Q*40cnw3%uzzGMFxc*j=*uDe_5e;Z0Q+3=|t>4QZ$Pj6&4zj{#2am8?KOj zAK&6k3F$Z8_qZpflGp~sYX8YNk9YnN81RzqIruB_^URk;TTQ0)km~2#SdN3JGIp=% zu~r;_U6|m)(7lHiXAwAcAVUkPxm&sXp{mYKt<5gt9z@1adT%Cr-u4BL2AZik{P5KX zjXku;m)d53VxzhhY8qh*!=55}F!xDm{rC@m0>mym$FX4QRF}DCm37J|zX` z8KT-}HN+~vI(!ZvJN1Ai`+4DtLA7VDmex6Ok#9wBq$i--n0Qmv^NGyLFImUCYspza7;$GHSM3a_y?ZyGeAms=u~sXCdr~C(DyTl?5$^7hwc_RCM{J+V$O8H3K#SA( z(EM^ZM$cJS;oINOx|JyuI(uIlMMs4W6hT^=UGu5u*d`gB=H1`^e%MKQQs6};;}Qz-N5Y|2R<|)KL0-?1qI4ty z5ZK#UsjL?Jr~R$PWdmD!q^!N_p5tU%yp&c&7)RZ7U9*l&QP1^fdQ`@zx4Li(WhsPc zMv7mSg&uiPdBe?B$;UG}9hWh-Z6^mjriQxFDU@E?n>pHU&LblNN|wWC5h`)%Vk&N`-prhyTv#$aB;*P zmfG#}Qf?qmySH%Sa@WVZJsCc7A~t8zL<0bGDcfIGn6q@_-Y*~U9LSKvS`AoW&CWjg zQYAGdPI3Gw)u6_hEg3oaTnY6Q#icEtcH@mRb#^vXli+DkvAV4QH^q~sH;O_ju=a>* zja+lDn>4VQ6vW7TYguJJ_088#P2s^`mT;y901&7Cb1Zn7QlRS@wqwe9D^LmdY6 zJkw!g6XnF!5R(^Pz!}`eM9<+YvNiqm2XqCy80E3|0q$@2T1d!5Ypd zP~hsyZl^)GCt8WB(iqX-$2r+h-qZ_f}@=#poS^4c_Cw-b|k+Udg@PPlu9MjIf z+vR4(?Xdj)D$0UK)3E*YxfuCNqL&N*5fcZ38z)Rjo=VZ7RK^d+JA>H&F(->8O!D=s zc1e!#mdi&AMn$=PY$5Oz5lhi@SYE={r2PC7*|Z%vykK^|=z;?toJEL8Yw@takO3A7 z^=lqk2HM}~ssOAMfT(f$YCt_4-4ghOG07M$7<{MVz|gB(e{$K0fAhk!2&{;2kZ0{V z0#t(HrL1NXrRd+~jvTJi>_Ahit)biB3000hm4nfj+22BlKWOx){3TZ+MZOw^yj`GA zrig3)*6*ghh5wXe`% z9S@MN(FYQh)`SWC&beOIX<=t}jQL`A9OB`)!F6z8y2WUjkW^vC>wh;~fJogAW;LH_ zwUBzuY~w`GeMgi~E+Kj*#-RTUPR@MxlqrQf3bb3q56H~zzk7l7*;fIP_2}*A4nhA- zSieT?Go6Df@ihlA(?r=rcI|6`jrjVuU9V$w(#RibIM0M5*6Rxnpa5kIF`p_wh$&J~ zRUo7jG_%#5_JUwyc|UtH@*C4R*esjQ+_KWV`iU^<*+438Q`M8>Neqy=^XpSw4hGd; zKen<6xiw%A`{+j`OP;*Q#{yEU{^{a$;et?re`-B^L$Lq9pA-SiX?>1;C z$VAt0Pd+qi^*9urNj$U~6psB35L9L?^NuAPU`0_W(@=6Lt37$!3V*)HlIBUP+a$yB ziWz0t4(@)ha6ImLbD5%&<1d_C?Ry7G-+;#ug8a{^9W&Q3MK$ZY!5_kCtRzeU!t9$W z2;~nlFuD;NSm8TcXU4s$T#?qstaao!pOFRCc)TNkUTSe1+b!qT{DVgx)<^}F7!3t| z_pZ+tU_+WYE?)mKacAx6=k4`?!N!~Y`%56meloBKU|9Uv8R#<9yyi#5H1q+1-sLl% zmAO>H_x$niVH9xaQ#&k>iv#S*0N`z80Rbfvp$v41r7jRngV*Fjv(R<}CCP*TTqIp) zT7XLDWRac&_faW|V-*Iz&xofWrIcG;0ON`nZ>VD#VJ%HBB(R5>){npq!+JqjVNZvS zU|~i_tXm&Q+jyREN?h$XnudR`VZ|hC|DyD^M^z? z6j+`8takywi$>j6Co!0H!BMszWY~n-qJZIsM~Gp`&i($#tz2vRG7c4m(2sW4(N!R8 zdmMvjl91=_)t^`DGpzl`3fn!dR$r1cr)pDX%(_dUoiR~|cvag|u@H{m$=^Pi$Y@!R zb$oqX{FeoBa&X>XN{QKS6r>5qZ*nZb{mjDe=>#Uiel97>zfUr9*Ri%>$@lU=Nmxir zS>jidyt2z>B!qB~y!|Wj9>u;J*?ka{RyN`yv*e=RIiYq4Q6R7EDtdG=h}iQa{UQ3# z4LakvrhJ?YK2HIMEtl_SuzLxpR4Jap4WZn@|KfTWx}vBdC2p7&T_)d~g{!6)FG1KlH@;wQ`SX(2HrGBdT`vv~WV&aF3HOQLRxcSWV#)Cd zZ#6z0j8}10%rBsFwOy2DtpOHxwA%5SMO1~4JY<~2g8){!9IGi;7Dalu^V=}Yp@m=S zes3KhxPH3!f!zmZZEYpUHNKNZrs{rFdpD4PRG=&8|AX70i<0>|3`4{LW2spLKoEi? zGs5CWgReNSy(j7jZEi#`h}eI3qs5IVJZ}5LE%Z}b1zGwb{oR{}QPmv1RpE(zL9=yD z&E7*T2Y?T-8SYwnJ~&~!eUj0R`C*RyrE>vaC7|kstm&NC2V<`(TW8Mgj1Xbip^!(n zO3*qP*PmT~FqNh{q}|laWTIDov8MTzsi|K2_;oKZ0W}2jYB7()-uub%$uwA5qMwHh zN9*BI)2f2W6C|n1*eSU#ABD|;=5s>nX{||(_+Hv`s)uuwufN#NCNsfpkHv58g+nV$ zGb%8ET7J2-dhAuX{+9r?ghb~VayH`B-nGsyJR(v>c)Kn}(x-b0K3TtmIYw`m|MD_y zM4thc4zcQWd?G=CoiX0m^stPBr;da%yh{fvuU4*%S?z(w?Lm=j0j-wr?U7Ol z`JQFQ9GD7c8br3_3EQKK{Cij5Sc7-d<4Iwc$CmT}wf<<)_kzeJm-T&&V4615kJh72 z9hByo8j=N*6&!R~!k@s@V*7xT91`o+6rw8xfwrTH4$>(6SEP@R(er5kYm?47$_j_n z$LMvS4n%&3i@({@?lQFP-laTk@rmoJ2I#M4QJwRympH{RvHNkRo z28Zq|wjTd>g!((hSGU6Cj1JJeJMRCCjlMjl9k2S*8zkRNFU)-KWMf+_ocd_9{SFol zw3E}z8?k&U6u;8`;7HGwlmrhm1BNCXM+)lXHcIzUxK?nfglAt?~u|_I# zU8b#!|4B&1>rkow!&k?D@VZjb?sT*U4}E+6?H6;}9}HZBO(nkyzH_Y9(KCI0XzrE{ z7vr_@U?>Y(7~Sh692~Qm|NGhsl2;9j=68Cotbg78@aQa2UbCty%oM z6l!lGI$qUIxneJQU^nwLm6WF^wQq#2#6W9~UZ$k@GpahJl#7G@oE`6-FsWvfbZjx7 zlX|W&#euP5o%QQGW6qfnRrTUo+V!6pbVUyfiA3#nMpD)O0qqIHT#zALdMBBsbKr^s zh}oJN0@g;HDZ4FIRcyZ!{)_r?+hbLSZAOyKoCuh1e_N~|B+PqmIUuYCFMAt(EmV3i zE8r)EV!~In_jAiDB)3FIQXERLY>G0`seZZN=DHd6D7F2yDxpFQ-3O$^w!CkNx|VLi(J6^8mS|-jp6yMP5XBbdqScdJGvzF;&Bh*sdcOs5NF(u+42Cmb zQj37t@qd4-JBN)hETd_E(Q7H<>D?9Xd~ud(I3o?vL9Xk?DpbxB=6Ki9qIPgUH{XBv>BQg znwZ9i4Q>7>-)<_)3;JH1*{*8s-$C1qULI=usL&k{9E~_8sC!twWS@Kxed|dmJTo z&P0eBsXjzd_Yy^T;>I5LG-{*t2?{KDjJ)iRWrs>!BF>+%*8)gbbdaR-BXXfP$XUik z>m2@ir~#iNQ=yDC5imxccLWESiCVBg>}f$)vbKFWqe&}SQ|tGi6}Tx%BWqb{h?OIg zuMtGAB_SGmrt)}a97+Qe85qfa2p>Pde?MzT(Q{--S{`V__2!s#9#T+Ep=@;bDfu4D z?HGPm<|s_)pw8SObM}+sz+cF_$GK9u2zgZBx5DQ_m7*Ap&Poiloa&4@i5C@KAoX$V zteV$yuRK=>=nT2h#O)qW32h8oV)3@X$Q(_VrTfnWl zq}fu}P+eMyt$9SCE2UuQ%>yZE_v8LIL_V0BUBg3artEyj+{W<>nGs*dqd_?~+S;5#4L1O}P8-*ZKEYzwc?8U@(R zrka~B3HY$Ne|DsI~BFWQ(MPF!ZmYX5|DW6n35nlP~88z27h-D&+f@9rUm zM1mJ5(QcbJfX5y7Z$8e3-`3W8`4SQi|QSNw6?ZLH)%=iIXfZL7@pU$JRN%Bp+G2mdo zAFKT~_0A-5#3UfYB!V&#g}DQ9N3(yq)#%w*6s?G(8#3Le10zw)XPkJ@9zbjn`ih3s z-+hKa0AETB5X1cTsV4c%zaRFj(cZevueI#rv*907MX!`C+2GdA>a0eh?#7kd!gquL z?8aLQ{e@Irz-Ej4COx;bFa=T*kCX{EzO10#PmL}j2AIi_@VkFYKE{tIZv|DJA+!e; zoNXM=^>DTfW<+3WpLi``bDx9>ZqFeR26?Y^>68{u3B*P2jMhXY$-yVT8L?y2D6X^R zRdZzL;c5TH9G5P+wD?lD1ki1coP3KCK@SZ=M1|d&|CE=QYZG8AFTriMo%J4cF7C%C zn##)j`JGSf)@k0Wfb>2ehQOq4=uH!RPRB)`=74SnPSVRR#s5K3n7jK#D8PgMYyMuM zIl3HM)y-Uvg#&S`UM4oeZ|xT*^3AEge&l-d=QVux{LPB?96D4t7_y0x=5;2s^Zg)| z7+u1#mjZeat@MiVabodIryZM`UWJT_&e6Bt`hXDqS?pnhQD6Q$0S=K*PhUeay@53` z6cknn5hzsQwu?1yvorK1xW@W1D%sxcffxO1j2_GWGDK3fvmgB?&n21#s9a7Z2Cz1f zE+(Mcg~g4jkXBxnzQJpuX?Lv=LoiXFs=16xGaNo2lNSXbgxzbJYk!g-pHE?;qh=2v zst*#GEk(&bsUiHV#`wT!WWd&f-(RD2AIUe(lPH-OU^f4UQH%5864OnvCDK&H49vZ)JXYqsw~lUL~Ld zad&t;rk4Nga*uRUdc_Gy{V@@EH4jB7vH5QQaU}rs2Mc+eleK3qn+(&QawR!rIT5}P zEtKkE4?+ffsWXOW92bz{e$C}i|KMziwx&78bZI#CU(O+M3lBSvM2S)ThD&t;;TX16 z5Uo*`XZPaQoOyt~7C@!x;#4hLt2OwIk=?EcY+*eXPUdgi=`g><+s&M*A#aFjI7|Kf z)8Qy@;qqgd69K^Vwae$Pj6=+`BH>#Nccja|^>ar#6TPs8r{BQBFZqeHY3Xor4R9qh zgbd6_{l9hOb}4SW^FUSJGB``hBL(E}$e|4Fw_f(MWEt2^c}Zq9%M;Fkb0rlJ5eyMk z+KK%_a1=t>fq?a6yY_)D5v*Jb{X_w+Oz&>s*>Gfat9|7v^4~K1M%#G80mH~P8~22Y z_>s{t8sSX~H`T7c+InCc{;xp9z+hfHT0I(a=1%$9X!qFWu z*xrQ?av$TIi7s>M zZzVJiH8YS3zRZe}@q*#Wy^%Ad03z5GqhjLbtXFjMdX`S#y^0CNbdf%3Hmv~3oJjE? zvptSfyGeI?lQo}%H2(`n*+!DWPrd(~d)Lm_DBuo*lh`9{xiRu(V0Z)_Fy}-Rm!JK( zA9?UE3Ve%*VPk};t(3mK%ye1%uV~}DE{A~C8)F^2j3+rClB}DHNiWnHB2j$K0zdo? zb5irNHL}IS#Kgtpcz%_u=*%L3WIcb-8BBOK57BAXlPK_@-VlQTd1ArbM2Ez@E{v;f z?euuJk4T@JQ+3cV+$Gy&kNn%n6p*mCKu%O5*0(V_`}^u;bPXwLi65zynZ7~l9E%*-H%ZX{SaGNfU2V+I$THz$$J_4$q{3{l{DDh z$JEyfg^3>ze%A)!pDLrbWLSNb1K+kylIf%)Y#YNqO{D9Wn5FmUF4));F%OY>nc^Tp zm~^DQUy5A%!)0LmmsaDkOY%g}_balU{EZ@X$Z8Mzm#DV+1vRgN6~ijQeb30 zW7nW+u(eTi=#}cdZFZo|c7#s(gx~frkH5kUtLNFXHYlr`NkF9PxY77ibyO1$a@U7f zkjG2-!z2s2W-;6K=#`M(y;)VYF_iNY`NNk?F~01nHyo%E)=y3<;4EjqMcL51fWpC5 z%11au`AmqQ%*=(UO&uGXZp-1S&Zoze7fiASA2QEL6oip?zwTx5!2OG4qB~0SnUPrW zXDV1Y9k5<8=w1i?8bZbkKr5i#nZ7gi}tpZf%Iy@G{0J${Jh?rXapL2t0j39@>r zK-jIKQAw9asH6U*L^ji-wtWM|gB~c#2S^6-2-w|v@q(R26vuo$|ClTzWh$=BiLUE5 zzwi2YDbIh&G*i}>y7j75MAF&f8}q+!I-TDf9g-qKg@?qQ3?@Rfdz9DHhpWBhs*xv#ugDdJsK-VdB7+1hl8FS&Dx+@N3dT zAuI~3rQ+;aXS#c&57A?7tva^`ggLdF^eMpWsGnX?40?#ZX?p=Z-G0Lw)aj2+Ci?Vb8T-qJ2TFW4F28dT!L-_(f z*A;(WU^=h7n)g7boRO3QiA*N>m^0p%VRKlSUktbsW|AlANB`C=KDpX*h5yEHXM3#? z#nP0n#D~%K^r$iRSn6Q2Y8G(Kdu@EpnTLgF{k`f((07GnDD?CE6BXE$Qy==fZiBQA z%{5)xX~UQ)pu{HQ^pY+s^2?}Zy7%rkkblHdY-u6MONZ`2@6u|&>jTu57s(hkH&>E5 zvWkGsk_T(ja8PFI%nx#Ua**tG0V1G@5ub$_2sg&#K7cRAD+)jJqN7|*HYo|Q%~eQL zCeOGyirULu@}F3F7zU-N%wo*%f=o{NF%jK@*!srMUGLg+)rQq(W@;^NYzm@ev7l``7}%& zX}XgRJX@sR12CU6=gO~dui~FHJ&HTLPiSQcv-MtF@VE1VEbbo(3PI)Kwk$R|eZze_ z5EZ2DQWwoJej!JD{YqGtYQHVz0s@46j~nURs8MyeIbokJ`d|6#9oLij1~D1H3=2HL6F zRg3ohZE}8EK%KJpD6uBJB3dlstX-xXn*cN7E{p4B0;U<@IhyEu66`^rt&2x5KV@R% z^fyC7sVWLd$RGYa*F$=;!G0Blk#QhivmV7l=HT}?Yc%m^i}!{y$`6Z9CI=nhgj<2P z?3?{vPX~N`|E^_O|J4s=EM^fQDv)tW9PxIqopknP2jX2#Dga9&s=rXzLoO++V4-IJ zWuT{MyBTSJ41m-o)wBuHQ14Ch9KPkwwVoOFhs`n*J?{F2+V#*XjG_XO+jbJWY7ONc zBFxw?UgE;s4uu5-Guh}UI4s2|)*jn%BQxF^X+t}o4&!3p7X)C5L zbR*c9rYC*{O^@G3J%3_Li3jRKa=tlF?>Ld*#L?!4;nT}A9X9SP`tC?Aj}3aTyKqxq z_u?|uKqiF$yjFqf&|&VTGM3x-WM1#}lqu1r=;VV+ak?IdKuenG{n1|jeem@Mp_s?U# z@HyvHPE#RbJ_owV7xj1BFW!Wwa*6vI&?v?#N*~>S4>}@z`$ly8ha4m!-d$hkgCi#a zN@lU)T8Cs<_m%WTq|u$N5hLt?UE_&Pq1H`CK$Wu5?baJ^x>R!Zl!PyVVy*NGvBXyx zgc+RC&mM@g_=e_AA{^^avKllUK79iUg6es%zo(sF{ijQ_Ex^^!H%?-ng#IEB3U=_iXXUQ5`S*83SpvS>6CG);A`V*0Jh4`~Yj2)G@< z3%2KXA$1u0s3j zxiKC;Nnbqzx8LXm)zEGpKwjEaeZDb6i9W&&O#3{HPQEecBm|EBr(fsI01* z5lmqJ%hR*~@Cn8?8ZQ6`k;-202 zN1ZlbTBYhFPVJ)~a|Ym7OG&HrLyJ7NMY`%;^5FPm4^=Mi?*-?mep6Y!wU5T)=No(W zzzR}2$$32hAk^;S#k^V8_{*b(UAaR2H3oyOqa?Y&5Y4%HiWv1%-^q7c%jcC7Rfq|t z+NU2iYaO#3?kH&%P+Ms1GAht3;>1u9~pNRXCmj)Ve@NhLsU2LIqmDyP^f zLTs)@iR9rs8`?)^IxCJ|rH;a&-Kb@*(=}?jjcgB-YFcA)Rplv3!jvsm-*2CXLfGU< zf;Gt}>i?MoeDu1-d?oAkTHOKJB}o`UEITBM_c=`WgTagtzK(?Uc9vgM8tF$~-mjz# zPEGcF)?|<;af!5Jz4S11AeuqJ}COpX|xIS@T}0yt)~J;%MJIkuu4QLS36_qvnmKyFH&?wKwF$jPCKfaR6&oetO@PH3(3W}7iz2Ur@H=%& z@!I*&=%Kr-VQCGskiP&hV^?W)(MrDA*HV78dqjwOU;A8U8)D6L;?_T^frtaGmuK0GFgY1uRKn9MqfW1eJlb z%&JW)%dB2X2ef5YfQEZmn?%NuwOzfuTNw1+TH7XcW=WmbVC|$$K9c9p%vwt5$dhI> zkj$P^vWBsD7M`SULUQsSN$&{OYGOmO;f#q+u{M8Y0wSLv{j^U&)9layxk*oJzW;O^ zFj?O}!8^PJA4uR9$M;W3ZJ5?@=HvxT}=R`IqTynE}I|p z&GXnA^h)Xw4CKC{#?qVeTtIZgL&Lyl;Xe=TdHfEo6r)c<{;WN&Vm16U7p%R?B*9E_ zh>rNvY1q$TI;OEzs*Qz=tNy4F|MACpGLvNF)u8mBZj`Rye(hthDbqosIK983ElN0S zzlE{?i|z;rU3`3>c)dyLzcEPGY>8YGM3&Pu@$v>C;*aPsDYoVmd;HB4+f){e*bf7l zCfa=7u}P{Sa)uzh1kXOGDwgjgI2P#W1T?(Zy*0tLgz`#^%u!_AGefJ1lUBE2;Mj&J&#WT-8H%loPRIvJ^G7LHda7LKTulLQZjOOiI?od zxm-*5hqHw5P02yV9tlZ0*6pG^hmw}VD3{PW!LRKYwgv*R@|w9hOQ*#z-j@Xn=oWM9 z*$D;#)pr3Yr`#vUmp^aeEh!C)ggWFHsD#<|MRQV`&*SBvu!($RwCl?ItbnpN=l)Eg z;)ynqgam|C;4xq)uKuJJ;yIMC`;~c(l)ULAaa@vjq#PS$;{*}WlV=euc^n{cA9i2) zn&3e2>ct^;S~_5T*PT&o1Z>G>L@sI{ZSS_KZc9hZXc?W;_IY6kAbUK{VHW=($8+V@ zSdTg9z+Tia-FW;N?nP3=N8iu#pk6zkG;$;6ZX*J@@B$7|TEL`f=rwemCqpM7B9bS{ zp;~AC*`g92v$UhxT9t!?^6s72ujvgtcKu? zvF~{Mjh0@5D?9u}XP&1tTD6TPb(BSqMQY3cs7 z+8ozeo9>0r^>?$1{W7_aty&=#4-AQ$!nH(fED;!h8wWsz6K9UP>G{2T1gwQ}Z}I75Z6TTFHvPu4615B8Vq zRO}LJ$AH}hT7skgRHb@*ZAD~BX!(+C`C-@jG3uHg@gqRT)el_PZgusNKjClTH&_-5 zfAQg9`o;pH6a5!0(gW4g=z3bbZfG&+w@sq{_lhAlP99#F^*RZJ zEe{RUR*k~Xy^!-)H$uE;FqmwAA#@6Fd*&JVOQ8@76!!@|1eOgA+PDV=%N{Pqpm|$; zGs?zf()}x@Udq`B*=YOds@{ZI9aD6|-h&z3_ng;~$#$75tJpBR$}rQz+iq|F^X@lp zdP`4rS$TeRGeVGRVa<=pZ)cHW$lwg$*tFrng3~mZ5P6vEhqPXNA|BnpeD~gm2Q&Cr z2%NkJcDjFu0~Tu6dOxcS_Er^~BP*80K8~7%hg=0@dFZUuzP!i5L$n2$t!D9-Y|}_e zD&IWr>6K@Swy|CgG>Be?iNB$&#ZrUYLfukHdybHgbxF!2MEO7i%4s&l0 zZ`8*7@lXC;3<{r)LkvPpfeyYT=}`xZQo7f$He|e!mqB*6zqndSHDPnQ7M?`OTa(AS z?!K~Fh2J-AQ36Bsq-vYd+&W%Td9yhmXiE`}F{jrptrzV_UFtcZKDnPzi;k39PovJm z^}#Ph*`Rkjv7-<3YwJVYm|w8Kdf=P-D8$OCdYB1p0X#hMr!yS4#ZbDxj2>;+DzB<} z7Ge`0HfN38hW@^nzrZ%%f}xaXKjcjwmF?P4AK55({+J~X|33EQ+u4eBP#h>m0^CnA#&{sg0F zv=5g-^rZ3?z(;0N`AE}d62-BKSUQT2tm0QnsBYg{zclj%v<}I(gW{+2UlgtiH-C_{ zSFUvlaH4F8DoZA&;8|FOy&k{rcY9q!0JaPNF~BXuGouxyrkvcr)5iiXt`v4 zI9@$DEsgnkON^Wnc@UMx)Hu6;zo=1y9NJob4>p*022vR^gwX|%kkxzB6M6@|KhQc0 z1`9pP;ID5N24o%&W6}U6YP}5by9UpE2HRv@<#(+diGJ*_dV&Z{L4c?vI7`+0hCq}S zV#+6zTO@I5P8N7SceQh`An^i_YG7_-d|hKbBR~6SYpVe;Ioamft74I_wgkM`!I$Q# zI{p_RVujy^LZfXkb!7fx25PPIzBkH*qf9!zA&`VwP=Kn!sHhOzj4t;MMdT`IF(`); zJH+T61@BGkZ~x!eneJxaFn4}4{yFGQ)zsJJD>ce}jjL6Wv7K9FvhSC0>6%cZx$sVh zGT};zT6C}5$1mj+IilAEvsAXzxn`|;EUowMJKARnNq&%t7xzfbkPKO)gBG^$lhF zI}epL#nnX0^m!EOcJi(dt@RuqAsRH zdWEz_70fwsqVaxow5Ur7`R20|w|LsTYS2!Lr^hXM<)>dvD2&X-6H^Xo<;K8mQNtqH z_omZ94`*GK;h3rb1wt8uzsS4Ou=k;8k~jjykHe_oXy7$n7F+vxfxjl6BoF7F!z2G$}#}%hjD;<^tfo{)Ofro>_o8m7>M{lh}3l&piCYL0CiG zac#z1ndbiJpk+n>LlJv4r8G!(zYTVm>g;{F42rz?K{TZrXEK5h2)p|~&3$EDR8Q3Z zU0AvsL0|IxcklkM&*%UCdHdX# zyZ6qVnN#1HIdcx%#0%G3B`WVLu5{2HRy5tjl*t*z^Y7)Tt@?kz9~XTbnU_F#8I&6n z9FSvTUc!2*VL57Qe#}X6wPb3TSH7BbM1T>M{=(9dW43@WZ0ldm7wmLyhyIz0Fhlvk zT@*bOFDHJV;AysF#@pL75$209R`Oq~*1@lG5qp`QulLme!XvFkwy+U&2-@4&f2bjE zw;ARqS-We$%HJV2Z6v&z6)M%cAXX>-3A88!8>d;hFhS!ycvr3ASX^$c#i z9>L{6rlVxt1|-?JjK61qU()~0IFO~H$r&O2wB1U52xBrz7r}wnGv`ve8>PG<09R11 zkc{h+9%M^}BbOid@WQ=jx)}1+oLKLT?hR_G<31OB40)Nu;WX-I`~p5T^YxF8BG3J= zC-A5t_`^1T;k~-N*~2!cfrgzysyVO#MEb9Et-Cb7*M}=}KFa1x1N;o4VNeByuHPZT ziBCr`ic|8(FAFLYw%{2;f;W>H! zGGWrMs@9L$lx1Ln5io({b{`|ao&Y#LYzsI*50u=b6EipyjMiX{@;u4`&t-(c6JqM! z(0#5+&A^VVBeyCC7_m&_UMd0nY{fAo;eIO7F}6_z5uh{kUwOdFER;d?rxW34l|8z z?g4L$U)DYtLHH}^YxeZP(GCmcj2Q#Fk5z^;?*-QnJ|p>-OVVzW#agM>YU0{Orc7zKe|F%kPwy0FklPug}pjm!OR;q{EVf!Yd}PSlYGTdr0@>Mdpu&ut$9lOs8Q zlM*9=aYERPJV0Hx56ZB6+I@rrZ~w>|pw?z*Kht-fX6}6nLNq==9poT7zP8`XsKPP} z8E*w05eWzDy+a-~L!UX%&PB9l&yW!$c>v?O|Ko%fci_PX9MuX+a_!p4TyjzgM^pc! z#Q??fEKkk&lwYy&Uf`cB{}Ng21|^6Gi{Wo&U*pP86}ZN%1Tq5MKxh?{{!%hb;@XuhzxDPpgYV&?lUR zWcxlg!iOQqb^sOzqk08fn^C)&;pWYcywPqdsfJaX+98yPDo;H){9b;g{QlA`i*9q5 z@-~X>FSqYq${y}HyntqP@5+82j(uS7%>h+mevdlfLIA^d6{9*NmP+8Q||d%pON$3gK-cV z{?j2RFwat3YoW;w3m14*^?Iu1ok&a4l;R`~PSmz$vgLAu4qe&5$kNI%V+h7cOBbk0 z)UEHBk1_V^!Re1T(5HMuP6o(wSUtGME{(c%#mJy;5ZE_%Ojjn1E(Di2=`$As9(Q?& zq2}YH%3Y!Nv@(nOG?|57Ng6e;AddBX?Nk?6;|N5N2;Q$3E}wF@zn6W{$&yU4=!ix* z?R-;1+w6b|L3(k6zx`%yEg$>#m+`ARMO^awlZM68ia0zf4!+=HDTN|RbAb31QqR|h zIc<9$%zyX3F`zbM!T9%ouX50`_4kO($#L!^y*=8{LwVO?vkpJOE2dAb?s{u~O2bZZ z+^2L)P=|$;2U08VjH9Kob7(Fg+1!3VNH8GAy)u>b7%^9af2XTUhwLc!pYXpZdj6qv zHn`0#^JZ;UIbeI_7VF^%##m(a!tYlS+FB6Y$NDKiVbRJDcij7Lg$DaSV+a_z(fTHx zGh^;*QL76ZDA(71N}rXA_(|(`gPlqSZ9OZ%<@j}mbszBD=oV+eY#(gQ*K7g?rC1sd z80}bc-`jynXtFBB2?vzspS= zNaH_`%5&ke(JIm4M&S5$D!`u`bLZ4N!S2A8CMUN#Qvi2xK>>S6d&^`Tqb=H^fg0C9 zJZ#7KupI1=W6?ixo2UJ4K>0U)E)FpOR)E1oD_bu#A5iSugU}Tw_vEVkj4SOEeal5c zdky^ZSL@P1sm@8-?DvUt{+#xM(s#Ya+RN07fB!8q^0Ai6p4<)Sfv&7F+!zx4?8M8$ zQTMu{NizTOvBG-!hu6trH+32+i@B{QEKjNW{%1{^K^G1vIF|?jVN}wfI)BlElJ404; z?|K^ZUgYqcXoK3SFTUtSd+r&r6W7x=Z0=y#d*(59;+{FY@};L!nLRiyIz#zQC^|5T zRY9@oqAmF_Hqk-yvfAE#6RaG06b7fb9iNoH6Dz^xD*nBTxl=p+PvPFH+r&9XZHqlU zIgD7G@37a@SZHRNmj+H*eBhpi?A*=s^NUa=+v_^c^9`Id@Q)*761X z@$t>Z?zS6SdoK_7!|O+?nAkb1m-c3Sw<_{n`O*dp4OtfsKg_VJ_r_?B0AgPJH}+h^HFbvj9+8V^6)du(C`MQDlB(O)y#ccOoX zMDZjEnU55HebIVkWAKAIXjN}4L3XfEK$AlYIK6m^dxKPwJ1k;u%WH9}@#vD@pl2M(NJwic!9p}^QMzAE~& z=4%zjHO}P1)nP8S)AbJnC{p2RuI6Qso;{qWcK%hdlnXTq%nH9`Wx15FK+JOdd*M>S zHKZC8DTlun1J9U1*H?fj+L}J8h`f&S!X$3oMkngJ6-vr#9sz2kXNA283^pch(_A8C z=>!@ZM{1>ddcsf4d|SH{YI^sJY<-r;(FT>3ZkN+w)ANQxqAt5^Y}?0+N4)T!c5f!R zx;!6wjMqUd&D!-B9b_u@t;D8J=H|}j@7fLGJvUE|K?bNcrTe=FPx87geH0B^cSr|t zO2sAUfUMRDz2*Wl$(tnpOrLBs$*U|*CXotU;{mjPF1yov`SFE0B;Le5W)%iQK%j4|AA5ENH;K}D0^ z6N`Ta?p*gRkp){9x`Y;u!vkQwIkfdlYuks8_@9TUjXO@ksHcA!gFO@^k40Qoc~STL zkLo(!5gi>lX8SK8BB=wv`M+WZMA)vvZ$gVXb-jlFsB1Tp zxUnB5W=yXczD`5%BUMV+4+Ctz4{%xXIuMj&L2QFE{U>Wnu4EAF;Wxha<3~5WTkqDMMUfa4(uy8kXj?VZU9+;!$j`@3xfxnN!lqV=9w?u+N46)8GgRe8)vb^VlfmR<`;kelUM-m zE8o_#8tcdO$l}A_46Y?pMB|rFOa8W)Lol@E^76t*hhr=IPyWK6uqFBZ^O|~eUPt7( z)F-dx*V5D8cB*JV`tM+1m>{PN!o)6f!|`zyNzJw5@LjOueKr<0guc4%3gju*kJ zn|3C{hof@#ny<7DPwK&}*%3G|3#+vaoyN$X614b3iFMx>$<_th$gGdhe!))y1(qNN zUoX4~e;NzxK{C6W)q0xWxyepFV)uEn;?rlzO)6HI&rtlwR{aDwX;T{#0|q<#0~M@P z5=;0$L9-0;Kb>1$<@dAcW<Z-X_vNS zx)m*MkjXB=n^)FqG!6sw|E*owCxfxtr38B#<`ulRd~np?pt(GVF>2K zc&}shJY8^S!YS}wG6?nQ$uY~Bf0Qi()pC(T^A;)YL@!1loyL=NS&nBXkGN`2N1W#z zaB#jv8gXkJR5*)eV9hHr+@4JE8w_77Xx&3?4s?DIa9a8LA7Yg{sx8xfg%a2^kM>5U z;$|57n(PcL|E~V5P4*?D#riWzfU;AX-`>W+g3FRJieMveCvqgy$UCtgH=j=br1^3+ zbbtTm4(|U3eU*7v=k2ThB`B?D4&w@(8<9_LaGxo8G2;8XJ5l?uZx{vzAJ~TXn@rPA z0R{^ZURgIAm3DPzPtp|y2J={oacWHs`{75<)CN4i6T3v^t^`Uh)MT~Ue?M zz*W^{z$8$Q=cH;vMGKW9wak9I%x<>&o(aX5g;wsQ%`(ursx3_l-96Q^I*$oxw}eu0^f}#LWepx-dmhM z=;pjv_?zZFtYDiRTf|xEF(rJI@^&bDJDM(Y;#&R3?mF#Em(!A@(Wy1cS7yN!b*dt2 z>iV*05n*AuHlM7}MTMMd-Cs7!g~&$%T|7pxTGMBq=zG?Q2{e&4>u;g&9OEk<2u2y{ zJ)Yj4qN|oQqI>L2F<5|21iZj^;7#i>(u6 zOj6^iIZV%cZ!?}8iAzl~^dbEC?(yx%vfs1qiM3@`2&ok{APUC8y=kt$NNBr_#yAR~ z?q0vG=`ZfqI#Px)W#U348Te1K4Uhhv0?8;>=>%UL~xm5MU*ABq`f1HN!Terr*d-Spm-O)aQM`-K7m=MK_$*~8VC7s}Tdc*_Gq zmId-)#4X*GCpvR|cFQ`!&XLI$j(zap?7bJ>h`iaO(Y(umueSccW#_fsWpCzqVCV$t zT8&hxrVT~ae@b_0K^k4X-BHquESA%SH{CF-4f|IZKFz*#2YT-msc%EKRDmdWtS*Nv9o{>8`Dw40c{KSA!Ow_thZw9-g=}e=u zI{GVA@MwC)A_nQg{GbDIFM}e#G>Fb{DgG?X|&*=vFR*V#*QG98M@?qZ%5GF!?B=n%0Q)-eB)Ujh{Aw~g)2iN!1ZQ(Ju= zqJOv7c00Gg_&4)>-PiZ_&$pYqH!m-yMQAA*chMv}s@}s<{!e45J?|T326(fo};wPN7%CjF+?nzjfXJ@e_J@BjBJ}~ za@Z85ci#P|=@FTjO?o_iZFD3{rIYGOc8rcio@(G_fR527Gqxlde!XIFIcTh*XGir{ zOzD&app5lO({_t98nVg`v?{Z1oxUh~~uF_}D#h<%fzf^DsI)nn1Z%hABf!@rgr2Thx6 z))6PFB~MpC>c7USLAQmlfGBbT~g{TPq@8w@%DH1itAq;V~63Y<&NpRp2tgEp6l>;siUwprU+j}^7ViO z{f^S^JT|n8=?L_ob5+nqWoB+w{xmJRYPQTqam#$eDAdjU@3J9mZYPs}8j7qxx!z7L zko(o8DlsD$N<{^v2x?cCg`-v&FlZRPYh*$k$86;N^`#a3P60BHt9WrkZiy*l zpl*N~Gd}_Ew}%U;GTllxQRKHhXW=zMfy4Q#G}V`!KaIHj_=2p}*d5(Z=7eZNw|vyb zMWhJMbA3RjNjJ?lRCu>dr-r`nrE^4puC-AwNzH>4C`+85^x7-uWLLZVRs)z*sGMf`H7@@orCT9!Y9tC2d|;EwX0u1G6$*=gYLQ<=DUauV<^t8~c@%W_s0*ud zop9Qk=$MyH8Jllv=X=Z0#PfXyILC=yx3A6!gVZFR-CA1odPyngcq|!OoX`6z*-R=3 z&crqU_ybbb>^_V+RuyZzFA(@`U2<^QpZPdy0xZ|^iq-&6EghT0C{_VS4sTM@3SW*A zEAbOMj#XXrK|l#^_;`|6}BY&F`Di z1rXz11&KddG6UoJ7GwFgzpAZ93Mbbq9Y zH%FRNXb^_jbAsXZ`3+!&x#sG1AAsi1Uh@aBH0`^sT@d48es!)OV(DfaDCJ8WkGzUe zm&at&D9^uzM;~=&NJwp)rnyL^e#HBsljfbDA1ie=R0Q44r5O1&FBqoXeVsi6yI(PA z)u-!Fp}x(Ds5EB|+R@d0-Qu8lwVaqyegA6Y!8r?Dp0?)`wfq$SrBI)z9EURPM?ZNVvvdE~bIwlTMoAL%*bo!?vRO40$BA96NKOoQ z`YMr^+qB95zqM6?=(g}00<5$C03Ut=d_lg5uqZ>Cxu%qddcwUsqSDJW>Sr3M=^kmj zLTd*W?Taigi(X;r8C}#L`@FwPY&$h$sk!*k@%W?>$Un+&SJFE&%pAz{1m}`dr{{XF zmXBK!l!-p*Rv4maW3QUsdFFbo?U}vP2dBAfQ%6q4k|J`P(Z8+yt<9#c37oI27Nf2C zS+{+Sz(6kV>1>NWoL;31ef!YuH)twJk*G9+6Jgve(-yN0JQME*=ZMupLKkB6hsh_9 zte@ZBvWH1DeKpjTV>vak09g#j`@%BcFSt%;?pJ80CDR>P8KKs+w6~8cH5EQhkUvO# z#X!d{sjgt6)VEh!Ff9?}|Y7F~Q!c}Rerkszhk1^t;k&4<-U=XYnF`EI0G zqN|ZLPJJlSyQyt^`;7+rSAR%;iY<8vs^0T&x3&9;pT#Qko&UBc!+R>`c-Y%m`u_8k zv{bV~SX1@jwL|LDc`RbY2eq4Ik(4!FTUk%=g1)7Qx&pG{9uv)Tfta*?PHs9o%vH`tk&NS(n+DH z%}7U&IFI;!)HTcXfX~%LTR5`|V1*^<_-kfR*4jk9Y0Ytijv2>{t~kJd{`jeO@Gu2n)ptE^iubFO-_hyX+MMf}<`yP#m&C;qtS_*p9C z!5$o!Lms&Eq_8J#mrQrd_+8HxTEfzI4)W8EJ1?}QPB*8`o&bt@w^zn0^2|K* z+9R+cf$b|yMmC{CQa5bT`5%Q&=F9LZ@W`TfUGU99@2Tt!AnHho!5;WL1D&7ZXC|rCbjGrmj@W@MPgtKoRhSmPw;KJ zVDA%V`<> zsAw_;?V6LJF~7F&lxm3wBxTOh-nB`JjG>R?7oePquZ5V-7^AMapCtk6>$@2w>TJ=o zY>{Aol5Zl-7jLfj@|a7Sy=M?KrjEy!HQ2ch6rpt~JpOkF?#&0W3u$M~g;EteO$$;? zX@nZPEvCsenq2~rEQf*t+>hEDZw>3Vc-BxfJ5+xNCSG#~$(p@uy4_ifQ$tmj%C87~ z$x5lgU%ykj*D0jcBdD#HBnt@^>nK6QIdbTzvLlPRVG?c8Pd^g?Ldfexu0k~Tj_mNe z!h4t8H%S0F1x259aw$Z>OkC5>XvFx$@i93R`MgzYA?eg>{Plvh8uXBP@YBT`P6lPR z`}yftP-MQwPb_TlVU!vjBhXj_(O7F$8qA64DRJC_H(ER@ad>;Sn8}Y--+tN>D%%G- zz9DLLGN{+4zH(%>k;#V!x$?Kje5|JPQvrxv0e6?*?O`eE{M5*IKTr0gbL(C}Ayz%* zVJ}JbVt8mQ%+!KX`a|6l2uy62okYi+RCI%_Sli;e_mIzTbOQS)RTd9dUB2h_JR&6T zFp~NC)c$B`N@@dOtz1nul!gk(=FTQ0-aj6G+S}ThRMYuk?1L(z;tanFn3rik?(LoZvki*0Ash=Tss8Q%YLKhzH3Gu+h0mOPXmqhVGAzsn_bryRtgIk5 zNDM1$O2Gf0Iu#%+EX)eV0m#bAK2u+>g%Enu0zw(rk~^WP6QX!X$vw`##;VWd-u`&% z@9aL_2%QiB8ab2@1FL&DS;A@ig|?4{@2rM>72|l3;kmdV$sMXAi!2k!nU*K&_<2W< zk#au>SCw1&MaBb-0ywcKRdK++-bfRF8HE+yKJ1sEUv=;ItmX+83`8!g%E?xx%{L)N=kZ4COs^S z;j@*Lza<#%kVX+!#Wjih3H&Me#V@S42Dvv%95F*s=_)+CQqU z7TsL(C(~qAz@4h&A;8LN2P355=^Ur3gE}iTahUyM#An&Dn~2`k-zYxN^e53$5OF|c zWk>O;3B#&n`z^fje5`JOUA~mVI*}+mI3EL)FmLO@H?W)J)t7Iogy7Cj{u4EJWTTJe zh3zMwieszur_e|EyP59d^01D-z7V3IpiouuHH#qs>QjOq`!fWR{EV^jX(}*EW2j~m zkc3nQIsUIZ?JBj4|8~`^5`k@3m*uxP+5uIr`36$6D4EGheilbOT=Kp5ZNG_^^K z|2{ImqzBItU{BsJWMyS#NG2FM?tGS`$Ve`T+{{ms8L)AjOn@Xki|U22mE^26$XlK;gb!)0a7 z-pYIQwq2=7HI^Om?8_cDQqKMh6qr0p;aiyDA$v zBvjE;tf`kv1K;I?(CgzK^40fVMF7Ljr2(Kir?qbc>Tun5{m=gbkj*`s32?(grUwkkfhS-17Y4uT@&>!t^Ks^%(Mnzb* zVwa8h8H1yx$~X8k#eQ${sJ-8d4D#sn;I)Sni3m3Esi=}Y<;Fy4e%zX!Sf3a)O!9$` zjQDJVL-oTa+Ijb;)2?z5-NRo90N8XT`S~{9jOmfH>A;i@UQ)=T7Er9@zT2tV@F*_u zILDV>oJZJKEu$K6RRQGM&M;d5-lO-HLQ`8IYWNOy#Q%&{IQvx=_V%5Ju7gC2lkG%q z8HGGX8k-Y9+IU>>y31S2quL#b9SH`z41*r9W{13`gtMFM8A~@jb8O(>G!t^h0)V;A zx#NZuh0Eu`gs>4m8PEh2X&Lv|BpYa&c#K`w!?*WaI?vCQI`&`KZ$h(L9v=39)ox9d zuP4?5g*$jbGbbnnCFFmU%gN*{JU@;aVi1EU{D1>ABRPj@IN*Rf)V{6;>bwCzDE4%o zZ`j{I5INmsu?d92(s9%qm)pE{>=ZE#FDA{uO@EyNL`Z$oFs) zHVO(RbC(C3_yvE?*K{R3Pc4-jh4Bi7QBoQEkz)5#-r~X@UN1AH?nQiN@-sQx)|@n_ zUVID+C(~mmcH)9RB@xPYy4asRRu5!TxF8A$fw{R_y|{G~DZLrAbbrm!cWG8uF;PMx z4)TN86CIFcrHswF8ja}BKYmgI(jRulb5?tVp62(PzWqh75Zf#ZDvNi4;)C5Xm#206 z_B+w_&HofD@?Vnd@-x$gTU4}{Quqh!@9VLVV}v9lg=sBeH*sE+HI z^KC;M5kB?}Pyq1uVVPh)O&Z^RvhlD)^9cthQrH1y1ybZnof6mHFK{egTIYM$glDol zJ$tB%=o+q~Ii8!d^YK}N*DtPl&;&-!ycJobw#&O|2n*xt&@z_VEz=mrAQRTp^!I0s zl!-7Y)_bTDZfgMP9olMgQhnAv%Uo|rx}Ope_lcgFPK*)&WwTCO z`|~nI0@rI?LBiMOfo+K50G9&3N+u_#Se! zpwIZvaEa=-s{4Mgo=^MB+bBV_=05%Q2eA`YfesdDYnEHJTl8F0!Sq~l%~TLv;H4Fy zX)9b?wG*r*#BlN*3No( z6iT|E6xc26kxBn^kPXfk4VWR_?`^31i97jJ83O4Bp~KD+kEv2e(etR^BqsCV?0m~t zz4(uUV(9CS?dEE)R2!`+{m=c)uAhlZrf;z)iVV?RPlFPGZLI`%N7894kF~#p=Ld=H zQ`RJ%GkVktvVt%3y`5A^<%-5*wx^02qZ-_lMZPE3-hQ^kj;ad`o zlm~TeRlM!5LHp3BGNzQIM}WK2hWN({4qSv;7l@c#!|)Qm(Ji~{ApG8Ej}=sV6>g{c z@8D4kefpkXy)M>Kz*u+tuZQb*oKo?b+%%YX$={R#wuZ*BjA4rLWUU zWq$pgTn!7$zp^nR+z5H;vS4SL;`aU-%keY)XHpPQz^(_n)e!qdZwFmcCq60y6dEH6 zK?tGw`s=C84;gbrE@uX1TP+n^zW}@}x`Y4zNt>?Y<=mLIu7B-U>Eb^Dy$}$bz5j4% z>T~{6FIQ6i*+>w)6>3(ioodR$55k}lJxl?Mj`7u8!oS9YX2dVyC9M@p3EP;?AMQPsoGhuC14SjzNvVU@qRaRC% zZ`%*%1^Gob>dreuF5&*#;IMlUPRj>T$!auooMx!#_PzcTy#N}=az_CQ4cyOF7bJdh z#OZEpAzp<(Sys=p9$zvtQX%g)_46U)ZB8SwCN_BXz1y{ zHE-#x^X_(Z`lS|n+cf>Y>P5BXy+q*r-IbUku&5M>u920nI%u znI!Ql4UeE_=2npvd`Jx}55~O!{KhN}vCrP3ERlqfccl2%0BQR_oBMuC$LG=ep;C#- zqy1l;2NfK7!C4)Te2M#U$tjq0Z2RIb&u?c1j^fAoJ5f?wJtQYO|Ad4u)Dstj-F*-F za&#oe>dN&f)3<{tQn|h!jG?RV1jE%##@vLFVVhsLsTt^k`URA()5Gq3=lidhkN=Bt z?!gQ?<1Ui(n)3NCwciAmN}h__XZSAGJPTbuei~r&WVcGe8e6MXB{IyW!X05cE`L{_ z^WtER;g#>YF7vKl)PKEAFM``Jg93a^9H3EG+Y9Cky~Ox+DMz~HuDrQ|p*#iV3C_ZU z@U5}K!Z>8U5o%L+ybh0XWi2zk9aGy!`+B<;h7<}DHC8a=ssN;wUsEe*{MSF(!#BR( z8uurx%a#lKy$*BWLf3;u*H23~QZ7Y*e zA29omGFSc(JfkqQ0Toh69#}heD zY_T-r?*p_Hhg={?V(3`lKf`zdkKP8&Dh%>-N*Rz{{&zK;wv$l$wfJn~{PC#SDJ(RX zg$ntJ!QN}}4Uvg$?*j=*{OS4od-22o;YO^iEcGDF57!zW)ISnD-=jy{IFu3eA2~>_ z--~YU(95upfAF}G#1)ETA|_AH8=fO^+t&F#{|EWX(_6~M%Wc)&7(Yq#Nz&M(x9Y0y zGT#oR6lJs2=@sr4IXQ4-1(~(YJZUwSV1wSRWGWQT4O`WV$;MZ2(n}q+E?Ev3Pe+E( z$NxDKUr%+J4XSs&#`OkAY#>+uMcIypw%RdbwFAjZ-JxHM74%Ctw04f(Q#ET)F9dN) zNOImxAlq6E&0a6RIVti%6iC9D6|9+xp>h_sSzvYSc7F?k4Oyy8KcHY7{0{v2=*JJFLeday4z)NwPq#Mcw)jpuaP0{BZCQ0CXOYMlE#Bqy?vC)TR@$qB?#~WQY0E z3p|JM{??{>Lug$~s7n}@5(4D2i!TXng+>6*0lX={bcKOQSeZ_zw%ypKp`)9d;Rg z<)rH~!9fwq{5s|Zcin+vqby?LB!G`k&TpULy?^Y)H6t=-`=V9{;A z7#evA;NIr8L(M`4m#R>WjJYTJ^k&bxQh8z7$?yIxzR&|(AN-l}&Qh7c{d2X8I=pRV wf{_nTK!?&G@HB?yvrGoKx$uAN$>+X9;M`CAA;I7u0DzC;tJkt6FU$h}ADc);Q~&?~ literal 0 HcmV?d00001 diff --git a/mac/resources/AppIcon.iconset/icon_32x32.png b/mac/resources/AppIcon.iconset/icon_32x32.png new file mode 100644 index 0000000000000000000000000000000000000000..a54235146e7193de256b72a41ac81a6a81cd6a01 GIT binary patch literal 1916 zcmV-?2ZQ*DP)hdxj*Y&)``6)Hk248v7xajA&3$n;5AiJMHQl|x^4Q_m!@w?r6_%M_oYpf z=Ao_n6e+116-DhsT7{G(B#r~+&nh%ciIs`~frc6z12*2DyZ6qW(}&$<*UOrps%JIQ z-I=-PJNL}_zL_B`VWSWp9|i+Jp>Uj*ns+lxr8WuxWV5jOJlWfPO(>TW^}hh#%&I=+ zh7W1!5CTX5;9DdA=~u3^L#*^$F-qjdmv3dvDrV^OKy=`b`}@weVzdNM9T*-y>o0dx zKLgT|8nlsq0><4$hcrp91gkkECXECdz?1N{InRXE-#aS|e~<%|I^S%L9+ z!xkK{#yUs$^UnSOx#~KIAp#}?YeK{(1d{RT0^NvFAZd_1vjg<(I1~e($C||xSLzR7d z%%I|!qe@6$-R{fJU%A)3@XEbr>qtVPN=RBo{Pyc+U|EvPx=q2QWA8=7L+hPM=Ga!# zU-#W60DwUtFi2oM>g>i$VcsTfRuc)7Rajr^%|SZ>eIn zUxKFQ`xKNHB$ZBcurMbcNj<=th_*;%^B4hGxFTL>Cj~)Kl8FQbt^V6A!D2pJ3)Y%U z9EozZ*m{vNRjINFU#k5~jUsbgvL=GkOtCeh7U@d60IEgU;CE?GI=eIK%KQxZnLf9u zSim6IkPwFir)dcshY*KA95NILih!OzF3wF;qAQ~=7v?0*($I^gSpWc5m^s4LX}fa8 zYCT<^*HkVV_x>TeGB>4Z$F5X3@Stb@ak$8}g^-Vr7P)`GH6!0lg>x4*tzL^c6NxHb zc6il&YHDuUeuilBhUuqi3G) zEuK7N+>=K_9^S3L*!OB>$b=GZ+UZS99*G}O912;YhX1x1sOmud2ez;kojCTk*|GCG z>Mw`iwAuZynYD=&$=K_GnmiJz+%tDoT%TmmiwpkLnOG&4k?jAyS=*7~*~h-8#wOm4 zx0ygCNgIJwcgCf404+*riC9&nFspix?u~XnuwEt|EinvHDor^1ajZ^^m7R|c1kULb zu}Y;0FhmYZJh*{QPV5V_3p2cuRUmAM7OQNV3;+!dU$1XrA{|J1-pPD&kg}{}luLxo zSvT7Jgdh4HETn*STfOLS?*{JCy`keLWA({F&H@b9fk2pAG1>;8NQ3~X^ZmLB5jd*S z-V*sf@aeHoe}2-aC=`MKjz^qh!uhB#9Vw5S`+~bpe&sSfWFj5(fAM+066Bc2-hM_iY?;Sem?w*t&>e|2E_sa#G}K2LVhvApoc#e`bsywl-yZ!1Q#5RuzEh2Fx5pp#Ay z%F)${Qe+?NdZN4VlRRp|e?5aj1d?aJGL>}G{x1OaeOGn(H*OzyYJxB>g@F975Kce) z>xsc@bu6H@;F|`X+c7iXT0d(=`b8q$&h;&gRIH%Rhf*1T@o>+-S}~T2m~y#4{NFF9 zqocyNaXD>z0m2w=XvWkXUeW9H1^|2rn@9WW`F{Z!^M5hZ?tFFt0000G literal 0 HcmV?d00001 diff --git a/mac/resources/AppIcon.iconset/icon_32x32@2x.png b/mac/resources/AppIcon.iconset/icon_32x32@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..bee1a9764bcf483564ec98404a5ca28ac19261ca GIT binary patch literal 4642 zcmV+-65Z{IP)J6EQZE*fxVzL_ zr>3kLii80L>DHfxpWJb{L-7|uT%}De1ju@C1sElW(X3($;Ea*%NlmLJzA~6i-~n0_ z09<~Y*p{dV6}weh=RyKmgov>Zd?8jw=d~hElBkE~&)=2kE!&U;)Ym_)8XL*9S2X{p zYgZi?1f3y+ERurl{TnF^R$-71V^-D7L=KA@8_9IXFTK%^k%*y&`h7{Z^qb6ftucWN zyi@)bAi`veF=5IfGyQ?p6I&x0dt!t>g4NeQtpF0G{4*V^Y`kdSP{HCAUqpyRMt@t2 z5JuWBkr-cGr=r{!Iwz75s<+Got}MZtPeejQBO8#6KrE6lMx#rBKth*bEFuy!LVF+( zBSbVG0BUObhAVvtSiAO=$W@Tc7UL77cppzB#so=9CQZlmnPwBB@O%_vBM}%I(`U-2 zvI=Q2ev*k~*a)vzYc|Fs0*&o>0)#Q+2xse$9v-)J#*t>D@sms-Q%rjX2u1^f>S=mr zWkFU9KtKd9)#(BfBM~rU_^nK0B#86ed9rrtJ(c&~bWQuhUp*LJz$yUqz}uOk=LP_# zP~^bh``2dxtOB!Yr8)P;E7~vq#+{Wvn|G=_DM5^hP?S1E{lm$Ui2=Z3EIF_P-WAx` z77E-&7)%GGAiNF|JbRvg<}2T-`qkAJwqD(`+n#K>850J~p|9Y?LJ)Pgi3AtvCZKnJ z1S(Xd1Jee)oK4Cy(FBqx>)^J&{UVixaT{_~nOiBc7aA%G+b z(-8^J9Ky2of&W{U1}j}4LKo^9h#_HSx#fYHwR28T&H1!#Ik8;W)n?ax?ehJXHr_tw zp^~zo1KOfuTyOCN3>Rqug3zV;7sXbtc`Q5ijaTfCxNb)0)0TC_EZX0AN7cIJH+Iar zXK8K@#4t(E>MNxI(FlEm$|^?X7={iFL~AI^6bR5D5fBXj?+^0FEWNhtmLZo9F4&T~(g$;nbr2tBK>ECZtr#!s~6i#OHko9~(u+v5dojU!IlS@r$g+gh$!t4`E%=Nd_=?RlWtoDP>sGwT?YS|+)R}Pu0BkXs z0cJp{Xd07exDrorL1m=SGWt|X;AIp)`jgCI|NJk>t|WuFwM%j1Vmr46 zwG$7sS_q~P0>5WofIw_eU1O!%_nQhLKn!8*IF)U0)lQIS=0i)=M7lZvOWg)I^cA)3 z6?g1-l@&uE5_GkpysCyX%({Ei6paDT_y%1q5ds8`tHRJ1CvtH>JgEXd2aYBL8E6v4 zto}fC`+gTd2-%FW;zyq6vV| z5QWkFj;@|G-PsEPEG5{#Q%T9~VQ*0_9WA;=}qRgIm^x>oeP{9TrnhFd7Vr_Ij=05*;e#S>X z8DA%%O-@{!H`beRJKqYDXMaBVs-Lll8HNc6eZms7%%e@7cROEFK39lH&OWSnX1@0S}E^Yns*>Iv84~>KlW}ob?+pyZ7 zcJPJiRjG0-(!o zsL96T3a`KH(f6+1ZGGdi9o9E5-(h|Ci@U8qt;><67@xncCJR7*_fXn(T|%zi;hA%3 z-=aG!*WGb_=bT+{QMnV-+W2ukdP$Eg<4Retlp5 zyfZH@*)sWPf0NE9RjeckUt1@&w_Vfm(Jy?j;^l=`I-4DbO@#vm)u{M znsq`lB*WP8MnHdgJs=4QN6k%!H{4s7KKg`&e@|n3V$U{V*HPxIOPno>epK<|o!58H z*|1tqikAeT&c#*jwESD=U0M2v|NDOSd?GD_xz65Ypl5-D%=QwI3Qay8FI#$9+eO#k zRdxTOPq%#~)e;{UFU^IUU$DnFUff!L@;UKs6a_BW@RV;ayQ;P1@^4gTul>RJRH`FX z+qd}27+}gwN0*PabUtg;55Ce?vhiupPLwJ@geq&uyZO@AleTTG_%RG{8ZH!oB+@CMRb${4RDnC?nr~tn!wn|JM1r9a|E|SWeE6qe)ER!PWrD zBtwUS7asMTRS)Ey>+j>t*a^xkyRswcxPY4=Buk?_M)%lmJQN`klTWDe)5AAzc%baQ z2XD!p_`)NyfbD!yD^D0aMRn*G9t2EQ-fVa>enxw9SM{QM%J2XAt?7BsJ#3vL9Q2t4 z09Y2mtt40quxx-Wpsb4FxKV5%(s#ll079ETHeVk9*RNJQwfySTXWsk+ok+H4FbY}g zfp>r$Fm}a)$Pc#Ql+5kvK?KNkMW4(-x)TUJz=S}m1+ZOo-+V$m z3G`i8LCdbN=Ej9BU+QR%*RhiskP0-OuEgkNw=sPvb?A( zit-(99J1hwq!&w&hyZ~HOgYlhu@WVhG?wI;BcZhq{Puq`v22$RTL6Rz9Aeu>_joWc zQsH~cGb90{0wHD&1S%AfXnPW(Rkv*5_|x1VSwW)1Xcy$Of?P_|$Io^HF#xHEn5Q1h zx>*zDCA$}nZO;Hga*)=3FuaR^SO^L&=}yy)Y!^f=sLz>z0IYy~8g$bIZKb_yazPZ+ z?ng3^?U{P3dhN#deg%MeM{&S>_ET2kLH+> zYy=_%iBNd}umnp6x*|gWgc{e@WFXk5$i}GT_j~8+xwtZ#W0J5a*dRkKDZjS8_hR=W z0J5S1g$Gbp#-lM{$ASt7<{gD{-2{H5Bx z0wEe~2LL218bmE!U)4#3TVqxkLChehX&-Dv@we!>Rlx*v$MTnI_pWFV)m!)j_4-0+ z@nR63hLZ_f);lVBlozHn5vzCC{oq0%+ExjrO@4dAA2SPQA-$v#(w~3u*W^9frh|zy-eJ)z>MYKgWlbAqEcv0i;sq3}ZnyA0<=&nByy04gj>EpXjbE)iM zW>wmr-@IImUJOm;lq8*jA1mb&P=7MGGY9ATuy8NKVt*MFhiUv{3p08Ww z2dPuUgqsugSX+@zA_z&K(S675uUiZWvy@NaHgypZUtx2+T411!2P5Hu9RB-_D8jQ~kqaV5V6yEZxI3F_z4^93PVG44 zS7y4=`(=YKpV(Xzvyx|v$fu0xV*pbFkR$T`ItwBe00BVznfO%@|0dAhqu+U=q%6hEZUiU#ocy%=55AZlZCs!IF53*<2HvEzGzXsoz${bs+U{m1L+z{$&s22tl9 z#QTFqLm;%cUaany6+Z}QXb`oyUMx9?*Y*x^+eSw|OM2bCeLt}TO9~RdN2~o0{2k!` Y0RRMX8Ktp0b^rhX07*qoM6N<$g6y5pvj6}9 literal 0 HcmV?d00001 diff --git a/mac/resources/AppIcon.iconset/icon_512x512.png b/mac/resources/AppIcon.iconset/icon_512x512.png new file mode 100644 index 0000000000000000000000000000000000000000..2fa55f033212714d97d9081cb93fbd870b6e7c7d GIT binary patch literal 48181 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 literal 0 HcmV?d00001 diff --git a/mac/resources/AppIcon.iconset/icon_512x512@2x.png b/mac/resources/AppIcon.iconset/icon_512x512@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..7c5030a74b681bba973e2017f1ef843dba9764ee GIT binary patch literal 32195 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 F`5(2+)$0HN literal 0 HcmV?d00001 diff --git a/mac/resources/AppIcon.png b/mac/resources/AppIcon.png new file mode 100644 index 0000000000000000000000000000000000000000..7c5030a74b681bba973e2017f1ef843dba9764ee GIT binary patch literal 32195 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 F`5(2+)$0HN literal 0 HcmV?d00001 diff --git a/mac/src/AppDelegate.swift b/mac/src/AppDelegate.swift new file mode 100644 index 0000000..757411a --- /dev/null +++ b/mac/src/AppDelegate.swift @@ -0,0 +1,242 @@ +import Cocoa +import AVFoundation +import ApplicationServices +import Network + +public final class AppDelegate: NSObject, NSApplicationDelegate { + private var statusBarController: StatusBarController! + private var audioRecorder = AudioRecorder() + private var activeSession: SonioxLiveSession? + private var isBusyFinalizing = false + private var currentAudioLevel: Float = 0.0 + private var latestPartialText: String? = nil + private var permissionPollTimer: Timer? + + // Remote Android Phone Local Receiver (Port 8999) + private var remoteListener: NWListener? + + public func applicationDidFinishLaunching(_ notification: Notification) { + // Completely silent operation by default + UserDefaults.standard.set(false, forKey: "SonioxPlaySounds") + + statusBarController = StatusBarController() + statusBarController.onToggleRecording = { [weak self] in + self?.toggleRecording() + } + + // Push-To-Talk / Toggle Hotkey Setup + HotkeyManager.shared.onHotkeyPressed = { [weak self] in + guard let self = self else { return } + if HotkeyManager.shared.currentMode == .pushToTalk { + if !self.audioRecorder.isRecording { + self.startRecording() + } + } else { + self.toggleRecording() + } + } + + HotkeyManager.shared.onHotkeyReleased = { [weak self] in + guard let self = self else { return } + if HotkeyManager.shared.currentMode == .pushToTalk { + if self.audioRecorder.isRecording { + self.stopRecordingAndTranscribe() + } + } + } + + audioRecorder.onAudioLevelUpdate = { [weak self] level in + guard let self = self else { return } + self.currentAudioLevel = level + if self.audioRecorder.isRecording { + HUDOverlayController.shared.show(state: .recording(level: level, liveText: self.latestPartialText)) + } + } + + audioRecorder.onAudioChunkAvailable = { [weak self] chunk in + self?.activeSession?.sendAudioChunk(chunk) + } + + SonioxSessionPool.shared.prewarmNextSession() + startRemotePasteServer() + + // Connect to Linux Persistent Gateway (via local tunnel 18999 -> 8999) + RelayClient.shared.onRemoteUpdateReceived = { text, cursor, isFullReplace in + print("AppDelegate: 📥 Clean Remote Input Update: '\(text.prefix(30))...' (replace: \(isFullReplace))") + + // 1. FIRST apply the remote update directly into the active input while window is in pristine focus! + FocusedInputSync.shared.applyRemoteUpdate(text: text, cursor: cursor, isFullReplace: isFullReplace) + + // 2. THEN show the floating success HUD notification + DispatchQueue.main.asyncAfter(deadline: .now() + 0.05) { + HUDOverlayController.shared.show(state: .success(text: text)) + } + } + RelayClient.shared.start() + + HotkeyManager.shared.registerHotkeys() + checkInitialPermissions() + } + + private func startRemotePasteServer() { + do { + let port: NWEndpoint.Port = 8999 + let listener = try NWListener(using: .tcp, on: port) + + listener.newConnectionHandler = { [weak self] connection in + guard let self = self else { return } + connection.start(queue: .main) + self.handleRemoteConnection(connection) + } + + listener.start(queue: .main) + self.remoteListener = listener + print("RemotePasteServer: Listening on 0.0.0.0:8999") + } catch { + print("RemotePasteServer: Failed to bind port 8999:", error) + } + } + + private func handleRemoteConnection(_ connection: NWConnection) { + connection.receive(minimumIncompleteLength: 1, maximumLength: 65536) { data, _, _, _ in + guard let data = data, let reqStr = String(data: data, encoding: .utf8) else { + connection.cancel() + return + } + + if reqStr.contains("GET /health") || reqStr.contains("GET /status") { + let response = "HTTP/1.1 200 OK\r\nContent-Type: application/json\r\nAccess-Control-Allow-Origin: *\r\nContent-Length: 15\r\n\r\n{\"status\":\"ok\"}" + connection.send(content: response.data(using: .utf8), completion: .contentProcessed({ _ in + connection.cancel() + })) + return + } + + if reqStr.contains("POST /paste") { + if let bodyRange = reqStr.range(of: "\r\n\r\n") { + let bodyJsonStr = String(reqStr[bodyRange.upperBound...]) + if let bodyData = bodyJsonStr.data(using: .utf8), + let json = try? JSONSerialization.jsonObject(with: bodyData) as? [String: Any], + let text = json["text"] as? String { + + DispatchQueue.main.async { + FocusedInputSync.shared.applyRemoteUpdate(text: text, cursor: nil, isFullReplace: true) + } + } + } + + let response = "HTTP/1.1 200 OK\r\nContent-Type: application/json\r\nAccess-Control-Allow-Origin: *\r\nContent-Length: 19\r\n\r\n{\"status\":\"pasted\"}" + connection.send(content: response.data(using: .utf8), completion: .contentProcessed({ _ in + connection.cancel() + })) + return + } + + connection.cancel() + } + } + + private func checkInitialPermissions() { + // 1. Force macOS to trigger the system Accessibility prompt dialog! + let axOptions = [kAXTrustedCheckOptionPrompt.takeUnretainedValue() as String: true] as CFDictionary + let axTrusted = AXIsProcessTrustedWithOptions(axOptions) + print("AppDelegate: 🔒 Accessibility Permission Status (trusted: \(axTrusted))") + + if !axTrusted { + print("AppDelegate: ⚠️ Accessibility not yet granted! Prompting user and monitoring...") + // Open Accessibility pane directly on both modern and legacy macOS + DispatchQueue.main.asyncAfter(deadline: .now() + 0.5) { + if let url1 = URL(string: "x-apple.systempreferences:com.apple.settings.PrivacySecurity.extension?Privacy_Accessibility") { + NSWorkspace.shared.open(url1) + } + if let url2 = URL(string: "x-apple.systempreferences:com.apple.preference.security?Privacy_Accessibility") { + NSWorkspace.shared.open(url2) + } + } + + // Poll every 1.0 seconds until user toggles the switch + permissionPollTimer = Timer.scheduledTimer(withTimeInterval: 1.0, repeats: true) { [weak self] timer in + let nowTrusted = AXIsProcessTrusted() + if nowTrusted { + print("AppDelegate: 🟢 Accessibility Permission GRANTED by user!") + timer.invalidate() + self?.permissionPollTimer = nil + HotkeyManager.shared.registerHotkeys() + HUDOverlayController.shared.show(state: .success(text: "دسترسی Accessibility تایید شد ✅")) + } + } + } + + // 2. Microphone permission + audioRecorder.requestMicrophonePermission { granted in + if !granted { + print("Warning: Microphone permission not granted.") + } + } + } + + public func toggleRecording() { + if audioRecorder.isRecording { + stopRecordingAndTranscribe() + } else { + startRecording() + } + } + + public func startRecording() { + guard !audioRecorder.isRecording, !isBusyFinalizing else { return } + + latestPartialText = nil + + let session = SonioxSessionPool.shared.acquireSession() + self.activeSession = session + + session.onPartialText = { [weak self] liveText in + guard let self = self, self.audioRecorder.isRecording else { return } + self.latestPartialText = liveText + HUDOverlayController.shared.show(state: .recording(level: self.currentAudioLevel, liveText: liveText)) + } + + session.onFinalResult = { [weak self] result in + guard let self = self else { return } + self.isBusyFinalizing = false + self.activeSession = nil + SonioxSessionPool.shared.prewarmNextSession() + + switch result { + case .success(let text): + FocusedInputSync.shared.applyRemoteUpdate(text: text, cursor: nil, isFullReplace: false) + case .failure(let error): + print("Soniox error:", error) + HUDOverlayController.shared.show(state: .error(message: error.localizedDescription)) + } + } + + do { + try audioRecorder.startRecording() + statusBarController.updateIcon(state: .recording) + statusBarController.buildMenu(isRecording: true) + HUDOverlayController.shared.show(state: .recording(level: 0.0, liveText: nil)) + } catch { + HUDOverlayController.shared.show(state: .error(message: error.localizedDescription)) + } + } + + public func stopRecordingAndTranscribe() { + guard audioRecorder.isRecording, !isBusyFinalizing else { return } + isBusyFinalizing = true + + _ = audioRecorder.stopRecording() + statusBarController.updateIcon(state: .transcribing) + statusBarController.buildMenu(isRecording: false) + HUDOverlayController.shared.show(state: .transcribing) + + guard let session = self.activeSession else { + self.isBusyFinalizing = false + HUDOverlayController.shared.hide(animated: true) + return + } + + session.finalizeStream() + } +} diff --git a/mac/src/AudioRecorder.swift b/mac/src/AudioRecorder.swift new file mode 100644 index 0000000..d712c65 --- /dev/null +++ b/mac/src/AudioRecorder.swift @@ -0,0 +1,165 @@ +import Foundation +import AVFoundation +import CoreMedia + +public final class AudioRecorder: NSObject, AVCaptureAudioDataOutputSampleBufferDelegate { + private var captureSession: AVCaptureSession? + private var audioOutput: AVCaptureAudioDataOutput? + private var audioConverter: AVAudioConverter? + private let targetFormat: AVAudioFormat + + private var pcmBuffer = Data() + private let lock = NSLock() + private let captureQueue = DispatchQueue(label: "com.soniox.audiocapture", qos: .userInteractive) + + public private(set) var isRecording = false + public var onAudioLevelUpdate: ((Float) -> Void)? + public var onAudioChunkAvailable: ((Data) -> Void)? + + public override init() { + self.targetFormat = AVAudioFormat(commonFormat: .pcmFormatInt16, sampleRate: 16000, channels: 1, interleaved: false)! + super.init() + } + + public func requestMicrophonePermission(completion: @escaping (Bool) -> Void) { + switch AVCaptureDevice.authorizationStatus(for: .audio) { + case .authorized: + completion(true) + case .notDetermined: + AVCaptureDevice.requestAccess(for: .audio) { granted in + DispatchQueue.main.async { + completion(granted) + } + } + case .denied, .restricted: + completion(false) + @unknown default: + completion(false) + } + } + + public func startRecording() throws { + lock.lock() + defer { lock.unlock() } + + if isRecording { return } + pcmBuffer.removeAll() + + guard let device = AVCaptureDevice.default(for: .audio) else { + throw NSError(domain: "AudioRecorder", code: 1, userInfo: [NSLocalizedDescriptionKey: "میکروفونی یافت نشد"]) + } + + let session = AVCaptureSession() + let input = try AVCaptureDeviceInput(device: device) + + if session.canAddInput(input) { + session.addInput(input) + } + + let output = AVCaptureAudioDataOutput() + output.setSampleBufferDelegate(self, queue: captureQueue) + + if session.canAddOutput(output) { + session.addOutput(output) + } + + self.captureSession = session + self.audioOutput = output + + session.startRunning() + isRecording = true + print("AudioRecorder: Started recording with device:", device.localizedName) + } + + public func captureOutput(_ output: AVCaptureOutput, didOutput sampleBuffer: CMSampleBuffer, from connection: AVCaptureConnection) { + guard isRecording else { return } + + guard let formatDesc = CMSampleBufferGetFormatDescription(sampleBuffer) else { return } + let srcFormat = AVAudioFormat(cmAudioFormatDescription: formatDesc) + + if audioConverter == nil || audioConverter?.inputFormat != srcFormat { + audioConverter = AVAudioConverter(from: srcFormat, to: targetFormat) + } + guard let converter = self.audioConverter else { return } + + guard let blockBuffer = CMSampleBufferGetDataBuffer(sampleBuffer) else { return } + let numSamples = CMSampleBufferGetNumSamples(sampleBuffer) + guard numSamples > 0 else { return } + + guard let srcBuffer = AVAudioPCMBuffer(pcmFormat: srcFormat, frameCapacity: AVAudioFrameCount(numSamples)) else { return } + srcBuffer.frameLength = AVAudioFrameCount(numSamples) + + var lengthAtOffset = 0 + var totalLength = 0 + var dataPointer: UnsafeMutablePointer? + + if CMBlockBufferGetDataPointer(blockBuffer, atOffset: 0, lengthAtOffsetOut: &lengthAtOffset, totalLengthOut: &totalLength, dataPointerOut: &dataPointer) == noErr, + let dataPtr = dataPointer { + if let floatData = srcBuffer.floatChannelData?[0] { + memcpy(floatData, dataPtr, min(totalLength, Int(srcBuffer.frameLength) * 4)) + } else if let int16Data = srcBuffer.int16ChannelData?[0] { + memcpy(int16Data, dataPtr, min(totalLength, Int(srcBuffer.frameLength) * 2)) + } + } + + let outCapacity = AVAudioFrameCount(Double(numSamples) * (16000.0 / srcFormat.sampleRate)) + 128 + guard let outBuffer = AVAudioPCMBuffer(pcmFormat: targetFormat, frameCapacity: outCapacity) else { return } + + var error: NSError? + var haveData = true + let status = converter.convert(to: outBuffer, error: &error) { inNumPackets, outStatus in + if haveData { + haveData = false + outStatus.pointee = .haveData + return srcBuffer + } else { + outStatus.pointee = .noDataNow + return nil + } + } + + if status == .haveData || status == .inputRanDry { + let frameLen = Int(outBuffer.frameLength) + if frameLen > 0, let int16Ptr = outBuffer.int16ChannelData?[0] { + let bytesCount = frameLen * MemoryLayout.size + let data = Data(bytes: int16Ptr, count: bytesCount) + + lock.lock() + pcmBuffer.append(data) + lock.unlock() + + // Stream live audio chunk to WebSocket immediately + onAudioChunkAvailable?(data) + + // Calculate RMS level for HUD + var sumSquare: Float = 0 + for i in 0.. Data { + lock.lock() + defer { lock.unlock() } + + if !isRecording { return pcmBuffer } + isRecording = false + + captureSession?.stopRunning() + captureSession = nil + audioOutput = nil + audioConverter = nil + + print("AudioRecorder: Stopped. Total PCM captured: \(pcmBuffer.count) bytes (\(Double(pcmBuffer.count)/32000.0) seconds)") + return pcmBuffer + } +} diff --git a/mac/src/FocusedInputSync.swift b/mac/src/FocusedInputSync.swift new file mode 100644 index 0000000..312b1fe --- /dev/null +++ b/mac/src/FocusedInputSync.swift @@ -0,0 +1,380 @@ +import Cocoa +import ApplicationServices +import CoreGraphics + +public struct MacInputState: Codable { + public let source: String + public let app: String + public let text: String + public let cursor: Int + public let selection: Int + public let revision: Int64 + public let timestamp: Double + + public init(app: String, text: String, cursor: Int, selection: Int, revision: Int64) { + self.source = "mac" + self.app = app + self.text = text + self.cursor = cursor + self.selection = selection + self.revision = revision + self.timestamp = Date().timeIntervalSince1970 + } +} + +public final class FocusedInputSync { + public static let shared = FocusedInputSync() + + private let systemWideElement: AXUIElement + private var isApplyingRemoteChange: Bool = false + private var lastObservedText: String = "" + private var lastObservedCursor: Int = -1 + private var lastObservedApp: String = "" + private var localRevision: Int64 = 0 + private var remoteChangeExpiryTime: Double = 0 + + private init() { + self.systemWideElement = AXUIElementCreateSystemWide() + enableGlobalAccessibility() + } + + private func enableGlobalAccessibility() { + AXUIElementSetAttributeValue(systemWideElement, "AXEnhancedUserInterface" as CFString, kCFBooleanTrue) + AXUIElementSetAttributeValue(systemWideElement, "AXManualAccessibility" as CFString, kCFBooleanTrue) + } + + /// Resolves the actual user-facing application, bypassing system overlays + public func getRealFrontmostApp() -> NSRunningApplication? { + if let front = NSWorkspace.shared.frontmostApplication, + front.activationPolicy == .regular, + let bundleId = front.bundleIdentifier, + !bundleId.contains("notificationcenter"), + !bundleId.contains("controlcenter"), + !bundleId.contains("WindowManager"), + !bundleId.contains("Soniox") { + return front + } + + let windowList = CGWindowListCopyWindowInfo([.optionOnScreenOnly, .excludeDesktopElements], kCGNullWindowID) as? [[String: Any]] ?? [] + for win in windowList { + let layer = win[kCGWindowLayer as String] as? Int ?? -1 + let pid = win[kCGWindowOwnerPID as String] as? pid_t ?? 0 + let bounds = win[kCGWindowBounds as String] as? [String: Any] ?? [:] + let width = bounds["Width"] as? CGFloat ?? 0 + let height = bounds["Height"] as? CGFloat ?? 0 + + if layer == 0 && width > 100 && height > 100 { + if let app = NSRunningApplication(processIdentifier: pid), + app.activationPolicy == .regular, + let bundleId = app.bundleIdentifier, + !bundleId.contains("notificationcenter"), + !bundleId.contains("controlcenter"), + !bundleId.contains("WindowManager"), + !bundleId.contains("Soniox") { + return app + } + } + } + return NSWorkspace.shared.frontmostApplication + } + + private func findFocusedDescendant(_ elem: AXUIElement, depth: Int = 0) -> AXUIElement? { + if depth > 12 { return nil } + + var isFocusedObj: CFTypeRef? + if AXUIElementCopyAttributeValue(elem, kAXFocusedAttribute as CFString, &isFocusedObj) == .success, + let isFocused = isFocusedObj as? Bool, isFocused { + var roleObj: CFTypeRef? + AXUIElementCopyAttributeValue(elem, kAXRoleAttribute as CFString, &roleObj) + let role = (roleObj as? String) ?? "" + if role != "AXWindow" && role != "AXApplication" && role != "AXGroup" && role != "AXSplitGroup" && role != "AXScrollArea" { + return elem + } + } + + var childrenObj: CFTypeRef? + if AXUIElementCopyAttributeValue(elem, kAXChildrenAttribute as CFString, &childrenObj) == .success, + let children = childrenObj as? [AXUIElement] { + for child in children { + if let found = findFocusedDescendant(child, depth: depth + 1) { + return found + } + } + } + return nil + } + + public func getFocusedElement() -> (AXUIElement?, String) { + guard let frontApp = getRealFrontmostApp() else { return (nil, "App") } + let appName = frontApp.localizedName ?? "App" + let appElem = AXUIElementCreateApplication(frontApp.processIdentifier) + + AXUIElementSetAttributeValue(appElem, "AXEnhancedUserInterface" as CFString, kCFBooleanTrue) + AXUIElementSetAttributeValue(appElem, "AXManualAccessibility" as CFString, kCFBooleanTrue) + + var targetElem: AXUIElement? + + // 1. System-wide focused element + var focusedObj: CFTypeRef? + if AXUIElementCopyAttributeValue(systemWideElement, kAXFocusedUIElementAttribute as CFString, &focusedObj) == .success, + let obj = focusedObj { + let elem = obj as! AXUIElement + var roleObj: CFTypeRef? + AXUIElementCopyAttributeValue(elem, kAXRoleAttribute as CFString, &roleObj) + let role = (roleObj as? String) ?? "" + if role != "AXWindow" && role != "AXApplication" { + targetElem = elem + } + } + + // 2. App focused element + if targetElem == nil { + if AXUIElementCopyAttributeValue(appElem, kAXFocusedUIElementAttribute as CFString, &focusedObj) == .success, + let obj = focusedObj { + let elem = obj as! AXUIElement + var roleObj: CFTypeRef? + AXUIElementCopyAttributeValue(elem, kAXRoleAttribute as CFString, &roleObj) + let role = (roleObj as? String) ?? "" + if role != "AXWindow" && role != "AXApplication" { + targetElem = elem + } + } + } + + // 3. App focused window element + if targetElem == nil { + var focusedWinObj: CFTypeRef? + if AXUIElementCopyAttributeValue(appElem, kAXFocusedWindowAttribute as CFString, &focusedWinObj) == .success, + let win = focusedWinObj { + var winFocObj: CFTypeRef? + if AXUIElementCopyAttributeValue((win as! AXUIElement), kAXFocusedUIElementAttribute as CFString, &winFocObj) == .success, + let obj = winFocObj { + targetElem = (obj as! AXUIElement) + } + } + } + + // 4. Recursive search in tree + if targetElem == nil { + targetElem = findFocusedDescendant(appElem) + } + + return (targetElem, appName) + } + + /// Inspects current focused element on Mac and returns state snapshot if user typed on Mac + public func inspectCurrentState() -> MacInputState? { + let now = Date().timeIntervalSince1970 + if isApplyingRemoteChange || now < remoteChangeExpiryTime { + return nil + } + + let (elemOpt, appName) = getFocusedElement() + let appChanged = (appName != lastObservedApp) + if appChanged { + lastObservedApp = appName + lastObservedText = "" + lastObservedCursor = 0 + } + + guard let elem = elemOpt else { + if appChanged { + localRevision += 1 + return MacInputState(app: appName, text: "", cursor: 0, selection: 0, revision: localRevision) + } + return nil + } + + var roleObj: CFTypeRef? + AXUIElementCopyAttributeValue(elem, kAXRoleAttribute as CFString, &roleObj) + let role = roleObj as? String ?? "" + let isTextRole = (role == "AXTextField" || role == "AXTextArea" || role == "AXComboBox" || role == "AXSearchField") + + var text = "" + var valObj: CFTypeRef? + if AXUIElementCopyAttributeValue(elem, kAXValueAttribute as CFString, &valObj) == .success, + let val = valObj { + if let str = val as? String { + text = str + } else if let attrStr = val as? NSAttributedString { + text = attrStr.string + } + } + + if text.isEmpty && isTextRole { + var countObj: CFTypeRef? + if AXUIElementCopyAttributeValue(elem, kAXNumberOfCharactersAttribute as CFString, &countObj) == .success, + let count = countObj as? Int, count > 0 { + var range = CFRange(location: 0, length: count) + if let axRange = AXValueCreate(.cfRange, &range) { + var strObj: CFTypeRef? + if AXUIElementCopyParameterizedAttributeValue(elem, kAXStringForRangeParameterizedAttribute as CFString, axRange, &strObj) == .success, + let str = strObj as? String { + text = str + } + } + } + } + + var cursor = text.count + var selLen = 0 + var rangeObj: CFTypeRef? + if AXUIElementCopyAttributeValue(elem, kAXSelectedTextRangeAttribute as CFString, &rangeObj) == .success, + let axRange = rangeObj { + var range = CFRange() + if AXValueGetValue(axRange as! AXValue, .cfRange, &range) { + cursor = range.location + selLen = range.length + } + } + + if text == lastObservedText && cursor == lastObservedCursor && !appChanged { + return nil + } + + lastObservedText = text + lastObservedCursor = cursor + lastObservedApp = appName + localRevision += 1 + + return MacInputState(app: appName, text: text, cursor: cursor, selection: selLen, revision: localRevision) + } + + /// Perfectly mirrors the full text to the active Mac input box in real-time + @discardableResult + public func applyRemoteUpdate(text: String, cursor: Int? = nil, isFullReplace: Bool = true) -> Bool { + isApplyingRemoteChange = true + remoteChangeExpiryTime = Date().timeIntervalSince1970 + 0.8 + + defer { + DispatchQueue.main.asyncAfter(deadline: .now() + 0.8) { + self.isApplyingRemoteChange = false + } + } + + // Normalize line endings and preserve intentional multiline text and newlines + let cleanText = text.replacingOccurrences(of: "\r\n", with: "\n").replacingOccurrences(of: "\r", with: "\n") + + let targetCursor = cursor ?? cleanText.count + lastObservedText = cleanText + lastObservedCursor = targetCursor + + let (_, appName) = getFocusedElement() + lastObservedApp = appName + + // Universal Quartz CGEvent Keystroke Engine (Cmd+A -> Cmd+V / Backspace or pure Cmd+V) + // Works 100% reliably across native, web, and Electron/Chromium apps (e.g. Antigravity, VS Code, Slack, Firefox) + print("FocusedInputSync: 🚀 Injecting text into '\(appName)' (replace: \(isFullReplace), len: \(cleanText.count), lines: \(cleanText.components(separatedBy: "\n").count))") + if isFullReplace { + return executeCleanFullReplace(cleanText) + } else { + return pasteOnlyViaCleanKeystroke(cleanText) + } + } + + /** + * Inserts speech directly at active cursor via clean Cmd+V + */ + private func pasteOnlyViaCleanKeystroke(_ text: String) -> Bool { + guard !text.isEmpty else { return true } + + let pasteboard = NSPasteboard.general + pasteboard.clearContents() + pasteboard.setString(text, forType: .string) + + let src = CGEventSource(stateID: .hidSystemState) + let kVK_ANSI_V: CGKeyCode = 9 + + // Paste: Cmd + V + if let vDown = CGEvent(keyboardEventSource: src, virtualKey: kVK_ANSI_V, keyDown: true) { + vDown.flags = .maskCommand + vDown.post(tap: .cghidEventTap) + vDown.post(tap: .cgSessionEventTap) + } + usleep(8000) + + if let vUp = CGEvent(keyboardEventSource: src, virtualKey: kVK_ANSI_V, keyDown: false) { + vUp.flags = .maskCommand + vUp.post(tap: .cghidEventTap) + vUp.post(tap: .cgSessionEventTap) + } + usleep(10000) + return true + } + + /** + * Replaces the entire content of active input box cleanly in real-time. + * If text is empty: Cmd+A -> Backspace. + * If text is non-empty: Cmd+A -> Cmd+V. + */ + private func executeCleanFullReplace(_ text: String) -> Bool { + let src = CGEventSource(stateID: .hidSystemState) + let kVK_ANSI_A: CGKeyCode = 0 + let kVK_ANSI_V: CGKeyCode = 9 + let kVK_Delete: CGKeyCode = 51 + + if text.isEmpty { + // Select all: Cmd + A + if let aDown = CGEvent(keyboardEventSource: src, virtualKey: kVK_ANSI_A, keyDown: true) { + aDown.flags = .maskCommand + aDown.post(tap: .cghidEventTap) + aDown.post(tap: .cgSessionEventTap) + } + usleep(8000) + if let aUp = CGEvent(keyboardEventSource: src, virtualKey: kVK_ANSI_A, keyDown: false) { + aUp.flags = .maskCommand + aUp.post(tap: .cghidEventTap) + aUp.post(tap: .cgSessionEventTap) + } + usleep(15000) + + // Backspace to clear + if let delDown = CGEvent(keyboardEventSource: src, virtualKey: kVK_Delete, keyDown: true) { + delDown.post(tap: .cghidEventTap) + delDown.post(tap: .cgSessionEventTap) + } + usleep(8000) + if let delUp = CGEvent(keyboardEventSource: src, virtualKey: kVK_Delete, keyDown: false) { + delUp.post(tap: .cghidEventTap) + delUp.post(tap: .cgSessionEventTap) + } + return true + } + + // Set clipboard + let pasteboard = NSPasteboard.general + pasteboard.clearContents() + pasteboard.setString(text, forType: .string) + + // 1. Select all: Cmd + A + if let aDown = CGEvent(keyboardEventSource: src, virtualKey: kVK_ANSI_A, keyDown: true) { + aDown.flags = .maskCommand + aDown.post(tap: .cghidEventTap) + aDown.post(tap: .cgSessionEventTap) + } + usleep(8000) + + if let aUp = CGEvent(keyboardEventSource: src, virtualKey: kVK_ANSI_A, keyDown: false) { + aUp.flags = .maskCommand + aUp.post(tap: .cghidEventTap) + aUp.post(tap: .cgSessionEventTap) + } + usleep(10000) // 18ms for selection to settle + + // 2. Paste: Cmd + V + if let vDown = CGEvent(keyboardEventSource: src, virtualKey: kVK_ANSI_V, keyDown: true) { + vDown.flags = .maskCommand + vDown.post(tap: .cghidEventTap) + vDown.post(tap: .cgSessionEventTap) + } + usleep(8000) + + if let vUp = CGEvent(keyboardEventSource: src, virtualKey: kVK_ANSI_V, keyDown: false) { + vUp.flags = .maskCommand + vUp.post(tap: .cghidEventTap) + vUp.post(tap: .cgSessionEventTap) + } + + return true + } +} diff --git a/mac/src/HUDOverlay.swift b/mac/src/HUDOverlay.swift new file mode 100644 index 0000000..25f69e0 --- /dev/null +++ b/mac/src/HUDOverlay.swift @@ -0,0 +1,24 @@ +import Cocoa + +public enum HUDState { + case hidden + case recording(level: Float, liveText: String? = nil) + case transcribing + case success(text: String) + case error(message: String) +} + +/// Completely silent HUD controller (Zero-UI / Zero-toast mode) +public final class HUDOverlayController { + public static let shared = HUDOverlayController() + + private init() {} + + public func show(state: HUDState) { + // Completely silent operation - no toast/panel shown + } + + public func hide(animated: Bool = false) { + // No-op + } +} diff --git a/mac/src/HotkeyManager.swift b/mac/src/HotkeyManager.swift new file mode 100644 index 0000000..b5f68a7 --- /dev/null +++ b/mac/src/HotkeyManager.swift @@ -0,0 +1,261 @@ +import Cocoa +import Carbon +import ApplicationServices + +public enum DictationMode: String, CaseIterable { + case pushToTalk = "pushToTalk" // Hold to record, release to transcribe + case toggle = "toggle" // Press once to start, press again to stop + + public var localizedTitle: String { + switch self { + case .pushToTalk: + return "نگه‌داشتن برای صحبت (Hold to Talk)" + case .toggle: + return "فشردن برای شروع / توقف (Toggle)" + } + } +} + +public enum HotkeyPreset: String, CaseIterable { + case option = "Option (⌥ نگه‌داشتن)" + case capsLock = "Caps Lock" + case controlSpace = "Control + Space" + case optionSpace = "Option + Space" + case cmdShiftSpace = "Cmd + Shift + Space" + case f8 = "F8" + case f5 = "F5" + + public var keyCode: UInt32 { + switch self { + case .option: + return UInt32(kVK_Option) // 58 + case .capsLock: + return UInt32(kVK_CapsLock) // 57 + case .controlSpace, .optionSpace, .cmdShiftSpace: + return UInt32(kVK_Space) + case .f8: + return UInt32(kVK_F8) + case .f5: + return UInt32(kVK_F5) + } + } + + public var carbonModifiers: UInt32 { + switch self { + case .option, .capsLock: + return 0 + case .controlSpace: + return UInt32(controlKey) + case .optionSpace: + return UInt32(optionKey) + case .cmdShiftSpace: + return UInt32(cmdKey | shiftKey) + case .f8, .f5: + return 0 + } + } +} + +public final class HotkeyManager { + public static let shared = HotkeyManager() + + public var onHotkeyPressed: (() -> Void)? + public var onHotkeyReleased: (() -> Void)? + + private var hotKeyRef: EventHotKeyRef? + private var eventHandlerRef: EventHandlerRef? + private var eventTapPort: CFMachPort? + private var runLoopSource: CFRunLoopSource? + private var globalMonitor: Any? + + private var isOptionPhysicallyDown = false + private var isCapsLockPhysicallyDown = false + private var isKeyDown = false + + public var currentPreset: HotkeyPreset { + get { + let val = UserDefaults.standard.string(forKey: "SonioxHotkeyPreset") ?? HotkeyPreset.option.rawValue + return HotkeyPreset(rawValue: val) ?? .option + } + set { + UserDefaults.standard.set(newValue.rawValue, forKey: "SonioxHotkeyPreset") + registerHotkeys() + } + } + + public var currentMode: DictationMode { + get { + let val = UserDefaults.standard.string(forKey: "SonioxDictationMode") ?? DictationMode.pushToTalk.rawValue + return DictationMode(rawValue: val) ?? .pushToTalk + } + set { + UserDefaults.standard.set(newValue.rawValue, forKey: "SonioxDictationMode") + registerHotkeys() + } + } + + private init() {} + + public func registerHotkeys() { + unregisterHotkeys() + + let preset = currentPreset + print("Registering Hotkey for preset:", preset.rawValue, "mode:", currentMode.rawValue) + + // 1. Carbon HotKey for multi-key combos (Control+Space, etc.) + if preset != .option && preset != .capsLock { + var eventTypes = [ + EventTypeSpec(eventClass: OSType(kEventClassKeyboard), eventKind: UInt32(kEventHotKeyPressed)), + EventTypeSpec(eventClass: OSType(kEventClassKeyboard), eventKind: UInt32(kEventHotKeyReleased)) + ] + + let selfPtr = Unmanaged.passUnretained(self).toOpaque() + let handlerCallback: EventHandlerUPP = { (_, eventRef, userData) -> OSStatus in + guard let eventRef = eventRef, let userData = userData else { return noErr } + let manager = Unmanaged.fromOpaque(userData).takeUnretainedValue() + + let kind = GetEventKind(eventRef) + if kind == UInt32(kEventHotKeyPressed) { + DispatchQueue.main.async { + manager.onHotkeyPressed?() + } + } else if kind == UInt32(kEventHotKeyReleased) { + DispatchQueue.main.async { + manager.onHotkeyReleased?() + } + } + return noErr + } + + InstallEventHandler(GetApplicationEventTarget(), handlerCallback, 2, &eventTypes, selfPtr, &eventHandlerRef) + + let hotKeyID = EventHotKeyID(signature: OSType(0x534F4E58), id: 1) + RegisterEventHotKey( + preset.keyCode, + preset.carbonModifiers, + hotKeyID, + GetApplicationEventTarget(), + 0, + &hotKeyRef + ) + } + + // 2. Global Event Tap for single modifier keys (Option, CapsLock) + setupEventTap() + + // 3. Secondary NSEvent Global Monitor as backup + setupGlobalMonitor() + } + + private func setupEventTap() { + let mask = (1 << CGEventType.flagsChanged.rawValue) | (1 << CGEventType.keyDown.rawValue) | (1 << CGEventType.keyUp.rawValue) + let selfPtr = Unmanaged.passUnretained(self).toOpaque() + + let callback: CGEventTapCallBack = { (proxy, type, event, refcon) -> Unmanaged? in + guard let refcon = refcon else { return Unmanaged.passRetained(event) } + let manager = Unmanaged.fromOpaque(refcon).takeUnretainedValue() + + let flags = event.flags.rawValue + let keyCode = event.getIntegerValueField(.keyboardEventKeycode) + + // 1. Option Key (Hold / Push-to-Talk) + if manager.currentPreset == .option { + let isAlt = (flags & CGEventFlags.maskAlternate.rawValue) != 0 + if isAlt != manager.isOptionPhysicallyDown { + manager.isOptionPhysicallyDown = isAlt + DispatchQueue.main.async { + if isAlt { + manager.onHotkeyPressed?() + } else { + if manager.currentMode == .pushToTalk { + manager.onHotkeyReleased?() + } + } + } + } + } + + // 2. CapsLock Key + else if manager.currentPreset == .capsLock { + if keyCode == 57 { + if !manager.isCapsLockPhysicallyDown { + manager.isCapsLockPhysicallyDown = true + DispatchQueue.main.async { + manager.onHotkeyPressed?() + } + } else { + manager.isCapsLockPhysicallyDown = false + if manager.currentMode == .pushToTalk { + DispatchQueue.main.async { + manager.onHotkeyReleased?() + } + } + } + return nil + } + } + + return Unmanaged.passRetained(event) + } + + if let tap = CGEvent.tapCreate( + tap: .cghidEventTap, + place: .headInsertEventTap, + options: .defaultTap, + eventsOfInterest: CGEventMask(mask), + callback: callback, + userInfo: selfPtr + ) { + self.eventTapPort = tap + let source = CFMachPortCreateRunLoopSource(kCFAllocatorDefault, tap, 0) + self.runLoopSource = source + CFRunLoopAddSource(CFRunLoopGetMain(), source, .commonModes) + CGEvent.tapEnable(tap: tap, enable: true) + print("CGEventTap created and enabled successfully.") + } else { + print("CGEventTap creation failed. Falling back to NSEvent global monitor.") + } + } + + private func setupGlobalMonitor() { + globalMonitor = NSEvent.addGlobalMonitorForEvents(matching: [.flagsChanged, .keyDown, .keyUp]) { [weak self] event in + guard let self = self else { return } + + // Only use as fallback if event tap is inactive + if self.eventTapPort == nil { + if self.currentPreset == .option { + let isAlt = event.modifierFlags.contains(.option) + if isAlt != self.isOptionPhysicallyDown { + self.isOptionPhysicallyDown = isAlt + if isAlt { + self.onHotkeyPressed?() + } else if self.currentMode == .pushToTalk { + self.onHotkeyReleased?() + } + } + } + } + } + } + + public func unregisterHotkeys() { + if let ref = hotKeyRef { + UnregisterEventHotKey(ref) + hotKeyRef = nil + } + if let handler = eventHandlerRef { + RemoveEventHandler(handler) + eventHandlerRef = nil + } + if let tap = eventTapPort, let source = runLoopSource { + CGEvent.tapEnable(tap: tap, enable: false) + CFRunLoopRemoveSource(CFRunLoopGetMain(), source, .commonModes) + self.eventTapPort = nil + self.runLoopSource = nil + } + if let mon = globalMonitor { + NSEvent.removeMonitor(mon) + self.globalMonitor = nil + } + } +} diff --git a/mac/src/RelayClient.swift b/mac/src/RelayClient.swift new file mode 100644 index 0000000..4ec3868 --- /dev/null +++ b/mac/src/RelayClient.swift @@ -0,0 +1,205 @@ +import Foundation +import Cocoa + +public final class RelayClient: NSObject, URLSessionWebSocketDelegate { + public static let shared = RelayClient() + + // Connects through SSH local port forward 18999 -> Linux Server 8999 + private let primaryUrl = URL(string: "ws://127.0.0.1:18999/ws/mac")! + + private var webSocketTask: URLSessionWebSocketTask? + private var urlSession: URLSession! + + private var isRunning = false + public private(set) var isConnected = false + private var reconnectTimer: Timer? + private var pingTimer: Timer? + private var monitorTimerSource: DispatchSourceTimer? + private let monitorQueue = DispatchQueue(label: "com.soniox.macsync.monitor", qos: .userInteractive) + + public var onRemoteUpdateReceived: ((String, Int?, Bool) -> Void)? + + private var lastInjectedText: String = "" + private var lastInjectedTime: Double = 0 + + override private init() { + super.init() + let config = URLSessionConfiguration.default + config.waitsForConnectivity = true + config.timeoutIntervalForRequest = 30 + config.timeoutIntervalForResource = 300 + self.urlSession = URLSession(configuration: config, delegate: self, delegateQueue: .main) + } + + public func start() { + guard !isRunning else { return } + isRunning = true + print("RelayClient: Starting real-time bi-directional sync engine...") + connect() + startInputMonitoring() + } + + public func stop() { + isRunning = false + reconnectTimer?.invalidate() + reconnectTimer = nil + pingTimer?.invalidate() + pingTimer = nil + monitorTimerSource?.cancel() + monitorTimerSource = nil + webSocketTask?.cancel(with: .goingAway, reason: nil) + webSocketTask = nil + isConnected = false + } + + private func connect() { + guard isRunning else { return } + webSocketTask?.cancel() + + var request = URLRequest(url: primaryUrl) + request.timeoutInterval = 6 + request.setValue("Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) SonioxVoice/1.0", forHTTPHeaderField: "User-Agent") + + webSocketTask = urlSession.webSocketTask(with: request) + webSocketTask?.resume() + + listenForMessages() + startPingTimer() + } + + private func listenForMessages() { + webSocketTask?.receive { [weak self] result in + guard let self = self, self.isRunning else { return } + + switch result { + case .success(let message): + self.isConnected = true + switch message { + case .string(let text): + self.handleMessageString(text) + case .data(let data): + if let text = String(data: data, encoding: .utf8) { + self.handleMessageString(text) + } + @unknown default: + break + } + self.listenForMessages() + + case .failure(let error): + print("RelayClient: Connection error: \(error.localizedDescription)") + self.isConnected = false + self.scheduleReconnect() + } + } + } + + private func handleMessageString(_ text: String) { + guard let data = text.data(using: .utf8), + let json = try? JSONSerialization.jsonObject(with: data) as? [String: Any] else { + return + } + + let action = json["action"] as? String ?? json["type"] as? String ?? "" + let source = json["source"] as? String ?? "" + + // Ignore echo messages originated by Mac itself + if source == "mac" { return } + + let updateText = json["text"] as? String ?? json["insert_text"] as? String ?? "" + let cursor = json["cursor"] as? Int ?? json["cursor_pos"] as? Int + + if action == "sync_state" || action == "phone_input_edit" || action == "update_input" || action == "force_replace" || action == "insert_speech" || action == "paste" { + let now = Date().timeIntervalSince1970 + + // Drop rapid duplicate transmissions within 150ms (unless force_replace) + if updateText == lastInjectedText && (now - lastInjectedTime) < 0.15 && action != "force_replace" { + return + } + lastInjectedText = updateText + lastInjectedTime = now + + let isFullReplace = (action != "insert_speech" && action != "speech_insert") + print("RelayClient: ⚡ Applying phone edit: '\(updateText.prefix(30))...' (replace: \(isFullReplace), len: \(updateText.count))") + DispatchQueue.main.async { + self.onRemoteUpdateReceived?(updateText, cursor, isFullReplace) + } + } + } + + private func startInputMonitoring() { + monitorTimerSource?.cancel() + + let timer = DispatchSource.makeTimerSource(queue: monitorQueue) + // Poll every 50ms on dedicated user-interactive queue + timer.schedule(deadline: .now(), repeating: .milliseconds(50)) + timer.setEventHandler { [weak self] in + guard let self = self, self.isRunning, self.isConnected else { return } + if let state = FocusedInputSync.shared.inspectCurrentState() { + self.sendStateToRelay(state) + } + } + timer.resume() + self.monitorTimerSource = timer + } + + private func sendStateToRelay(_ state: MacInputState) { + guard let task = webSocketTask else { return } + + let payload: [String: Any] = [ + "type": "sync_state", + "source": "mac", + "app": state.app, + "text": state.text, + "cursor": state.cursor, + "selection": state.selection, + "revision": state.revision, + "timestamp": state.timestamp + ] + + if let data = try? JSONSerialization.data(withJSONObject: payload), + let jsonStr = String(data: data, encoding: .utf8) { + task.send(.string(jsonStr)) { error in + if let error = error { + print("Error sending sync_state:", error) + } + } + } + } + + private func startPingTimer() { + pingTimer?.invalidate() + let timer = Timer(timeInterval: 10.0, repeats: true) { [weak self] _ in + guard let self = self, self.isRunning else { return } + self.webSocketTask?.send(.string("{\"type\":\"ping\"}")) { _ in } + } + RunLoop.main.add(timer, forMode: .common) + self.pingTimer = timer + } + + private func scheduleReconnect() { + guard isRunning else { return } + pingTimer?.invalidate() + pingTimer = nil + + if reconnectTimer == nil || !(reconnectTimer?.isValid ?? false) { + let timer = Timer(timeInterval: 2.0, repeats: false) { [weak self] _ in + self?.reconnectTimer = nil + self?.connect() + } + RunLoop.main.add(timer, forMode: .common) + self.reconnectTimer = timer + } + } + + public func urlSession(_ session: URLSession, webSocketTask: URLSessionWebSocketTask, didOpenWithProtocol protocol: String?) { + print("RelayClient: 🟢 Persistent WebSocket Connected to Server Gateway!") + self.isConnected = true + } + + public func urlSession(_ session: URLSession, webSocketTask: URLSessionWebSocketTask, didCloseWith closeCode: URLSessionWebSocketTask.CloseCode, reason: Data?) { + print("RelayClient: 🔴 WebSocket Closed (code: \(closeCode.rawValue))") + self.isConnected = false + self.scheduleReconnect() + } +} diff --git a/mac/src/SonioxClient.swift b/mac/src/SonioxClient.swift new file mode 100644 index 0000000..f0451bf --- /dev/null +++ b/mac/src/SonioxClient.swift @@ -0,0 +1,321 @@ +import Foundation + +public final class SonioxLiveSession { + private let primaryWsBase = "wss://translate.compare.soniox.com/compare/api/compare-websocket" + private let fallbackWsBase = "wss://stt.compare.soniox.com/compare/api/compare-websocket" + private let userAgent = "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36" + private let origin = "https://translate.compare.soniox.com" + + private var webSocketTask: URLSessionWebSocketTask? + private var urlSession: URLSession? + private var isFinalizing = false + private var isClosed = false + private var isConnected = false + private let lock = NSLock() + + // Transcripts tracking + private var committedFinalTokens: [String] = [] + private var currentNonFinalTokens: [String] = [] + + public var onPartialText: ((String) -> Void)? + public var onFinalResult: ((Result) -> Void)? + public var onConnectionStateChanged: ((Bool) -> Void)? + + public var isReady: Bool { + lock.lock() + defer { lock.unlock() } + return isConnected && !isClosed && !isFinalizing + } + + public init(languageHints: [String] = ["fa", "en", "ar"]) { + let hints = languageHints.map { "language_hints=\($0)" }.joined(separator: "&") + let urlStr = "\(primaryWsBase)?\(hints)&enable_speaker_diarization=false&enable_language_identification=true&enable_endpoint_detection=false&providers=soniox" + guard let url = URL(string: urlStr) else { return } + + var request = URLRequest(url: url) + request.setValue(userAgent, forHTTPHeaderField: "User-Agent") + request.setValue(origin, forHTTPHeaderField: "Origin") + request.timeoutInterval = 20.0 + + let config = URLSessionConfiguration.default + config.waitsForConnectivity = true + config.requestCachePolicy = .reloadIgnoringLocalCacheData + + let session = URLSession(configuration: config) + self.urlSession = session + let task = session.webSocketTask(with: request) + self.webSocketTask = task + task.resume() + + // Fast ping to verify connection + task.sendPing { [weak self] error in + guard let self = self else { return } + self.lock.lock() + if error == nil && !self.isClosed { + self.isConnected = true + self.lock.unlock() + self.onConnectionStateChanged?(true) + print("SonioxLiveSession: WebSocket connected successfully.") + } else { + self.lock.unlock() + if let error = error { + print("SonioxLiveSession: Ping failed:", error) + } + } + } + + startReceiving() + } + + public func sendAudioChunk(_ data: Data) { + lock.lock() + defer { lock.unlock() } + guard !isFinalizing, !isClosed, let task = webSocketTask else { return } + + let message = URLSessionWebSocketTask.Message.data(data) + task.send(message) { error in + if let error = error { + print("Error streaming audio chunk:", error) + } + } + } + + public func finalizeStream() { + lock.lock() + guard !isFinalizing, !isClosed, let task = webSocketTask else { + lock.unlock() + return + } + isFinalizing = true + lock.unlock() + + print("SonioxLiveSession: Sending finalize packet...") + let finalizeMsg = URLSessionWebSocketTask.Message.string("{\"type\": \"finalize\"}") + task.send(finalizeMsg) { [weak self] error in + if let error = error { + print("Error sending finalize:", error) + self?.completeWithCurrentText() + } + } + + // Safety timeout fallback: finalize must complete within 800ms + DispatchQueue.global().asyncAfter(deadline: .now() + 0.80) { [weak self] in + self?.completeWithCurrentText() + } + } + + private func startReceiving() { + guard let task = webSocketTask else { return } + task.receive { [weak self] result in + guard let self = self else { return } + + self.lock.lock() + if self.isClosed { + self.lock.unlock() + return + } + self.lock.unlock() + + switch result { + case .success(let message): + var textReceived: String? + switch message { + case .string(let str): + textReceived = str + case .data(let data): + textReceived = String(data: data, encoding: .utf8) + @unknown default: + break + } + + if let text = textReceived, let jsonData = text.data(using: .utf8) { + self.parseMessage(jsonData) + } + self.startReceiving() + + case .failure(let error): + print("WebSocket receive status:", error) + self.completeWithCurrentText() + } + } + } + + private func parseMessage(_ data: Data) { + guard let json = try? JSONSerialization.jsonObject(with: data) as? [String: Any] else { return } + + var gotFin = false + var newFinals: [String] = [] + var newNonFinals: [String] = [] + + if let type = json["type"] as? String, type == "data", + let parts = json["parts"] as? [[String: Any]] { + for part in parts { + let transStatus = part["translation_status"] as? String + if transStatus == "translation" { + continue + } + + let pText = part["text"] as? String ?? "" + let isFinal = part["is_final"] as? Bool ?? false + + if pText.contains("") { + gotFin = true + let clean = pText.replacingOccurrences(of: "", with: "") + if !clean.isEmpty { + newFinals.append(clean) + } + } else if isFinal { + if !pText.isEmpty { + newFinals.append(pText) + } + } else { + if !pText.isEmpty { + newNonFinals.append(pText) + } + } + } + + lock.lock() + if !newFinals.isEmpty { + committedFinalTokens.append(contentsOf: newFinals) + } + currentNonFinalTokens = newNonFinals + + let fullCommitted = committedFinalTokens.joined() + let fullNonFinal = currentNonFinalTokens.joined() + let combined = fullCommitted + fullNonFinal + lock.unlock() + + if !combined.isEmpty { + DispatchQueue.main.async { [weak self] in + self?.onPartialText?(combined) + } + } + } + + let sessionEnded = json["session_ended"] as? Bool ?? false + let sessionDone = (json["type"] as? String) == "session_done" + + if gotFin || sessionEnded || sessionDone { + completeWithCurrentText() + } + } + + public func completeWithCurrentText() { + lock.lock() + if isClosed { + lock.unlock() + return + } + isClosed = true + let fullCommitted = committedFinalTokens.joined() + let fullNonFinal = currentNonFinalTokens.joined() + let rawCombined = fullCommitted.isEmpty ? fullNonFinal : (fullCommitted + fullNonFinal) + let cleaned = sanitizeText(rawCombined) + + let cb = onFinalResult + webSocketTask?.cancel(with: .normalClosure, reason: nil) + webSocketTask = nil + urlSession = nil + lock.unlock() + + DispatchQueue.main.async { + cb?(.success(cleaned)) + } + } + + public func cancel() { + lock.lock() + isClosed = true + webSocketTask?.cancel(with: .normalClosure, reason: nil) + webSocketTask = nil + urlSession = nil + lock.unlock() + } + + private func sanitizeText(_ text: String) -> String { + let trimmed = text.trimmingCharacters(in: .whitespacesAndNewlines) + if trimmed.isEmpty { return "" } + + let words = trimmed.components(separatedBy: .whitespacesAndNewlines).filter { !$0.isEmpty } + if words.isEmpty { return "" } + + let faPattern = "[\\u0600-\\u06FF\\u0750-\\u077F\\uFB50-\\uFDFF\\uFE70-\\uFEFF]" + let enPattern = "[a-zA-Z]" + + func matches(_ pattern: String, in str: String) -> Bool { + return str.range(of: pattern, options: .regularExpression) != nil + } + + var faCount = 0 + var enCount = 0 + for w in words { + if matches(faPattern, in: w) { faCount += 1 } + if matches(enPattern, in: w) { enCount += 1 } + } + + let total = faCount + enCount + if total == 0 { return trimmed } + + let faRatio = Double(faCount) / Double(total) + var cleaned: [String] = [] + + let stopWords: Set = ["sex", "from", "no", "oh", "you", "all", "know", "that", "god", "loves", "men", "for", "day", "night", "mankind", "wanted", "moments"] + + if faRatio >= 0.25 { + for w in words { + if matches(enPattern, in: w) && !matches(faPattern, in: w) { + let cleanW = w.lowercased().trimmingCharacters(in: CharacterSet(charactersIn: ".,!?:;،؛؟\"'()[]{}«»-–—")) + if stopWords.contains(cleanW) { continue } + if faRatio >= 0.70 { continue } + } + cleaned.append(w) + } + } else { + cleaned = words + } + + return cleaned.joined(separator: " ").trimmingCharacters(in: .whitespacesAndNewlines) + } +} + +/// Pre-warms and pools active WebSocket sessions for 0ms start latency +public final class SonioxSessionPool { + public static let shared = SonioxSessionPool() + + private var prewarmedSession: SonioxLiveSession? + private let lock = NSLock() + + private init() { + prewarmNextSession() + } + + public func prewarmNextSession() { + lock.lock() + defer { lock.unlock() } + + if let existing = prewarmedSession, existing.isReady { + return + } + + let session = SonioxLiveSession() + self.prewarmedSession = session + } + + public func acquireSession() -> SonioxLiveSession { + lock.lock() + let session = prewarmedSession + prewarmedSession = nil + lock.unlock() + + DispatchQueue.global().asyncAfter(deadline: .now() + 0.1) { [weak self] in + self?.prewarmNextSession() + } + + if let session = session, session.isReady { + return session + } + + return SonioxLiveSession() + } +} diff --git a/mac/src/StatusBarController.swift b/mac/src/StatusBarController.swift new file mode 100644 index 0000000..29457fc --- /dev/null +++ b/mac/src/StatusBarController.swift @@ -0,0 +1,172 @@ +import Cocoa + +public final class StatusBarController { + private var statusItem: NSStatusItem? + public var onToggleRecording: (() -> Void)? + + public init() { + setupStatusItem() + } + + private func setupStatusItem() { + statusItem = NSStatusBar.system.statusItem(withLength: NSStatusItem.variableLength) + updateIcon(state: .idle) + buildMenu() + } + + public enum State { + case idle + case recording + case transcribing + } + + public func updateIcon(state: State) { + guard let button = statusItem?.button else { return } + + switch state { + case .idle: + if let image = NSImage(systemSymbolName: "mic", accessibilityDescription: "Soniox Voice") { + image.isTemplate = true + button.image = image + } + button.toolTip = "Soniox Voice (آماده)" + case .recording: + if let image = NSImage(systemSymbolName: "mic.fill", accessibilityDescription: "Recording") { + image.isTemplate = false + button.image = image + button.contentTintColor = NSColor.systemRed + } + button.toolTip = "در حال ضبط صدا..." + case .transcribing: + if let image = NSImage(systemSymbolName: "waveform", accessibilityDescription: "Transcribing") { + image.isTemplate = false + button.image = image + button.contentTintColor = NSColor.systemOrange + } + button.toolTip = "در حال تبدیل به متن..." + } + } + + public func buildMenu(isRecording: Bool = false) { + let menu = NSMenu() + menu.autoenablesItems = false + + // 1. Record Action + let recordTitle = isRecording ? "⏹️ توقف ضبط و درج متن" : "🎙️ شروع ضبط صدا (\(HotkeyManager.shared.currentPreset.rawValue))" + let recordItem = NSMenuItem(title: recordTitle, action: #selector(toggleRecordAction), keyEquivalent: "") + recordItem.target = self + menu.addItem(recordItem) + + menu.addItem(NSMenuItem.separator()) + + // 2. Mode Submenu + let modeMenu = NSMenu() + for mode in DictationMode.allCases { + let item = NSMenuItem(title: mode.localizedTitle, action: #selector(selectModeAction(_:)), keyEquivalent: "") + item.target = self + item.representedObject = mode + item.state = (HotkeyManager.shared.currentMode == mode) ? .on : .off + modeMenu.addItem(item) + } + let modeMenuItem = NSMenuItem(title: "⚙️ حالت کارکرد", action: nil, keyEquivalent: "") + modeMenuItem.submenu = modeMenu + menu.addItem(modeMenuItem) + + // 3. Hotkey Submenu + let hotkeyMenu = NSMenu() + for preset in HotkeyPreset.allCases { + let item = NSMenuItem(title: preset.rawValue, action: #selector(selectHotkeyAction(_:)), keyEquivalent: "") + item.target = self + item.representedObject = preset + item.state = (HotkeyManager.shared.currentPreset == preset) ? .on : .off + hotkeyMenu.addItem(item) + } + let hotkeyMenuItem = NSMenuItem(title: "⌨️ کلید میانبر (Hotkey)", action: nil, keyEquivalent: "") + hotkeyMenuItem.submenu = hotkeyMenu + menu.addItem(hotkeyMenuItem) + + menu.addItem(NSMenuItem.separator()) + + // 4. Sound Effects Toggle + let soundsEnabled = UserDefaults.standard.bool(forKey: "SonioxPlaySounds") + let soundItem = NSMenuItem(title: "🔊 پخش افکت صوتی", action: #selector(toggleSoundsAction(_:)), keyEquivalent: "") + soundItem.target = self + soundItem.state = soundsEnabled ? .on : .off + menu.addItem(soundItem) + + // 5. Accessibility Permission Check + let isAxTrusted = AXIsProcessTrusted() + let axTitle = isAxTrusted ? "✅ دسترسی Accessibility فعال است" : "🔑 اعطای دسترسی Accessibility..." + let axItem = NSMenuItem(title: axTitle, action: #selector(openAccessibilitySettings), keyEquivalent: "") + axItem.target = self + menu.addItem(axItem) + + // 6. Launch at Login + let launchLogin = UserDefaults.standard.bool(forKey: "SonioxLaunchAtLogin") + let launchItem = NSMenuItem(title: "🚀 اجرا هنگام بالا آمدن سیستم", action: #selector(toggleLaunchAtLoginAction(_:)), keyEquivalent: "") + launchItem.target = self + launchItem.state = launchLogin ? .on : .off + menu.addItem(launchItem) + + menu.addItem(NSMenuItem.separator()) + + // 7. About & Quit + let aboutItem = NSMenuItem(title: "ℹ️ درباره Soniox Voice", action: #selector(aboutAction), keyEquivalent: "") + aboutItem.target = self + menu.addItem(aboutItem) + + let quitItem = NSMenuItem(title: "❌ خروج", action: #selector(quitAction), keyEquivalent: "q") + quitItem.target = self + menu.addItem(quitItem) + + statusItem?.menu = menu + } + + @objc private func toggleRecordAction() { + onToggleRecording?() + } + + @objc private func selectModeAction(_ sender: NSMenuItem) { + if let mode = sender.representedObject as? DictationMode { + HotkeyManager.shared.currentMode = mode + buildMenu() + } + } + + @objc private func selectHotkeyAction(_ sender: NSMenuItem) { + if let preset = sender.representedObject as? HotkeyPreset { + HotkeyManager.shared.currentPreset = preset + buildMenu() + } + } + + @objc private func toggleSoundsAction(_ sender: NSMenuItem) { + let current = UserDefaults.standard.bool(forKey: "SonioxPlaySounds") + UserDefaults.standard.set(!current, forKey: "SonioxPlaySounds") + buildMenu() + } + + @objc private func toggleLaunchAtLoginAction(_ sender: NSMenuItem) { + let current = UserDefaults.standard.bool(forKey: "SonioxLaunchAtLogin") + UserDefaults.standard.set(!current, forKey: "SonioxLaunchAtLogin") + buildMenu() + } + + @objc private func openAccessibilitySettings() { + let url = URL(string: "x-apple.systempreferences:com.apple.preference.security?Privacy_Accessibility")! + NSWorkspace.shared.open(url) + } + + @objc private func aboutAction() { + let alert = NSAlert() + alert.messageText = "Soniox Voice v1.0" + alert.informativeText = "تبدیل بلادرنگ گفتار به متن فارسی و انگلیسی با موتور ابری فوق سریع Soniox.\n\nتوسعه یافته برای macOS." + alert.alertStyle = .informational + alert.addButton(withTitle: "باشه") + alert.runModal() + } + + @objc private func quitAction() { + NSApplication.shared.terminate(nil) + } +} diff --git a/mac/src/main.swift b/mac/src/main.swift new file mode 100644 index 0000000..467311d --- /dev/null +++ b/mac/src/main.swift @@ -0,0 +1,7 @@ +import Cocoa + +let app = NSApplication.shared +let delegate = AppDelegate() +app.delegate = delegate +app.setActivationPolicy(.accessory) +_ = NSApplicationMain(CommandLine.argc, CommandLine.unsafeArgv) diff --git a/mac/test_apps_ax.swift b/mac/test_apps_ax.swift new file mode 100644 index 0000000..b3698cc --- /dev/null +++ b/mac/test_apps_ax.swift @@ -0,0 +1,42 @@ +import Cocoa +import ApplicationServices + +func inspectApp(named targetName: String) { + guard let app = NSWorkspace.shared.runningApplications.first(where: { $0.localizedName == targetName }) else { + print("App \(targetName) not running") + return + } + + print("\n--- Inspecting \(targetName) (PID: \(app.processIdentifier)) ---") + let appElem = AXUIElementCreateApplication(app.processIdentifier) + AXUIElementSetAttributeValue(appElem, "AXEnhancedUserInterface" as CFString, kCFBooleanTrue) + AXUIElementSetAttributeValue(appElem, "AXManualAccessibility" as CFString, kCFBooleanTrue) + + var focusedElemObj: CFTypeRef? + let err = AXUIElementCopyAttributeValue(appElem, kAXFocusedUIElementAttribute as CFString, &focusedElemObj) + print("kAXFocusedUIElementAttribute error:", err.rawValue) + + if err == .success, let elem = focusedElemObj { + let axElem = elem as! AXUIElement + var roleObj: CFTypeRef? + AXUIElementCopyAttributeValue(axElem, kAXRoleAttribute as CFString, &roleObj) + print("Role:", roleObj ?? "none") + + var valObj: CFTypeRef? + let valErr = AXUIElementCopyAttributeValue(axElem, kAXValueAttribute as CFString, &valObj) + print("Value err:", valErr.rawValue, "Value:", valObj ?? "none") + + var rangeObj: CFTypeRef? + let rangeErr = AXUIElementCopyAttributeValue(axElem, kAXSelectedTextRangeAttribute as CFString, &rangeObj) + if rangeErr == .success, let axRange = rangeObj { + var range = CFRange() + if AXValueGetValue(axRange as! AXValue, .cfRange, &range) { + print("Cursor: loc=\(range.location), len=\(range.length)") + } + } + } +} + +inspectApp(named: "Telegram") +inspectApp(named: "Obsidian") +inspectApp(named: "firefox") diff --git a/mac/test_focus_detector.swift b/mac/test_focus_detector.swift new file mode 100644 index 0000000..d6a7ffc --- /dev/null +++ b/mac/test_focus_detector.swift @@ -0,0 +1,107 @@ +import Cocoa +import ApplicationServices + +// Comprehensive recursive search for any element with AXFocused == true +func findActiveFocusedElement(_ elem: AXUIElement) -> AXUIElement? { + var isFocusedObj: CFTypeRef? + if AXUIElementCopyAttributeValue(elem, kAXFocusedAttribute as CFString, &isFocusedObj) == .success, + let isFocused = isFocusedObj as? Bool, isFocused { + var roleObj: CFTypeRef? + AXUIElementCopyAttributeValue(elem, kAXRoleAttribute as CFString, &roleObj) + let role = (roleObj as? String) ?? "" + if role != "AXWindow" && role != "AXApplication" && role != "AXGroup" && role != "AXSplitGroup" && role != "AXScrollArea" { + return elem + } + } + + var childrenObj: CFTypeRef? + if AXUIElementCopyAttributeValue(elem, kAXChildrenAttribute as CFString, &childrenObj) == .success, + let children = childrenObj as? [AXUIElement] { + for child in children { + if let found = findActiveFocusedElement(child) { + return found + } + } + } + return nil +} + +func getFocusedTextInfo() -> (String, String, Int, Int)? { + guard let frontApp = NSWorkspace.shared.frontmostApplication else { return nil } + let appName = frontApp.localizedName ?? "App" + let appElem = AXUIElementCreateApplication(frontApp.processIdentifier) + + // 1. Try systemWide + let sysWide = AXUIElementCreateSystemWide() + var focusedElemObj: CFTypeRef? + var targetElem: AXUIElement? + + if AXUIElementCopyAttributeValue(sysWide, kAXFocusedUIElementAttribute as CFString, &focusedElemObj) == .success, + let obj = focusedElemObj { + targetElem = (obj as! AXUIElement) + } + + // 2. Try App focused element + if targetElem == nil { + if AXUIElementCopyAttributeValue(appElem, kAXFocusedUIElementAttribute as CFString, &focusedElemObj) == .success, + let obj = focusedElemObj { + targetElem = (obj as! AXUIElement) + } + } + + // 3. Try Recursive search in app tree + if targetElem == nil { + targetElem = findActiveFocusedElement(appElem) + } + + guard let elem = targetElem else { return nil } + + // Extract text + var text = "" + var valObj: CFTypeRef? + if AXUIElementCopyAttributeValue(elem, kAXValueAttribute as CFString, &valObj) == .success, + let val = valObj { + if let str = val as? String { + text = str + } else if let attrStr = val as? NSAttributedString { + text = attrStr.string + } + } + + // Try parameterized string for range + if text.isEmpty { + var countObj: CFTypeRef? + if AXUIElementCopyAttributeValue(elem, kAXNumberOfCharactersAttribute as CFString, &countObj) == .success, + let count = countObj as? Int, count > 0 { + var range = CFRange(location: 0, length: count) + if let axRange = AXValueCreate(.cfRange, &range) { + var strObj: CFTypeRef? + if AXUIElementCopyParameterizedAttributeValue(elem, kAXStringForRangeParameterizedAttribute as CFString, axRange, &strObj) == .success, + let str = strObj as? String { + text = str + } + } + } + } + + // Cursor & Selection + var cursor = text.count + var selLen = 0 + var rangeObj: CFTypeRef? + if AXUIElementCopyAttributeValue(elem, kAXSelectedTextRangeAttribute as CFString, &rangeObj) == .success, + let axRange = rangeObj { + var range = CFRange() + if AXValueGetValue(axRange as! AXValue, .cfRange, &range) { + cursor = range.location + selLen = range.length + } + } + + return (appName, text, cursor, selLen) +} + +if let (app, text, cursor, selLen) = getFocusedTextInfo() { + print("Found! App: \(app), Text: '\(text)', Cursor: \(cursor), SelLen: \(selLen)") +} else { + print("No focused text element found") +} diff --git a/mac/test_full_ax.swift b/mac/test_full_ax.swift new file mode 100644 index 0000000..6d5c906 --- /dev/null +++ b/mac/test_full_ax.swift @@ -0,0 +1,110 @@ +import Cocoa +import ApplicationServices + +func extractTextAndCursor(from elem: AXUIElement) -> (String, Int, Int)? { + var roleRef: CFTypeRef? + AXUIElementCopyAttributeValue(elem, kAXRoleAttribute as CFString, &roleRef) + let role = (roleRef as? String) ?? "" + + var currentText = "" + var valueRef: CFTypeRef? + if AXUIElementCopyAttributeValue(elem, kAXValueAttribute as CFString, &valueRef) == .success, + let val = valueRef { + if let str = val as? String { + currentText = str + } else if let attrStr = val as? NSAttributedString { + currentText = attrStr.string + } + } + + if currentText.isEmpty { + var countRef: CFTypeRef? + if AXUIElementCopyAttributeValue(elem, kAXNumberOfCharactersAttribute as CFString, &countRef) == .success, + let count = countRef as? Int, count > 0 { + var range = CFRange(location: 0, length: count) + if let axRange = AXValueCreate(.cfRange, &range) { + var stringRef: CFTypeRef? + if AXUIElementCopyParameterizedAttributeValue(elem, kAXStringForRangeParameterizedAttribute as CFString, axRange, &stringRef) == .success, + let str = stringRef as? String { + currentText = str + } + } + } + } + + var cursor = currentText.count + var selLen = 0 + var rangeRef: CFTypeRef? + if AXUIElementCopyAttributeValue(elem, kAXSelectedTextRangeAttribute as CFString, &rangeRef) == .success, + let val = rangeRef { + var cfRange = CFRange() + if AXValueGetValue(val as! AXValue, .cfRange, &cfRange) { + cursor = cfRange.location + selLen = cfRange.length + } + } + + if !currentText.isEmpty || role == "AXTextField" || role == "AXTextArea" || role == "AXSearchField" || rangeRef != nil { + return (currentText, cursor, selLen) + } + + // Check focused child + var focusedChildRef: CFTypeRef? + if AXUIElementCopyAttributeValue(elem, kAXFocusedUIElementAttribute as CFString, &focusedChildRef) == .success, + let child = focusedChildRef { + if let res = extractTextAndCursor(from: child as! AXUIElement) { + return res + } + } + + // Check children + var childrenRef: CFTypeRef? + if AXUIElementCopyAttributeValue(elem, kAXChildrenAttribute as CFString, &childrenRef) == .success, + let children = childrenRef as? [AXUIElement] { + for child in children { + var isFocusedRef: CFTypeRef? + if AXUIElementCopyAttributeValue(child, kAXFocusedAttribute as CFString, &isFocusedRef) == .success, + let isFoc = isFocusedRef as? Bool, isFoc { + if let res = extractTextAndCursor(from: child) { + return res + } + } + } + } + + return nil +} + +func testFullAX() { + let sysWide = AXUIElementCreateSystemWide() + AXUIElementSetAttributeValue(sysWide, "AXEnhancedUserInterface" as CFString, kCFBooleanTrue) + AXUIElementSetAttributeValue(sysWide, "AXManualAccessibility" as CFString, kCFBooleanTrue) + + guard let frontApp = NSWorkspace.shared.frontmostApplication else { return } + print("Front App:", frontApp.localizedName ?? "") + + let appElem = AXUIElementCreateApplication(frontApp.processIdentifier) + AXUIElementSetAttributeValue(appElem, "AXEnhancedUserInterface" as CFString, kCFBooleanTrue) + AXUIElementSetAttributeValue(appElem, "AXManualAccessibility" as CFString, kCFBooleanTrue) + + var focusedElem: CFTypeRef? + if AXUIElementCopyAttributeValue(sysWide, kAXFocusedUIElementAttribute as CFString, &focusedElem) == .success, + let elem = focusedElem { + if let (text, cursor, sel) = extractTextAndCursor(from: elem as! AXUIElement) { + print("Extracted from sysWide -> Text: '\(text)', Cursor: \(cursor), Sel: \(sel)") + return + } + } + + if AXUIElementCopyAttributeValue(appElem, kAXFocusedUIElementAttribute as CFString, &focusedElem) == .success, + let elem = focusedElem { + if let (text, cursor, sel) = extractTextAndCursor(from: elem as! AXUIElement) { + print("Extracted from appElem -> Text: '\(text)', Cursor: \(cursor), Sel: \(sel)") + return + } + } + + print("Could not extract text") +} + +testFullAX() diff --git a/mac/test_inspect.swift b/mac/test_inspect.swift new file mode 100644 index 0000000..f2cbadf --- /dev/null +++ b/mac/test_inspect.swift @@ -0,0 +1,45 @@ +import Cocoa +import ApplicationServices + +func inspect() { + guard let frontApp = NSWorkspace.shared.frontmostApplication else { + print("No front app") + return + } + print("Front App:", frontApp.localizedName ?? "", "PID:", frontApp.processIdentifier) + + let trusted = AXIsProcessTrusted() + print("AXIsProcessTrusted:", trusted) + + let appElem = AXUIElementCreateApplication(frontApp.processIdentifier) + var focusedElemObj: CFTypeRef? + let err = AXUIElementCopyAttributeValue(appElem, kAXFocusedUIElementAttribute as CFString, &focusedElemObj) + print("kAXFocusedUIElement error:", err.rawValue) + + if err == .success, let elem = focusedElemObj { + let axElem = elem as! AXUIElement + var roleObj: CFTypeRef? + AXUIElementCopyAttributeValue(axElem, kAXRoleAttribute as CFString, &roleObj) + print("Role:", roleObj ?? "none") + + var valObj: CFTypeRef? + let valErr = AXUIElementCopyAttributeValue(axElem, kAXValueAttribute as CFString, &valObj) + print("Value err:", valErr.rawValue, "Value:", valObj ?? "nil") + + var selectedTextObj: CFTypeRef? + let selTxtErr = AXUIElementCopyAttributeValue(axElem, kAXSelectedTextAttribute as CFString, &selectedTextObj) + print("SelectedText err:", selTxtErr.rawValue, "SelectedText:", selectedTextObj ?? "nil") + + var rangeObj: CFTypeRef? + let rangeErr = AXUIElementCopyAttributeValue(axElem, kAXSelectedTextRangeAttribute as CFString, &rangeObj) + print("Range err:", rangeErr.rawValue) + if rangeErr == .success, let axRange = rangeObj { + var range = CFRange() + if AXValueGetValue(axRange as! AXValue, .cfRange, &range) { + print("CFRange: loc=\(range.location), len=\(range.length)") + } + } + } +} + +inspect() diff --git a/mac/test_inspect2.swift b/mac/test_inspect2.swift new file mode 100644 index 0000000..10143a3 --- /dev/null +++ b/mac/test_inspect2.swift @@ -0,0 +1,45 @@ +import Cocoa +import ApplicationServices + +func getFocusedElement() -> AXUIElement? { + // 1. System wide + let sysWide = AXUIElementCreateSystemWide() + var sysFocusedObj: CFTypeRef? + if AXUIElementCopyAttributeValue(sysWide, kAXFocusedUIElementAttribute as CFString, &sysFocusedObj) == .success, + let obj = sysFocusedObj { + return (obj as! AXUIElement) + } + + // 2. Frontmost App + if let frontApp = NSWorkspace.shared.frontmostApplication { + let appElem = AXUIElementCreateApplication(frontApp.processIdentifier) + var appFocusedObj: CFTypeRef? + if AXUIElementCopyAttributeValue(appElem, kAXFocusedUIElementAttribute as CFString, &appFocusedObj) == .success, + let obj = appFocusedObj { + return (obj as! AXUIElement) + } + } + return nil +} + +func inspectElement(_ elem: AXUIElement) { + var attrNamesObj: CFArray? + AXUIElementCopyAttributeNames(elem, &attrNamesObj) + if let names = attrNamesObj as? [String] { + print("Attribute Names:", names) + for name in names { + var val: CFTypeRef? + let err = AXUIElementCopyAttributeValue(elem, name as CFString, &val) + if err == .success, let val = val { + print(" \(name): \(val)") + } + } + } +} + +if let focused = getFocusedElement() { + print("Found Focused Element:") + inspectElement(focused) +} else { + print("No focused element found") +} diff --git a/mac/test_inspect3.swift b/mac/test_inspect3.swift new file mode 100644 index 0000000..87217b8 --- /dev/null +++ b/mac/test_inspect3.swift @@ -0,0 +1,76 @@ +import Cocoa +import ApplicationServices + +func findFocusedDescendant(_ elem: AXUIElement) -> AXUIElement? { + // Check if this element is a text field/text area or has value + var roleObj: CFTypeRef? + AXUIElementCopyAttributeValue(elem, kAXRoleAttribute as CFString, &roleObj) + let role = (roleObj as? String) ?? "" + + if role == "AXTextField" || role == "AXTextArea" || role == "AXComboBox" || role == "AXSearchField" { + return elem + } + + var focusedObj: CFTypeRef? + if AXUIElementCopyAttributeValue(elem, kAXFocusedAttribute as CFString, &focusedObj) == .success, + let isFocused = focusedObj as? Bool, isFocused { + // If it has value attribute, return it + var valObj: CFTypeRef? + if AXUIElementCopyAttributeValue(elem, kAXValueAttribute as CFString, &valObj) == .success { + return elem + } + } + + // Check children + var childrenObj: CFTypeRef? + if AXUIElementCopyAttributeValue(elem, kAXChildrenAttribute as CFString, &childrenObj) == .success, + let children = childrenObj as? [AXUIElement] { + for child in children { + if let found = findFocusedDescendant(child) { + return found + } + } + } + return nil +} + +func getDeepFocusedElement() -> (AXUIElement, String, String)? { + guard let frontApp = NSWorkspace.shared.frontmostApplication else { return nil } + let appElem = AXUIElementCreateApplication(frontApp.processIdentifier) + + // First try standard focused element + var focusedObj: CFTypeRef? + if AXUIElementCopyAttributeValue(appElem, kAXFocusedUIElementAttribute as CFString, &focusedObj) == .success, + let elem = focusedObj as! AXUIElement? { + var roleObj: CFTypeRef? + AXUIElementCopyAttributeValue(elem, kAXRoleAttribute as CFString, &roleObj) + let role = (roleObj as? String) ?? "" + + var valObj: CFTypeRef? + AXUIElementCopyAttributeValue(elem, kAXValueAttribute as CFString, &valObj) + let val = (valObj as? String) ?? "" + + if !val.isEmpty || role == "AXTextField" || role == "AXTextArea" { + return (elem, role, val) + } + + // If it's a window or web area, search descendants + if let deep = findFocusedDescendant(elem) { + var deepRoleObj: CFTypeRef? + AXUIElementCopyAttributeValue(deep, kAXRoleAttribute as CFString, &deepRoleObj) + let deepRole = (deepRoleObj as? String) ?? "" + + var deepValObj: CFTypeRef? + AXUIElementCopyAttributeValue(deep, kAXValueAttribute as CFString, &deepValObj) + let deepVal = (deepValObj as? String) ?? "" + return (deep, deepRole, deepVal) + } + } + return nil +} + +if let (elem, role, val) = getDeepFocusedElement() { + print("Found deep focused element! Role: \(role), Value: '\(val)'") +} else { + print("Deep focused element not found") +} diff --git a/mac/test_live_ax.swift b/mac/test_live_ax.swift new file mode 100644 index 0000000..32f9efc --- /dev/null +++ b/mac/test_live_ax.swift @@ -0,0 +1,81 @@ +import Cocoa +import ApplicationServices + +func testLiveAX() { + let sysWide = AXUIElementCreateSystemWide() + + // Enable Chromium/Electron accessibility + AXUIElementSetAttributeValue(sysWide, "AXEnhancedUserInterface" as CFString, kCFBooleanTrue) + AXUIElementSetAttributeValue(sysWide, "AXManualAccessibility" as CFString, kCFBooleanTrue) + + guard let frontApp = NSWorkspace.shared.frontmostApplication else { + print("No front app") + return + } + + print("Front App:", frontApp.localizedName ?? "", "PID:", frontApp.processIdentifier) + + let appElem = AXUIElementCreateApplication(frontApp.processIdentifier) + AXUIElementSetAttributeValue(appElem, "AXEnhancedUserInterface" as CFString, kCFBooleanTrue) + AXUIElementSetAttributeValue(appElem, "AXManualAccessibility" as CFString, kCFBooleanTrue) + + // Try system wide focused element + var focusedUIElement: CFTypeRef? + var err = AXUIElementCopyAttributeValue(sysWide, kAXFocusedUIElementAttribute as CFString, &focusedUIElement) + if err != .success || focusedUIElement == nil { + err = AXUIElementCopyAttributeValue(appElem, kAXFocusedUIElementAttribute as CFString, &focusedUIElement) + } + + guard err == .success, let elem = focusedUIElement else { + print("No focused element. Error:", err.rawValue) + return + } + + let axElem = elem as! AXUIElement + + var roleRef: CFTypeRef? + AXUIElementCopyAttributeValue(axElem, kAXRoleAttribute as CFString, &roleRef) + let role = (roleRef as? String) ?? "AXUnknown" + print("Role:", role) + + // Extract text + var currentText = "" + var valueRef: CFTypeRef? + if AXUIElementCopyAttributeValue(axElem, kAXValueAttribute as CFString, &valueRef) == .success, + let val = valueRef { + if let str = val as? String { + currentText = str + } else if let attrStr = val as? NSAttributedString { + currentText = attrStr.string + } + } + + if currentText.isEmpty { + var countRef: CFTypeRef? + if AXUIElementCopyAttributeValue(axElem, kAXNumberOfCharactersAttribute as CFString, &countRef) == .success, + let count = countRef as? Int { + var range = CFRange(location: 0, length: count) + if let axRange = AXValueCreate(.cfRange, &range) { + var stringRef: CFTypeRef? + if AXUIElementCopyParameterizedAttributeValue(axElem, kAXStringForRangeParameterizedAttribute as CFString, axRange, &stringRef) == .success, + let str = stringRef as? String { + currentText = str + } + } + } + } + + print("Extracted Text: '\(currentText)'") + + // Selection / Cursor + var rangeRef: CFTypeRef? + if AXUIElementCopyAttributeValue(axElem, kAXSelectedTextRangeAttribute as CFString, &rangeRef) == .success, + let val = rangeRef { + var cfRange = CFRange() + if AXValueGetValue(val as! AXValue, .cfRange, &cfRange) { + print("Cursor Location: \(cfRange.location), Selection Length: \(cfRange.length)") + } + } +} + +testLiveAX() diff --git a/mac/test_timer.swift b/mac/test_timer.swift new file mode 100644 index 0000000..6d83d84 --- /dev/null +++ b/mac/test_timer.swift @@ -0,0 +1,21 @@ +import Foundation +import Cocoa + +class TestTimer { + private var timerSource: DispatchSourceTimer? + + func start() { + let queue = DispatchQueue(label: "com.test.timer", qos: .userInteractive) + let timer = DispatchSource.makeTimerSource(queue: queue) + timer.schedule(deadline: .now(), repeating: .milliseconds(50)) + timer.setEventHandler { + if let (elem, app) = FocusedInputSync.shared.getFocusedElement() { + if let state = FocusedInputSync.shared.inspectCurrentState() { + print("Live State detected: '\(state.text)' in \(state.app)") + } + } + } + timer.resume() + self.timerSource = timer + } +} diff --git a/mac/test_tree.swift b/mac/test_tree.swift new file mode 100644 index 0000000..d8094c0 --- /dev/null +++ b/mac/test_tree.swift @@ -0,0 +1,39 @@ +import Cocoa +import ApplicationServices + +func printAXTree(_ elem: AXUIElement, depth: Int = 0) { + if depth > 7 { return } + let indent = String(repeating: " ", count: depth) + + var roleObj: CFTypeRef? + AXUIElementCopyAttributeValue(elem, kAXRoleAttribute as CFString, &roleObj) + let role = (roleObj as? String) ?? "unknown" + + var valObj: CFTypeRef? + AXUIElementCopyAttributeValue(elem, kAXValueAttribute as CFString, &valObj) + let val = (valObj as? String) ?? "" + + var titleObj: CFTypeRef? + AXUIElementCopyAttributeValue(elem, kAXTitleAttribute as CFString, &titleObj) + let title = (titleObj as? String) ?? "" + + var focusedObj: CFTypeRef? + AXUIElementCopyAttributeValue(elem, kAXFocusedAttribute as CFString, &focusedObj) + let isFocused = (focusedObj as? Bool) ?? false + + print("\(indent)[\(role)] title='\(title)' val='\(val)' focused=\(isFocused)") + + var childrenObj: CFTypeRef? + if AXUIElementCopyAttributeValue(elem, kAXChildrenAttribute as CFString, &childrenObj) == .success, + let children = childrenObj as? [AXUIElement] { + for child in children { + printAXTree(child, depth: depth + 1) + } + } +} + +if let frontApp = NSWorkspace.shared.frontmostApplication { + print("Front App:", frontApp.localizedName ?? "") + let appElem = AXUIElementCreateApplication(frontApp.processIdentifier) + printAXTree(appElem) +} diff --git a/mac/test_win_ax.swift b/mac/test_win_ax.swift new file mode 100644 index 0000000..7fb1f05 --- /dev/null +++ b/mac/test_win_ax.swift @@ -0,0 +1,33 @@ +import Cocoa +import ApplicationServices + +func inspectFrontApp() { + guard let frontApp = NSWorkspace.shared.frontmostApplication else { return } + print("Frontmost App:", frontApp.localizedName ?? "") + + let appElem = AXUIElementCreateApplication(frontApp.processIdentifier) + + // 1. Try focused window + var windowObj: CFTypeRef? + var err = AXUIElementCopyAttributeValue(appElem, kAXFocusedWindowAttribute as CFString, &windowObj) + print("kAXFocusedWindowAttribute err:", err.rawValue) + + if err == .success, let win = windowObj { + let winElem = win as! AXUIElement + var focusedObj: CFTypeRef? + let winErr = AXUIElementCopyAttributeValue(winElem, kAXFocusedUIElementAttribute as CFString, &focusedObj) + print("Window focused element err:", winErr.rawValue) + if winErr == .success, let elem = focusedObj { + let axElem = elem as! AXUIElement + var roleObj: CFTypeRef? + AXUIElementCopyAttributeValue(axElem, kAXRoleAttribute as CFString, &roleObj) + print("Role from window:", roleObj ?? "none") + + var valObj: CFTypeRef? + AXUIElementCopyAttributeValue(axElem, kAXValueAttribute as CFString, &valObj) + print("Value from window:", valObj ?? "none") + } + } +} + +inspectFrontApp()