From 55b20c5b85f59d7b010d31535a6c9d180c36c5ef Mon Sep 17 00:00:00 2001 From: Luxferre Date: Wed, 21 Oct 2026 14:46:11 +0300 Subject: [PATCH] Add preloaded SMS, File Manager, and Camera (live viewfinder) DWM plugins --- MANUAL.md | 34 +- README.md | 7 +- overlay/rootfs/usr/bin/bananarchy-photo | 3 + overlay/rootfs/usr/bin/dwm | Bin 52168 -> 52168 bytes overlay/rootfs/usr/bin/dwm-plugin | Bin 9444 -> 9444 bytes overlay/rootfs/usr/bin/sxmo_appmenu.sh | 6 +- overlay/rootfs/usr/bin/sxmo_files.sh | 127 ++ overlay/rootfs/usr/bin/sxmo_modemtext.sh | 5 + overlay/rootfs/usr/bin/xcamera | 1 + overlay/rootfs/usr/bin/xfiles | 1 + overlay/rootfs/usr/bin/xsms | 1 + overlay/rootfs/usr/lib/dwm/plugins/calllog.so | Bin 71060 -> 71060 bytes overlay/rootfs/usr/lib/dwm/plugins/camera.so | Bin 0 -> 62852 bytes .../rootfs/usr/lib/dwm/plugins/contacts.so | Bin 83444 -> 83444 bytes overlay/rootfs/usr/lib/dwm/plugins/dialer.so | Bin 71044 -> 71044 bytes overlay/rootfs/usr/lib/dwm/plugins/files.so | Bin 0 -> 75140 bytes overlay/rootfs/usr/lib/dwm/plugins/sms.so | Bin 0 -> 103812 bytes overlay/rootfs/usr/lib/dwm/plugins/xdrawer.so | Bin 34180 -> 34180 bytes .../default_hooks/sxmo_hook_contextmenu.sh | 6 +- .../default_hooks/sxmo_hook_tailtextlog.sh | 54 +- prebuilt/sxmo-x11/usr/bin/dwm | Bin 52168 -> 52168 bytes prebuilt/sxmo-x11/usr/bin/dwm-plugin | Bin 9444 -> 9444 bytes prebuilt/sxmo-x11/usr/bin/xcamera | 1 + prebuilt/sxmo-x11/usr/bin/xfiles | 1 + prebuilt/sxmo-x11/usr/bin/xsms | 1 + .../sxmo-x11/usr/lib/dwm/plugins/calllog.so | Bin 71060 -> 71060 bytes .../sxmo-x11/usr/lib/dwm/plugins/camera.so | Bin 0 -> 62852 bytes .../sxmo-x11/usr/lib/dwm/plugins/contacts.so | Bin 83444 -> 83444 bytes .../sxmo-x11/usr/lib/dwm/plugins/dialer.so | Bin 71044 -> 71044 bytes .../sxmo-x11/usr/lib/dwm/plugins/files.so | Bin 0 -> 75140 bytes prebuilt/sxmo-x11/usr/lib/dwm/plugins/sms.so | Bin 0 -> 103812 bytes .../sxmo-x11/usr/lib/dwm/plugins/xdrawer.so | Bin 34180 -> 34180 bytes scripts/build-sxmo-x11.sh | 29 +- src/dwm-plugins/calllog_plugin.cpp | 15 +- src/dwm-plugins/camera_plugin.cpp | 1046 ++++++++++++ src/dwm-plugins/contacts_plugin.cpp | 27 +- src/dwm-plugins/dialer_plugin.cpp | 15 +- src/dwm-plugins/dwm_plugin_runner.c | 17 + src/dwm-plugins/files_plugin.cpp | 1429 ++++++++++++++++ src/dwm-plugins/media_utils.h | 269 +++ src/dwm-plugins/phone_data.h | 318 +++- src/dwm-plugins/sms_plugin.cpp | 1468 +++++++++++++++++ src/sxmo-dwm/config.def.h | 2 +- src/sxmo-dwm/config.h | 2 +- src/xdrawer/xdrawer.cpp | 8 +- 45 files changed, 4767 insertions(+), 126 deletions(-) create mode 100755 overlay/rootfs/usr/bin/sxmo_files.sh create mode 100755 overlay/rootfs/usr/bin/sxmo_modemtext.sh create mode 120000 overlay/rootfs/usr/bin/xcamera create mode 120000 overlay/rootfs/usr/bin/xfiles create mode 120000 overlay/rootfs/usr/bin/xsms create mode 100755 overlay/rootfs/usr/lib/dwm/plugins/camera.so create mode 100755 overlay/rootfs/usr/lib/dwm/plugins/files.so create mode 100755 overlay/rootfs/usr/lib/dwm/plugins/sms.so create mode 120000 prebuilt/sxmo-x11/usr/bin/xcamera create mode 120000 prebuilt/sxmo-x11/usr/bin/xfiles create mode 120000 prebuilt/sxmo-x11/usr/bin/xsms create mode 100755 prebuilt/sxmo-x11/usr/lib/dwm/plugins/camera.so create mode 100755 prebuilt/sxmo-x11/usr/lib/dwm/plugins/files.so create mode 100755 prebuilt/sxmo-x11/usr/lib/dwm/plugins/sms.so create mode 100644 src/dwm-plugins/camera_plugin.cpp create mode 100644 src/dwm-plugins/files_plugin.cpp create mode 100644 src/dwm-plugins/media_utils.h create mode 100644 src/dwm-plugins/sms_plugin.cpp diff --git a/MANUAL.md b/MANUAL.md index 21dc280..7d1f207 100644 --- a/MANUAL.md +++ b/MANUAL.md @@ -139,8 +139,8 @@ You can switch between **vertical stack (`TTT`, `bstack`)**, **horizontal tile ( - `Mod4+1`..`4`: switch to workspace tag `1`..`4` - `Mod4+Shift+q`: close focused window -#### 3.1.2 Preloaded DWM plugins (`XDrawer`, `Dialer`, `Call Log`, `Contacts`) -All four core phone overlays are compiled as shared-object plugins (`/usr/lib/dwm/plugins/*.so`), preloaded at `dwm` startup (`dwm-plugin --preload`), and awakened over `/tmp/dwm_plugin_.fifo` in `< 10 ms`: +#### 3.1.2 Preloaded DWM plugins (`XDrawer`, `Dialer`, `Call Log`, `Contacts`, `SMS`, `Files`, `Camera`) +All seven core phone overlays are compiled as shared-object plugins (`/usr/lib/dwm/plugins/*.so`), preloaded at `dwm` startup (`dwm-plugin --preload`), and awakened over `/tmp/dwm_plugin_.fifo` in `< 10 ms`: 1. **`XDrawer` (`xdrawer.so` / `xdrawer`) — Global Phone Controls**: - **Open / Close**: Press **both softkeys simultaneously** (`KEY_MENU` + `KEY_BACK`) from anywhere, or select `XDrawer` from the Sxmo menu. @@ -161,6 +161,22 @@ All four core phone overlays are compiled as shared-object plugins (`/usr/lib/dw - **Contact Details View**: Provides one-click actions for **Call Contact**, **Send SMS**, **Read Messages**, **Open in Dialer**, **Edit Contact**, and **Delete Contact**. - **Built-in Contact Editor**: Supports adding new contacts or editing existing contacts directly in the `240x320` UI. In the **Name** field, keypad keys `0`–`9` provide multi-tap character entry (`#` cycles case mode `[Abc]` -> `[ABC]` -> `[abc]` -> `[123]`, `*` inserts space). In the **Number** field, hold `0` or press `Right` to insert `+`, or select **Use Recent Number** to pick from recent unknown callers in `modemlog.tsv`. Press **Left softkey (`Save`)** or select **Save Contact** to write directly to `~/.config/sxmo/contacts.tsv`. +5. **`SMS Manager / Editor` (`sms.so` / `xsms` / `sxmo_modemtext.sh`) — Conversations & Composer**: + - **Open**: Select **Texts** from the Sxmo system menu (`Left softkey`), or choose **Send SMS** / **Read Messages** from Contacts. + - **Conversations List**: Shows all SMS threads and drafts from `~/.local/share/sxmo/modem//sms.txt` with contact name resolution, message previews, and timestamps. Press `0`–`9` for live T9/number search, `*` for a new message, **Center `OK` (`Return`)** to open the conversation, **Call (green)** to call the sender, or **Left softkey (`Options`)** for **New Message**, **Open Thread**, **Reply / Compose**, **Call Number**, **Save/View Contact**, and **Delete Thread**. + - **Thread View**: Displays incoming (`Recv`, green left accent) and outgoing (`Sent`, blue/gold right accent) message bubbles; `Up`/`Down` scrolls; **Center `OK` (`Return`)** opens the reply composer; **Call (green)** calls the contact. + - **Multi-Tap SMS Composer**: Supports picking a recipient from Contacts/Recents or entering a number directly (hold `0` for `+`), multi-tap text entry on keys `0`–`9` and `*` (`#` cycles `[Abc]` -> `[ABC]` -> `[abc]` -> `[123]`), live character and SMS segment counter (`0/160`), automatic draft persistence (`draft.txt`), and asynchronous sending via `sxmo_modemsendsms.sh` (`Call` key, `Send SMS` button, or `Left softkey`). + +6. **`File Manager` (`files.so` / `xfiles` / `sxmo_files.sh`) — Graphical Directory Browser & Viewer**: + - **Open**: Select **Files** from the Sxmo system menu (`Left softkey`) or press `Mod4+d`. + - **Browser Controls**: `Up`/`Down` navigates files and directories; `Return`/`Right` enters a directory or opens the selected file; `Left`/`BackSpace` ascends to the parent directory (`..`); `0`–`9` filters items in real time; `*` toggles hidden dotfiles (`.*`); `#` cycles sort order (**Name** -> **Date** -> **Size**). + - **Built-in Viewers & File Actions (`Left softkey`)**: Text files and scripts open in a fast built-in scrollable viewer (with `Left softkey` shortcut to edit in `st -e nano`); JPEG and PNG images open in a built-in `libjpeg`/`libpng` previewer (`Left`/`Right` steps through images in the folder, `Left softkey` opens full screen in `feh`). The **Actions** menu supports **Open**, **Edit in Nano**, **New Folder**, **New File**, **Rename**, **Copy**, **Cut / Move**, **Paste Here**, **Properties**, **Toggle Hidden (`*`)**, **Cycle Sort (`#`)**, **Open Terminal Here**, and **Delete**. + +7. **`Camera` (`camera.so` / `xcamera`) — Live Viewfinder & Photo Gallery**: + - **Open**: Select **Camera** from the Sxmo system menu (`Left softkey`) or run `xcamera` / `bananarchy-photo --menu`. + - **Live Viewfinder**: Streams `800x600` `RGB24` frames directly from `/dev/video0` (`msm8905-cam` / `GC2395`) into a `240x180` 4:3 viewfinder with a center reticle. Press **Center `OK` (`Return`)**, **`5`**, or **Call (green)** to snap a JPEG photo to `~/Pictures/photo-YYYYMMDD-HHMMSS.jpg`; `*` or `1` toggles **Auto-Flash**; `0` or `2` toggles continuous **Torch** (`white:torch`); `Up`/`Down` adjusts **Digital Zoom** (`1.0x` / `2.0x` / `4.0x`); `#` or `3` toggles the **3-second Self-Timer**; **Left softkey (`Gallery`)** opens the built-in photo gallery. + - **Built-in Photo Gallery**: Browse captured photos with `Left`/`Right` or `Up`/`Down`, press `Return` to open full-screen in `feh`, or press **Left softkey (`Delete`)** to delete a photo. + ### 3.2 Multi-mode `fcitx5-t9` keypad reference - **Short-press `#`** *(when no character is in preedit)*: cycles through the 6 input modes (`abc` -> `Abc` -> `ABC` -> `Sym` -> `Ctl` -> `123` -> `abc`), displaying a `1500ms` preedit status banner (`[Mode: abc]`, `[Mode: Abc]`, `[Mode: ABC]`, `[Mode: Sym]`, `[Mode: Ctl]`, `[Mode: 123]`). @@ -254,15 +270,17 @@ All four core phone overlays are compiled as shared-object plugins (`/usr/lib/dw ## 5. Camera, audio, flashlight & cellular modem reference -### 5.1 Taking photos with the rear camera (`bananarchy-photo` & `/dev/video0`) +### 5.1 Taking photos with the rear camera (`xcamera`, `bananarchy-photo` & `/dev/video0`) The `msm8905-cam` kernel module drives the rear 2MP GalaxyCore `GC2395` sensor through MSM8909 `CAMSS` (`CSIPHY0 -> CSID0 -> ISPIF -> VFE0 -> VBIF`) and registers `/dev/video0` (`800x600` 24-bit `RGB3`). -- **From the Sxmo keypad UI**: - Open the **System menu** (`Left softkey`) or **Apps menu** (`Left softkey` -> `Apps`) and select **Camera** (`bananarchy-photo --menu`). From the Camera menu you can: - - **Take photo**: capture a photo to `~/Pictures/photo-YYYYMMDD-HHMMSS.jpg` and immediately open it in `imv`. - - **Take photo (flash)**: turn on the rear flashlight (`white:torch`), capture a photo, restore the flashlight state, and open the photo in `imv`. - - **View photos**: browse all saved photos in `~/Pictures` using `imv` (press `Right softkey` inside `imv` to navigate, zoom, rotate, or quit). +- **From the Sxmo keypad UI (`xcamera` / `camera.so`)**: + Open the **System menu** (`Left softkey`) and select **Camera** (`xcamera`). The native DWM camera plugin streams a live `240x180` viewfinder from `/dev/video0` with: + - **Shutter (`Return` / `5` / `Call`)**: encodes an `800x600` JPEG directly to `~/Pictures/photo-YYYYMMDD-HHMMSS.jpg`. + - **Auto-Flash (`*` / `1`) & Continuous Torch (`0` / `2`)**: controls `white:torch` during or before capture. + - **Digital Zoom (`Up` / `Down`)**: cycles `1.0x`, `2.0x`, and `4.0x` center-crop zoom. + - **Self-Timer (`#` / `3`)**: toggles a 3-second countdown before capture. + - **Built-in Gallery (`Left softkey`)**: browse and delete saved photos in `~/Pictures` or press `Return` to open full-screen in `feh`. - **From the CLI (`bananarchy-photo`)**: ```bash # Capture to ~/Pictures/photo-YYYYMMDD-HHMMSS.jpg and print path diff --git a/README.md b/README.md index a4ff3ac..7d865af 100644 --- a/README.md +++ b/README.md @@ -10,11 +10,14 @@ Bananarchy targets an ultra-lightweight **Sxmo X11 (`sxmo-de-dwm`)** environment - **Cross-compiled Xlibre (`X11Libre/xserver` 25.2.0) display server**: `modesetting` KMS + `ShadowFB` Damage partial-rectangle SPI transfers, software cursor fallback, and rootless `elogind` integration. - **Patched `sxmo-dwm` with native C/C++ plugin architecture**: `240x320` vertical `bstack` layout, 24px Pango status bar with an overflow-protected right-aligned clock, transparent-backgrounded `"Menu"` and `"Names"` desktop softkey labels, direct C `SW_LID` slider and locked-key wake handling in `< 2 ms`, and a dynamic `.so` plugin API (`dwm_plugin.h`) with preloaded resident daemons (`--preload`) and non-blocking FIFO IPC (`< 10 ms` wakeup latency). -- **Preloaded `240x320` keypad-driven DWM plugins (`xdrawer`, `dialer`, `calllog`, `contacts`)**: +- **Preloaded `240x320` keypad-driven DWM plugins (`xdrawer`, `dialer`, `calllog`, `contacts`, `sms`, `files`, `camera`)**: - **`XDrawer` (`xdrawer.so` / `xdrawer`)**: global phone controls overlay invoked from anywhere by pressing **both softkeys simultaneously**, providing instant sliders and toggles for speaker volume, earpiece volume, flashlight, sound mute, microphone mute, screen brightness, and keypad backlight. - **`Dialer` (`dialer.so` / `xdialer`)**: opens automatically from the idle desktop when pressing any **`0`–`9`, `*`, or `#` key** (inserting that character immediately), with live T9/number contact filtering, hold-`0` for `+`, and single-press **Call** dialing. - **`Call Log` (`calllog.so` / `xcalllog`)**: opens automatically from the idle desktop when pressing the **Call (green)** button, with `All` / `Missed` / `In` / `Out` tabs, contact resolution, call durations, and instant redial. - **`Contacts` (`contacts.so` / `xcontacts`)**: full-featured phonebook application opened from the idle desktop via the **Right softkey (`Names`)** or from the Sxmo menu, integrated with `~/.config/sxmo/contacts.tsv` (live T9/number search, call/SMS/dialer actions, built-in contact editor with keypad multi-tap name entry and recent-caller number picker, and contact deletion). + - **`SMS Manager` (`sms.so` / `xsms`)**: conversation thread manager, bubble message history reader, and multi-tap keypad SMS composer/draft editor integrated with `$SXMO_LOGDIR//sms.txt`, `draft.txt`, `modemlog.tsv`, and `sxmo_modemsendsms.sh`. + - **`File Manager` (`files.so` / `xfiles`)**: graphical directory browser with live T9/number filtering, dotfiles toggle (`*`), sort mode cycle (`#`), file operations (new folder/file, rename, copy, cut/move, paste, delete, properties, edit in `nano`, open terminal here), built-in text viewer, and built-in `libjpeg`/`libpng` image previewer. + - **`Camera` (`camera.so` / `xcamera`)**: live V4L2 `/dev/video0` (`800x600` `RGB24` -> `240x180` 4:3) viewfinder with auto-flash (`*`/`1`), continuous torch (`0`/`2`), digital zoom (`1x`/`2x`/`4x` via `Up`/`Down`), 3-second self-timer (`#`/`3`), direct `libjpeg` photo capture to `~/Pictures/photo-YYYYMMDD-HHMMSS.jpg`, and built-in photo gallery. - **Patched `sxmo-dmenu`**: `240x320` full-screen 10-line vertical menu (`240x296` flush below the 24px top bar) with a `#383838` search bar, `#005577` prompt badge, and `XIM` `fcitx5-t9` text input in `< 15 ms`. - **Patched `sxmo-st` terminal (`pixelsize=18`)**: **HarfBuzz (`libharfbuzz`) OpenType ligature shaping** (`liga`, `calt`, `clig`, `dlig`) and `XIM` support. - **Typography**: non-Nerd **`Fira Code` (`font-fira-code`) with ligatures** as the primary system and terminal font (with `DejaVu SansM Nerd Font` used strictly as an icon fallback). @@ -90,7 +93,7 @@ bananarchy/ │ └── 0001-bananarchy-multimode-t9-and-fcitx5-5.1.19.patch ├── src/ │ ├── sxmo-dwm/ # Patched sxmo-dwm (240x320 bstack, Pango bar, desktop softkey bar & plugin API) -│ ├── dwm-plugins/ # DWM plugins (dialer.so, calllog.so, contacts.so), shared phone/TSV lib & runner +│ ├── dwm-plugins/ # DWM plugins (dialer, calllog, contacts, sms, files, camera), shared phone/media lib & runner │ ├── xdrawer/ # XDrawer global phone controls DWM plugin (xdrawer.so / xdrawer) │ ├── sxmo-dmenu/ # Patched sxmo-dmenu (240x320 full-screen 10-line menu, #383838 search bar, XIM fcitx5-t9) │ ├── sxmo-st/ # Patched sxmo-st terminal with HarfBuzz Fira Code ligature shaping & XIM diff --git a/overlay/rootfs/usr/bin/bananarchy-photo b/overlay/rootfs/usr/bin/bananarchy-photo index c254747..2c4f431 100755 --- a/overlay/rootfs/usr/bin/bananarchy-photo +++ b/overlay/rootfs/usr/bin/bananarchy-photo @@ -189,6 +189,9 @@ run_menu() { } if [ "$MENU_MODE" -eq 1 ]; then + if command -v xcamera >/dev/null 2>&1; then + exec xcamera + fi run_menu else take_photo "$USE_FLASH" "$OUT_FILE" diff --git a/overlay/rootfs/usr/bin/dwm b/overlay/rootfs/usr/bin/dwm index 2921d1ee891513fd3b75a6367739a34a6cc06d2a..9ff02929d82879aa46d6d7bc7b93164181734fb2 100755 GIT binary patch delta 417 zcmX>xo%zIc<_RsVBAXc)L?(9b7U2;xjTT+0GpV{=VT-2zuaDo-wp`jA!RTVfn6P=S z`FBRfd6TDF8Z*XiK54l+p7odn1H-<}l{3v*7`Y~IoZHRVv)OjuY8J*9lV2`c&*-pu z=3;4Hwu-dOoYdmYhc=w!oUE{!WAcPu9EuAzGB7Lw;uS!=28eyuFfjbAVqoY1vd@+? zFf>fwxof^+1CTehl7XQGNP_@Owg<@Xtzcl7Fu8KKHsh4ZOLr?X&X|01x4N#vCI$ur zAl3k42_P1LVh|rB2ckjpV0D{i_blc#i~$;!0mK3q7#MPZv;|PQ07!$Bl>ljw(h86~ zkgfsJ5|ck3Ef3tYfq~%+5MKb|8$b*KFtIyGVh@1qFCcl42_Vye7z9j!bO17Y^Uh<= W%!~$;|DKd*6#&MDz-Gl$%NYR>FozKU delta 421 zcmX>xo%zIc<_RsVGMgC~WF~g*7ICsTBU0U@Dt_S8B#kpO{PzoS$WPfE!RTVfn6Y`T z`FBRfWs|2`8Z)MCK54l+p7opr1H-Y+l{3v*7=nOR7#Mz5F)&O3 zvd@+?Fmz1bxof^+2aq?ll7XQINP_@Ob_$T+Tfx9EV{+wgZN@p1m+n?(Trm0MZgpLa zO$-bcKx_cS3P3CY#UMUN4n%|G!Rj{4?pe%fm;yAc0Eh)HFffz=X$PQm1&{_Qs{zs= zr42wDWK;`~R+#+pXnEj~4GaudfcORwKLBD7fQdap5_f)4z*oX}hlfK4ATMprlpKAD9If^ zh<7`rtR!Qx=XI_I-LFk+LjZL&u;E~$k7@}A#{@}Qz|7~>(|0V%?9~J745SYR|IZC7 zCKh|uJ?#J1Ytk~LV4_d!elF^9zWA=E`F6UNe=2%pzHB!y>Td+l8vNUxgZXv`y@8jO zK}L^<;@)KpOw)21LniJKe&PGgxaP>d>S?l{y~6muNV+4irNiiws>8wC0@)eYSHsI% zBw9zXxZ{27-9;gaAw9e+z-&jLu;Zqg97KBLAZi4|s6>+Py7V$y;s^(ag{ai0>sTKAVJA7$>i(@PWL9{3#Fd|qtb7c|q)PB-G+cMLR!YKXra5+O(i`?-BJJ;Zhfu@37OyhPXUq zyIiw{=7uTIu5S+|O`ge+mB$J4h%6Hz(-FLI64J(oNLNz&?d+Fgx8?{g_YP5?CD`2C zMSX_Q;%*RimB6~AUxc$|3o3@z=h^X=QTl~!9i7DD{vUgP8>%aC&^av3zU9#~vIXIw zRFL7BzVfJW5kGlXb;64&a?;p1fzk%%e|n|ID@=puJuu7})!`JPpH{=gTAqpe=ny+YKFd$Zj-{B++7tmrVA zbxb`yf<2TfV=(h;H{-y>!674lDt|pOqTb8Xd0XgzBJaCH%h3P(lV#|6#xKS9&B*)4 z&=Sj4VPnSXnNj}=|xB2oPpl%VTqx7Ie-D(69Bl0aXaNj6{R&r+~K(7sl`>5 z)}mr-ElH}asD)29mY1TzosCmZwGjtCHqmJ-9?!cM*T1Z`w6ernYO_|9R(?)m3RW3c zs)%!8dTk8aSa)-2O>L2NV^w8&RaN!>F;=#wv?vnAbt>0Pv=(hFCw0oJKJ8S*cTLK8 z6$fw#c{mwU@Rv#+2{MXILfY|=V^QL-ba(0o3HhatzI9tFjaG0sG^tT(O1u+FPS9v# Y^r#YS6qh_bHOhs>TnU{y(@#kL13~%|4FCWD delta 1575 zcmXX{4@?th6n}TumX7hKFk=W3q=&MTDt1vPI_ElfoLq~+EoP!In}Fi!i2vgN(RP2_ z3|XS?HYIa0CNrjU>&nT@bPHe*O>~+ST{1POB>p)@=y!$GUR~yH?@F8e`rh~6``-87 z@B4F)#7E-c0y>m+q;QMPk_TYPJJRv%l;_Vw9f@(dW9ZrM(xn5hHGST-bU}9=6`<*7 z+1+=UWfuQaZ^GBc&-pu68+y8YU$&GhJV;)b1H!Gkxz1-iCrpzr%e66J41K=_N>$NV z4JWkoPQlQ>(SX}Ccz&G9wcTrxN)%OWtlZXf>-55txP zE(u%^dl-PPYU8lu9ib{{=$V?uY08~gPIQn?>D3w|0QV$vRV)w~*<5^-FvlGVEm7sK zM=n>hXdMvOBmw-bJV=IKtTCO2PHWVRi{7)y$E~_T>GJWl9C~GZH&= zLF5E8VUfluzohl4n&ZN`ns&Zb{W)#P(JGa*Y2A*6d19S`Fh)o!y#>m9BaFOA@Cb*O zTl|8#@D*}N{oac;r}}E+&3;ah$-Znj-5+lcR|RROp$`$WGkI{AYU!jnzrHd2Hu5$= zY=X((eF7E!_&2hih*T}2O_3$aMxw-ot*1U~U%fuY)XV28P64SB1W7XEW(-ErgSPcmI? z_f>_g>|S0TVSrm7N*3hJ5=>tcv8H4{fjNFXD-1J4wbAcelVse}Bt|y$DP*h2ARlb1 zvUkZM^@DUN65*81X}y6sE^I<72cDQE7u{=@Hl}-NCPAe!tv8Vtr9Q2%C!NasX?-n` z6#KYQX<2yc3GZ7g`pxARORanXo`NC*>grlQzf^*Xu83Q(EHv~b#DauBjg(*qB)YO2 z#$U3UeOD8Pi{GgcnM#f~&qD>WH8v=E=Lzt&c{nFGu{Sz-AZZf7EJKlHsXKByipN`` zTp1CMA5&e6MpQHXY|^j3DZ#9GNn}07_8S*Z_tRLx@qtZG^ud1K`J* z0Qo4((C{q=UqM-32GC>$@FF~jm5BL>G6aYI{U{GwCSz8iUW2GZIM8;T0q9305EF>0 zXv;?opw5>9^rHL;ae{$)@EI!Rgxd%fgNhL51iX4LB61j{OcF|Bxmk||h|$S@r#z88 z-`*Uxc0tdltXz>(o;k__j3AbyaF2yEhRJZcxp5#Y+M(mz5 zD)e>WyptF|8)I47nR}Amwsm)Xp$GM6EOGFL+}5O`0CE m%GcOpTM~WAY?-iZrX>g8f5gAETv%Fc1N/dev/null 2>&1; then + if [ $# -gt 0 ] && [ -d "$1" ]; then + exec xfiles "$1" + fi + exec xfiles + fi + ;; +esac + +. sxmo_common.sh + +set -e + +usage() { + printf "%s [--date-sort] [--reverse-sort] [--select-only] [-h help]\n" \ + "$(basename "$0")" + exit 1 +} + +DIR="$HOME" +SORT= +REVERSE= +SELECTONLY=0 + +while [ -n "${1:-}" ]; do + case "$1" in + --select-only) + SELECTONLY=1 + ;; + --date-sort) + SORT="--sort=t" + ;; + --reverse-sort) + REVERSE="-r" + ;; + -h) + usage + ;; + *) + DIR="$1" + ;; + esac + shift +done + +cd "$DIR" + +sort_loop() { + CHOICES="$([ -z "$SORT" ] && printf "date" || printf "name")\n$([ -z "$REVERSE" ] && printf "desc" || printf "asc")\n" + + PICKED="$( + printf %b "$CHOICES" | + sxmo_dmenu.sh -p "Sort" -i + )" + + case "$PICKED" in + "date") + SORT="--sort=t" + ;; + "name") + SORT= + ;; + "desc") + REVERSE="-r" + ;; + "asc") + REVERSE= + ;; + esac +} + +while true; do + # shellcheck disable=SC2086 + FILES="$(ls -1p $SORT $REVERSE)" + CHOICES="$(printf %b 'Reload\nOpen in terminal\nClose Menu\nSort By\n../\n*\n'"$FILES")" + DIR="$(basename "$(pwd)")" + TRUNCATED="$(printf %.7s "$DIR")" + if [ "$DIR" != "$TRUNCATED" ]; then + DIR="$TRUNCATED..." + fi + + PICKED="$( + printf %b "$CHOICES" | + sxmo_dmenu.sh -p "$DIR" -i + )" + + case "$PICKED" in + "Sort By") + sort_loop + ;; + "Open in terminal") + exec sxmo_terminal.sh + ;; + "Close Menu") + exit 0 + ;; + "Reload") + continue + ;; + \*) + if [ -n "$SELECTONLY" ]; then + printf %s "Can't do this" + else + sxmo_open.sh -a ./* + fi + ;; + *) + [ -d "$PICKED" ] && cd "$PICKED" && continue + if [ -f "$PICKED" ]; then + if [ "$SELECTONLY" -eq 1 ]; then + printf "%s" "$(pwd)/$PICKED" && exit + else + sxmo_open.sh -a "$PICKED" + fi + fi + ;; + esac +done diff --git a/overlay/rootfs/usr/bin/sxmo_modemtext.sh b/overlay/rootfs/usr/bin/sxmo_modemtext.sh new file mode 100755 index 0000000..4b62168 --- /dev/null +++ b/overlay/rootfs/usr/bin/sxmo_modemtext.sh @@ -0,0 +1,5 @@ +#!/bin/sh +if command -v xsms >/dev/null 2>&1; then + exec xsms "$@" +fi +exec /usr/bin/dwm-plugin sms "$@" diff --git a/overlay/rootfs/usr/bin/xcamera b/overlay/rootfs/usr/bin/xcamera new file mode 120000 index 0000000..e492465 --- /dev/null +++ b/overlay/rootfs/usr/bin/xcamera @@ -0,0 +1 @@ +dwm-plugin \ No newline at end of file diff --git a/overlay/rootfs/usr/bin/xfiles b/overlay/rootfs/usr/bin/xfiles new file mode 120000 index 0000000..e492465 --- /dev/null +++ b/overlay/rootfs/usr/bin/xfiles @@ -0,0 +1 @@ +dwm-plugin \ No newline at end of file diff --git a/overlay/rootfs/usr/bin/xsms b/overlay/rootfs/usr/bin/xsms new file mode 120000 index 0000000..e492465 --- /dev/null +++ b/overlay/rootfs/usr/bin/xsms @@ -0,0 +1 @@ +dwm-plugin \ No newline at end of file diff --git a/overlay/rootfs/usr/lib/dwm/plugins/calllog.so b/overlay/rootfs/usr/lib/dwm/plugins/calllog.so index 7090c677a68ab1abbf093cdf1ed76c6530f39cf6..b23e9c20e7ca34c9207754369e938a8ca567ea57 100755 GIT binary patch delta 29433 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 delta 29594 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

4{AJqDAb(l%D!q~yGTiSNtKGrj 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 delta 41179 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≀@S+yi2^` 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�s;ZenCah!NH+s71WW`3-(-hm_wRj06<$b!@`6QR%~K_UL|d?4@lN)F zK#_X0EEb_gL%716f?-?u#|9=(bgG4y7})38Ynf8^jjaY;@q_gdJyY5PsYssYG zF(~pZmjz9?@JsZi7>vaJbt+4hKtf|AyG$ceTKIZHQGD!QN3-Zyd$r15f%QfQ5=M-h zvnNlnsc_8qlF(sMA62#Kgr~h=gMOVw@t+GN?d>XQJ-1aNr$r6X({YcyN+T4sTPWx@ z3i_am7BdmW&>}`z714sl!)jBaP(%xs6fL#kGf_m^lg_Fnq5ztIJ4f?>)99T9Rx+NN^%VhkEO`NpL!<@;8%Big<8r-NEeNOeE80Lb=H=tLI?5 zL!>S?n;A@uso7+3tZ{aByu{%U37I|D+>K1Bc$R@R{`SBX_UNyMw1qyi&!duyog$x9 zzoNu3pBdJ|Z!s)W+ULbiVIf8u{=o2w5Wa2+uQFUw{+eVKYIQTs_?HVb+urTc6`0_( z({II=w5f)llE1fDm48?N@0%TP{-((q*jd0C#JFg>T4M#jMM!#Z23`5= zCG(MB_;U;cp_~?eo}PqhD{1|{Y@=BaK^W1SDj^aHjtm?h60_Xv!&w9;FZ#q z9@2I`PLM=qdkC0m;fuHvD_i*Oy4bq7AX~}pItONE{m-id5hK;w^y_GpmF!3klm|s( zez*}D_S1=kp07?s|=N$^!iw zOG?+~)s~dgg_OT@>t0E@LoZ)pNos0Jw}s9e_2DbPv(Xu`*cfMQE^*IpOT1GobCG~i3XJ&Lh(wF{5|m;<=VJAqvb1`GbPTS=lW73kaKPqhs&t&*XwHYKh6}>*yxNBZd zq4=Ic@%ME0d5%KZ?4oY#*kijQz1IxKA=W=eVZ?$PNd+KjPZ8vMH zP1D(`zxhv9X~VJ90E^d(6b=|9d&^q*Tuq2G#*Y%To!SH3A=wYx**Ut~Wv z5jUE?g|E|~_X>xCO1anTpNXfT5~H+ zb5TQUTdbjFoW*K2pE_Dr zZOUPf?-|%LQPZ=4gefXr1?zQVf8FE1vX2(5k}#OprHaQUT)srbU9_EIH5cSna!whB zyryfM^Q%oRBOLRXS{G5Ul&K9A-7)0^LUB>ftV8q{sO~448AW6OJcFuv+SDQ%<7kPw zre+uI^^-qWi?Qx8zS1TS4ie+w1z6-^KJ%=2by*05FwLvWLey17jrd}Urjk)aUSJfq z1zwU$pBDbKMpV$}jGK%$*ZqRtj%gkxKd?BZE}0k|vRz@ZH(744Gj_z9_C|~DtJxv@ z{N!Ubbnl^sFI9^aQ5bko!&0d_B|ySHsxX^XpystRPFPDri&sZoqKx}ioSg|n-zraF z&`Z;eb=uDKY6e3(J5VaMCOt}WDjn?*@8a<0nL29ZTT|4PRH^sWBy3ql54*f(e!Ib$ z{pY^E@+)d5gytC>6_O%{=roA4MkQ9*7lcTul{@4;Pq9-tMBg#(jcVcD)I*hTrh7@^ zj5Z9-tm#jt!0k*=b{Kq!m&CR}A^8UiZQ&hMPfR56iJG~@9I$0K)x-&{XspI2pPI)# zmGmmb{nc27l?T37^D@h0>McsMrCd?<%%O?g)jgp)dHwNXx@0@LMv#$9U_xBFnTZ|h zPnDDfTDw*iHQ8nrwVOs&pro1aW1uQGs(LDzf`6E7&U=AT+kygAGFUA_%nQ}{H8D<=EfjJ&j$9rf`i5Z$HddPXFaymySIAeL^$;2S+(r&3^Z3=<@z5YhIUPE65R5%V>Im z{c`F`>o1~@13U)(6kr5AJddqR;LcM=bQh%pVIANDxZJu=unmJ9l`qetkK2d2>ppfy zPN014;N7X46WnFxrj-#GeXijis-JaE)!DJZ6yPsnlhcdeKV?xH_m^U+$32|hWIv8}U(QD^>eqYCD)eYR~Tx;W;YI1fX;lwz2 zXSGS@=h_(NM#uHq7W$rsTKFR>*T!9a>B$Ar$QItz)IX1Q%;#}-p_xBxplO=+1*%T0U7n7fH8P&6;wXfg8o4SC)3rEJ**$DpugJ|5FE z*M_<@Kh_rbFMOFJw@*d3lczAoAGi7ycu3F4Sm}2rl0`xyS67*KIcCVt$FGq3DdtOU zDymF5-psIO-ed@rxi)yDg|MAV_RTn-QEig?x;8YVje~Qch1D7S6m**CC2Pjonq9xZ zCzFC*8wUk7^V7jb6yzepEKyE+dRAeQ7=oz4U8X@}oB4wV+kQ?}_=qdQXd_JM40}K+ zjB(CZDic2i9hK8DIW}cvbX?xdOE7oq1<}5U2n>pr(7ZN+1;U9ajU~}$zL=xW`y4uZ zAG0(f^r)cRac2FK_nY|&j@H&pZx-m-MiD~`Y399jy>h4?@9TF3lOWf|z0hT|+?Wt9qwkyfTUv@Sc~}!Jml=co4^fs! zCcK+L4mD$&Oq)YO7>SRBCeogxn$qRy&WvZ1CE>Ek!rNy4v3`t%D|zj(SO|}kHuFCE zX1+kTHfJkD`Iyt^=+W^9I#SoOMYk>oO$UZ@jY|=H$9THhq;r^XfM&2rw*XSkSw1t*wc(wOGY-2p{FwIS@Lwh43nt{p9RBUF zYu(zZFAl{Xa&0gzdz{l+lt6e;oSr@V|4R%}Z{`X`6Ha z((Yc?H`i5Ommmqt`4ulupuG(G!W)_Id#8|lex{InalMfH2i&OdXjxJQvy+~aXo+|SdhxQ7d>xSv*3 zaTS~9ZMyQBCfHx%@(GgaK}>tE;I%pGtf?m%g7%#rU8xHf#e z^>VJ?kL6t8 zlX7mMb2+!j7YE6{m~`MSvMN||Z@*-}YeV7U>-(=AxPkocYOA<=Err~*6@}c5O+Nb< z7N|Jns*i8xFAMJw2W%gS(?M)B+2(e z4&QT(+>(V#NZ=%7vG;$>;<1pTufS#|P4QoB-W5`K9i?of&=iL^CD4K>lPC&oT+xQ+ z&opkCO_}*|F$vw1CU%JH>seoy!-n}K^wZ&H?`xbwrc9{E(+GTEen(NYUOm11B$bw>kA&5()#3$DzMEQkT)=2EOl*Y zP4mFBBW(=&4A%xGEu7-UFtM}LTQN7^U+OBA+ZRFxbSH8#HxR#6D6 za8Wqtxk`IyPR$Q47`b}hkyxw?Q|AAM%)KO2o2u`No2oNhrMpcerMHwCO2A^Ahimaw zxHkN;stOic1&i&`RDIg*sB6PByooqd1>41&`&DRKRcKn(rXo+*hUbWjpH{`m6BZy+ zvjJZ9#j44W?2M-Bh<|W4Xa2$2U4ISP)*xZZiYl~0#3YY{L{zK%X>spVp&?YEA>e&R z70kN|=G_M_M6>F9Q&yB~V~oRuqp=diI!#2Ms#~=%7qq6CKZzrGgFIugs3pzXAcu>a zr*mzvT@E)0_jjSK+T`gOCGp9n9c`k{wNYkIhaS!RiMEcU7>Vy;`hGmVaIk!l*VddA zCFv)mk3#x92YT|ancv&ikVFe9%A#NN#~04;m~)c18IjWvAt$*PKDlRSE__X!7Fi7! zvU0%(J!Iyr-f625vWm^7S+!$R$F2zt~qguAp3f>Fci!I2XhmEjiG) z;LPFk2fPdB9l3B|biv_`FTVWb+<_|YG=zTEw~#A_!#v+o&SkK)ta&TVQk?_J#b0|sEa#TPyPEyv9xPPsJXFYi zf_9O!X@233!@Ccm5slo($>2XTHWhNa_Y`t_6@}c6Glkr)>&<*_YnsfdK+J~7Yz}#b z(xcf6^WE|Y%b;Js*Gi`iv6^^H-o|Up%8SvYAS55984fgDGX&2lO$45UH2v_5(D>px zK;wgFe~lNOfto&;DZJB6T^hky@0Pj>QmKMesT1~1vp0m(RhZsHWV$%JP;30_$_DS{4HmP<|Q3TXGt1N zJW|KS)s+T+Q|BPsl;Ct=X5)a>lpfCZQn($6tGg=1kVqF{LbskRDiZ~7U`xxG;1Ah_ ztQ68Zls4o*Kek_Culz7c(;}SviNLtnCd=_aJQkeJWmTJ6$2u0^;t1OpeQEtzQLUHl zrUYNs`NfZCMp5%;^^v?^%A+RR?Cj*TsE3GzVjJ-+Lnz4}KHL_^RUzLuE=nMT6 z`7%ev4?bSVL9de2ET>)YR`|-qFzSx2`9cx6LB7pAgc^W#9%B3{n}(=Fp6T&L3K?vu z=u9~#J47ZL=Neh_SoHZUQ%ICgf*X#RTxSTG3iwAyN5}sG@{Z9~iM&B$`_Y>!a6>{9 z)-*_%yxzSe+OkyKr(_L!9V*I3Jw5)u21hEI_?0-4O!0ifUjiOws7n|2nq=qGAE|AA z8YXjx!*kAjfU41*CUK^_A}S;L>SS5SRmU|M=3Nand;GYE{7#24qnZD!!<^wD!=oCT z2zmXF#b9W>&-$65zbl@U!~l^)s-t^fl%#bG+yTznQ<(LY33T zS9L@v)6(g_$?GNl3Mxf!uO_e_Dj*l z=B;(J9L;*3RIe&_JV1r*teCA9%`S@1kLzgsqu8;47C;M{i~5MTSXzt|3ShOz0_0;W zoD1kCp~qw@r6xXB9~R}Tphug$q;E2%p_mhPZVcXcR#(^ewsNWwnV4}U7+@}uEIoa56AY%I4PYwIA;#axPi?@ zapg2&Q*pvpCu}N;rPHJynX5C-XV9Ywd)lcPU2B({Gp@txgJ+-kqv#UQ==L{b720kL zj^#A*6*^mt-cbYTTbqB|0d@)GAGMhmq zJfxGQ&Rv!0BUEBayZM7H+)ID<5DN!`dQ&@Z;zw|S$ZiHlO|}MWG&J)>ZUOvbyXFHt zTQ%$OG-)OXG0U|x1-wK%L%@r)YZ1Fpu6<1i)@#RiHIbFN*e-g2{$S|XnK`@P`43VNz*QvHAuYX3j!7AhPIZu>}C z{zQPhhtiyZsAjIobG%JtT-}>lAqBSMdPW9I;WGxcu_*`IPP-qFJ!T@8RM7nIW`*RZ zNlEbiIYAPyyf!|+t>#4&pR0@Tc}L6G+eV;N`_eMo;48|p;D~`|Xg%A>0e|*odkMzo z8<88IW)+%-jP*&i{IYc7nE%TXDEiY`nYeqg8Xqe~PIPEv~@yy>ee-xX@(psC(3)^T!#@ z=FA1ulQr@EbR;MWzP_*N<0P~9-)h<>9K37dztzx#caVmT9=w}dvc;0k=js{Cz6EG= znd7?{|L3_If5s@hWhC77Nf`UqxxVt-b^H!*no5e^fnV7gsf<(j$Vi0ilSzu?#xsHU z8&3zqT0Iu{JaHo};=c-T$+7`oh%H~tZgp3#L{&pNqOOK3#uhA)`TAhP$`YH5Xp!RaoM&95U1<_rgen)C~)ZgeOyFYjT@Wq5h4M00@MJW;ysNUkUveP zMGGS#v@eJ$7@bG^f_W{Il+;JvR?!M(x5U<6gWLoL7muTA!=<)Gz@EN*8xb3 zwKNRus+Iq(eLzj0yvU%+InDgy7I#Rb!^I^M#5G1+`b8_6UWba>m|U zW9y29Vra-H6oaZ7|DGL2yQh$X_(}EEr()Q$GyXzjN&wqGUiH6V11Do!G8_Y->FUnY z$><-kjc)G5uAVZR)Lr<#OIM4~Ku8#EA~Q9!J#fr1gmzJ9AXu}Ahk-M*i05p5DdL$B zvAuDiXf&BvP+H5#d!h|Sdr0N=drl23m@Nyr;4X7t9~m*Je%q;mh1eeQi9Z?vuT9-_ zP#Znj-Nc`4p`l}H+9Z@s9sH`R)C%sEIn;KH9INn`PAo9zN#lP-{367Q5Kls4|4P_4 z7SiREGaL6o@{{W2JBwrM=59R(6F59+v{59M*H1kqDe#c}1GO_Z{42;}!d04L-z1lz zlNv{#qR$bhL|@D{4a^*u;5D^(TSv#+b^kYvL7FviIyBu#;7Mjp$iYL;Q*n9l$3Y4o zk?e^ZymAmT-0U!m%1E$C@NH|sL`$jJ`sDSEMZ)JE`S{vc6jy-TvJq8f3w)4EFuo5K z)pkTbEqmfNdvaXC<1#Tq=Bm7oTplBr!_+E`Q(+jR1yjZF*DMe;@FKHQZ{-c`9sIYY zo%N1<{Ib5J?0vTKTmbv*oQ-QsYe$D1^?8lfiETR_yXhhL>OLnS`Ys$`tNAyfZv7=e2Q zgy8mWeTV)<`tFAHMR3k%LWJze`5WwB?IzII4>82 z%*{Q7hpB_#T^d(+(*tWI;-m4l@UW}anCa|Fa~0bgua}sI1h*Q`mHbbYG-2n}#1H7I zqzUIT%$3|CRB{NnO^Fp&lwEB28r}X}bdUt@$`+>8X? zep1QAe0YIq+OIoFMUfL5N0rb4nW&eD(2-2!#%2<>rCw9=>Tsr=|94qvzH7tIWmKV` zbCU|lz<%txOaAg%!X8kGG)&kXGV#f}I1CN~q&AkCtwzn7ZkgTqr22E`+WER$bSJIf zQTH4saB5S4lOsC@c^2!Z7L3C|$7&e{%T;olAISQIIL)m0Q%oV`XX2RiTH`k9ojTvBtQHshnHpW@ZSCJ<-M!oo z#A%TNuC1hmRn}zp{K~9tl``7$1l+vo4E~ zghQ#<^zMps)6?wrtdC*?hO;xMve5YCR86~!>2qiCOJ$L=zo0HL*U|BRfd`IK3~PqB z1Ac<^j*2Jtsbx(U#s7+dMD*HkF4Cem>+4>`VE#tJIvUwC!q9Of8pK>-V9LtRJIg;l zLmMS=56#1Z9fNz#&GCg)PkH)q*>ntm5}IgeiGDQJkUwZA!5#d{>*0BUK_(nY{pQ6~ zY>i=%m**^_j+BWm)rv)8qgX65ibbhqv*VpHr`y-w&U@Z+fX6R=VRjaA!Z?MRl!Lsu zvp-=%Xy4HXMXtjKtv4O9!8{OE@X|XLL`4Ktm`CL8{JC2L^StN)x0eaWxXq?UB0bB* zSZwitYny)E+??h0;$m|nD{E@!AKvUsN0*rDT>evI;+;@XgOc+3lFfrH$r=Jh6i4(9bHeir8SCVB}6&ri5eJdbF`;VI$#@QmmB;~C2>NnT<( zi6yM2ns50KV@Z|?hdD#@gdPGtEH%aVngU^Z^SB_v5Jgx@MXfn%h$GrM_`1@Uc2LLt zw;i;Uo>cmvNIT98PaEzy?$@K<+*iuUN%6@W5_YHdl2w`HDUT zd4(EjhCDm2q-TUoI63~g^0;y0IU5hJ%6VQV_hT8;<9B-4Hy_>LTzwEfn>o z&KL9vU7oU5$tl&!7s|hs2IXy`K6$#^%HCZ!PF@x(uTL#;OQa`_XyM~ERZ2Jm?NQ}e zWg(_l2j0ciNNjoZ*^y|TQys)sM(Z+MI$4gb3(yX4W4mHI=3k3IOERa%d}S+fLEY2Z z@w-k8=8$0eEznV*qd>pW&JO?jfM|!Bz5Df8kxb2sN@GRKwQNG^!X6Vfq$~y7A@uN< zek)sC8XWZqtNro{@p?u=BG*^g7NMW-u+0;}soYV=URXShuIH1WO$oL|b_FK>fabte zAJJzT*6*s%xIt={t~+%F@tGCVlNjM*8%#qT1rA53U9cK!{!J#4WPwj!dg`3XUN0q&V*tM!}poq)rJ6p~2_-qLw8v#Xt z+u8VigT?r91V9#O8DP``+#mz?0UiR}Iv8*J79$ zHsJa&_hyYa&sM0Rtx&@{4ZGxea1zg-FfjRFD_6^cu-wA)M-2bOJ-5zVa-H|Af>FyW zDluf>sp*^C%hFUkV~v$2Uc{DP_a4V%|A#WrsQyFgoalIVeFBePMXAU#SL<6Te!vXi zj_^~AUvB}v1gw1%x3}1!8=(%3ZBY`Qzh+=(-0-sDalnktxDg9twSg_Z5hWk4am;fT z>fkKYAp&)xC)arXhF;w7y(bJiDY*A3oLbE<11C{mYY6vTJ>&Lw)jrPTd>7gtV;2`USFl| z=}xQo&|r_%F1#_g6~;<9->;fKZg|%b4oOW*Bx?I-);yk7v$~sM(--MSDC1=ej<}Ki zR9Ewm9r2j1B%wd!dWVUBsG=WNsKzFbv}h>QVx_$*cz&sYrukM#b4$faZ+VXAapG}s z@_=rM|6LgltK|9l`mp4HZgIZ|*Cl!M^6dFr!46~f)F!s7*xzprpMu|9D@%boX^W11 z8y30{t1<8tJFtlv1Mmd2V)f?!Jp8I0a53<0;N8Flz*_++?CWL2B0k`3a7fTS+4hW> z4Gh|t;6;C2X&%o<>BadXEY9)R)S}O3J$tsy$Mdw_2cObn2Q0+?D&XEG_V+R$Q60xN zmJN|_24i`f%qcQ}qrUq1ye&Rg85}Oyo{zdI&f)n|y+@)bh*rA?3U~e8Et&LpOX`&v zDchJpoj*Cq^AWIZsEiZm^ZZX7gH0bE=M+T(zRQUQy{MvZcIcnMmu8@8E&(iEK;&dO zh^@)nAWK|jn0!dMs@Fq;L7{M8fi^+eh0V#EEVB0KJXdeLkky-B<=RG>mFd@67`&wu z_Y06D{!WIxQ9(k6W7`vZj^}v(cf-3lr?CN!{nHlu^9m*$%Vi`?k=(=|$8e43Q*mX{ z`~lD3(WhAwZ?GgDqOvccCrV8GZXtC%?%Q>yF4o83`xpaL#N$T@=5_tfOed=gD@h=a zEBfI`6%WbK)Ds~YipR=1(a=*>lx*fsDqr%u-7v+%LX5xyk1KwRz(OgQNEDbLV3~fw zV;gI%C3TP`^&|ZLm_5udT1ctUgWX`7GF5L6HlGVDKhqZ}Wz z$Mn6Xc3n&A{On&9-zgtp?UI`8S>XHd-**7#0V0IyZ)zc9M9+ISfB6uO~Y;Z3u0`f zOsz~2{J~F_a6;v4Linx*9d+0&bl4FdTnp+{5^Yzv1?}|Hy}aGs8B5!hi`K7ejN1AB zMWvTe{53UgS47vl>t=Lk3VP?8lnsK)X!A*cDq{eRbMf2q{Xy(rOGrEdj{sW$0{}1P z;N}As0)GZv1MI@WSst((v`t?5u@@e{Gx6$=%3$!Jd-X?Ucs@h->g^$(m+EkPsHfF$ zB+E?v9lBoeLCuy^l&ZqtZgF=SW%=m+Amf!!+*Ck*UafxtlL!H<5k8nFU2$7C}| z`rha7d^~54$-(6{+&)RCf@rlnWry)Kk4+dCP*I>7Tiihd1Ry_DeCoTmR(QEyY~E%!K>PT`I(I~A_|W_v-T)AbU!3Uji?6s&t`D_lH~ceDElWm^a_s{B z8?A*UOnM{Q|-jt`@HP4`Eu1ohd$45M>!MtK%Q*h#0fe zod5(R@5Kl869D|9)-D|H7maSdsw3^^Rqmh8J3r8Xe>(5{ICSyTdFL0GxPNN3=NC)e zA&{ketH|eF9qE&%{R?k~TZ85}e$t#oe)iW75HID{x#N~&9%Kew!?7IK5_qzV|vUj=o{L8AeGWs;lUZG=K<33K?!d8>U zP#7OrN+SpTFx266{kPx5!8+)kk!x}C7ydQ{D7JV0mRgV%{Hqm<7@1Nl(_MjW>mRKw zCY7z{pOb2MXwpfw)!`RA981@PhUbOV*f+1{pYGI-0gO;>m{uiOPog;agNyy*7d`yx zPHoDd&1$_K;Eam?1dc*Ugjue_K(#{qdjNG|n(`@sA2%Y&PGB$Qhb4|5mblEP9KZ1I ztJ$S?{_x*5%K1Tc)0jhk?7(>2-;3CQgP(RKiM2WSvMY1gb2fg*mAtgS{gApbA??O0 zCVgB}B5)`n#T-n78nbMVBM$$y4!-+}ni~*L_VOdIX0tU8UVAlDk!ho>9X5W;RaNW` z+X!rHn=F5}(j3$H_pheJBx5VAME88B^NR=Ue8*MIlkN7?-EjwLckgy=l34w~)EU6; zSc89MZ+5AANF4po(3H?apvCAqW(;Lh4rp<9vzKN+qa(t|>uQv*dG+?Q|#x{!h5 z7HlH@*g#&(4M~(=>;KX=MLQLs&k@&SHJOh4C#T90nw&`vIys-yXSUTbGK&Ta7C%t) z_>$`tk*vdr-GsVmKur4Z-RqHL_S5#If!wHVu*P2+&?M2>_9S8|qKr~Zi4;?Y7=6@l z3Mh|GiUEf3Kc*LWTq~^faShE07DNN0!$r(T5tB4!+)zvxV(Ji6HiaH$8Gy=|=E#|{ zP@*om_$R+fV{hB|m%d4gb-GwUnE7FXJAj?$0sg&jvXYBz>-0vLY!Bc>DiAY_(OQ*$ zhITHLuYNIjhj)LIJ?<0RL;CI7m-GzeR4G^V1|`E5QP>l?qFVBp*X(DJKF z#}AE^VVJ>8%K&Uxk>%~#)u zPjt8|fn$`4@?+f0E~Qqjp9{(_zJHtFb7MZcCd7>10Q0y5cbUI%-OHTCPx$T`z`y?b zyA!O*&CkC%C05(>r{P1xd{^s}AE9(hQRXGFVJ}Ks)b;ZWv7?Tup z)Ow|II3~0!`pCMXYB=Uq$A`{adkC8Rnsp^rv%0N0>;^lZVas7FFjH+g09*f^?LpvU z|H+m`6d(56o+9ia0GT)WbS-ih3B4h!>LSZ~w2x9c(f6=x1x zW8;rGmqnI1jt&h#B|p|RnLTdfq56+w9aXv+T9~m)18}#Ef5DZ;?zHiZuBEKg#`n46 z=lI0)7%6n&^e2oYiaRhoT8PCb*7o|K#-a6vVIOy{90CPv`$KT`i}?9&^^$ePAfrBG31#%*)T#sks9MZ-YXgetIc z-ql+~RQ%Q6l7RA(IKfKKv`~3l;|G6A`JU&>i{2b|>G}mox6j zZM;Aok5?fPq(3-khc>J$F+gGm#6*5-|9A|%h5fS)FW%18bJ7Fj6fVsNr6$k{^pCf3 zc-wi>NK7OxE7gZB62h;8;85zTC^2-@%!l=Z|PmZBj4$PS~EG9*0L` zdJ_Qm>b(dk4he?AhlA!&rQ&t%<{ZKY`$s4F#M0g+O}JdAtntw%SncI}g^zB$tMdV3 zp4WJi*u8GP+>?;u6Sw!Ou!QpgiHVu&z8H?y#GvgQ*2K%Pi1Sfh^G?r8?0z>N=FQ*m zw424L#)o~6A9>VD8lwA~loiOks`pBO)2#l8hRfY5E0ab|(tTo|8%q;auI{w1K)W3D z=^oI=Ir@Wlp%W12F6?H_@gLCF4_P{e`A>E-(jB|x!MdAarOj8?e!l0|!I>NkME5phYTtJ=7 zwrE-`fQaGv?4|@=0(fHFUjuY%F+xd5|L!6!At?SZ7|uW9OEGv{5jYf-F!OO8E$=++ zcyR+<#N-ptx!&nsE?ww(=gaz*wh`usP>&k*eCDifyT6tTF3yatAKHDuRco!j=ZZf6 zz8~0+OvSxxYoDlvPIrnHU`;-;z|Bmd_a>$>L0^k06S_0A+!1I*qvM&s zbt50;Wh-3#x`7OKzk`2$ASv8~WvfrjK-%(VCZ-c{8>2xpt!oAoFBe8LEW^`-m+W7GN}59OaPo;ocG7TMTDOGgJkYy9mkp)o@NWfrrx*T!7l6_SUVP%b zALyQeLdp8X*$9^)T!QcngmnO(@rhITBi}zXB^G%!Ow>W2sQh8%LGWNG$$v;VNV}Z; z5K?9Q8oLM|FopQ|+xdniHqw}--=Jes8k zw&U24A#aox2PJ-%-OK{q1h8;t!_B{q!|A2(<>tq*eWGS&A8wa5()ZQegiC?0YPNqX z_q9FY_@%(Ly>qlD3OKX+(`@a#(1xV7EeGf{#J7Vvb#goh^t;FH;p5JFR&0N)c#c;6 zX{k1|jd_c5Ov4UAaq9h^2)s&ApY^QWUS6CnF(kIp@tEvToH~F+nx@+>GtsBgKHK#` z++K)nMQ#h>W#$fh!V6#76HdvxIs(_Kx8|&?8ZLu2gLe0zeYh0Y)fIuHq~`vu@)d!E zLyv3sX_K_Ft|t(;mH+ddXalXY3)}~LIMnIB+FZO;YwUAwW6c+}%c0EF@TJ96JTiS( zwrT3F1Qe?5x_xwOshq(tDJJH2J7b!~*8~*C@76PYXSdC&OWTlJm$tFp9@aD)K(x8a zCB^ew7(Nd?D&y*nOy7ZRd3F0X&ac}?H=l;cc6(IQisI;j9WTuTORn*|N*L7tp6PpS zTR~mgvqg1@8ycD2qJLL6Q#%bX8=R4j?O#EbbNz+{3{w8iFix^h zd;{SSDzi`g4Z=F<3r0Si99HY;M)=hNx)Fxj$gas|`py|&!(pM%jR5A$&NeseTXfW1 z>tkbfou<}^3gp;=H?5!5U@Dl6uMjbPdyNg?A28M470qBa=GM&`%8)Bl zZ=Ba?D#&YK%v&v#{V&G(V2>Kvys>39quyefUzaz;TOn(zEI{FfjZaw?!$R+UV-Yw< zj?8>EYb~Sx4@*&9!4Rijrmk9uQcD`AO z2uRg1sHWRBuTi~m!)nTrXUe?G(Is&ZaCEq4H#V(ztYi#enPrk$OQp7Ey_Ei(%tE2T zym&}&(67=(AU#X}es>rS!9AC>4DlyjVdfp6S0qu1;}u&$Z|Y`DE0V%^+Po&vOS=hZ zMxyt+81tNNR-zXo-2^(dTW+q9)wIyw|3GKc3=!05uRR)tgFWx4S(q~*_ZryA?0;ywv znTON|kh-Q~35I+tDBT zsr3~rir*e2DP@0nBXFqVNAc;~ax4(aZD-oTOeD{TV+k^Im`QPmo8c8NyTdW|uG>eX zA1!zX3$YbREFiVKSWsa?Si?+DX+P4YK;TXjenH6Nga{wu!#i<%=>fwB_?C?+{Kk#R zJS%)pNNQYG6=w3Wj|zSrsK|!}eXWqmk_^M80QNf2x%)(P6+#+>&Ih6pqEFjD2BHzt zA@oTA2&@en-h^pPr!sBRPIS@ljKdwsm`MY=Fh^lV_vME=a%aJRS%$liAbw3gx-lmL zbB}i9l46~~GSr9YLbf5)f#}NpI}6Z_`K6ZOE@Y9p9+}f~BF&+WEG?dCDXGh9EUjC} zGpX+c&S>(r@AW7mx6Y>md+Wn7c;vRQIP&L#GTc779-W>4qqz8cxydW$_lDtre(y*9 zhOMy%vGOou9>G5m*gEe+>@+4G*$6EPV~WL$@B)=Q)~vEdqUU3II@*tc{>-YBXs>t( zR4YKWXeym6`$0EA-$iM!xChj)u#^r_yFgW1H&)TlVTH!sk>cV z!-OL;As6}jT*8zvvSj2g#LWX|9Zqf(!hh2x)P|Ax#2dg%P05z^un~_IPq#E`8v*u9 z^BuMepM;T8gWidEOUjGI790dxhctp{euY3q>VXs)3_JyU;pI3N`i2w>~I^_Vqku&5=TTdUC8Y zrI4v-x;0x0)%RrLeWX{+6iz9~jPzN~6jQ2n94i%%ZLc`Z$u*9bpb_^-(1>1fq7WTH z=IQnaj^jD;`1SCCz`9(hGY4@XcdF=wO82goi9Mkgz*@8;FF9yO zUU1Nk{1Tv;UhzE8CO)hdwMxT4dbM_gMZpthA?g6%B`o0|!3Yo&YQDi#%rCaDgHYlkDe-v4w zI1BVfuUKIhDxyhwdc8zVv{N|Kv^Hr&0aK@h?G@ljwA1xYg7DwbWIX4A?o8;4CTfMx zMsTD0Y(iWNQM1=BQk7IM2hZ7H2CfS8UF=T$;0UK*B$IV;;8_J57cUMB}+ak@>xaH!uTxglS;)&bz zrS=T1X0}&syG?Jq9g0^`L2z>O_YkbNd}@;_X{=~$9Wl!7;wq|Vx6qk`81Gu=w#npG{SAVdiF? zT34zahb;S?h^fue|M6BBPZf8xp`YEuRUmP_Nx86)zIuyR6VuC?pVlk-HHt@y4ZaPB zU+k7al|(UivveLYjj97xMJ>n?SJ2e5Qda8`6M8X5p1~{MT&RV;IHV?Ppo4@Ck*VLy za4k38wBj4?bGPUfd7$&1EcshP*C2MdnQ0IEwjO@(uC(&tL_yy@R7tO}VI)apUv&wu zjwH#6nZ4g*l^)$+p*SB}WU1a7H@!1Px7-}!ip0mT z6u70w+_axJyIK4{=O*~Ca{r?AsUdya?}lWZ%HjcX1O~GP2aEVlJ9$2m_s|2QDDz3F zw2|- zs2%ujOekBD`!j14+B8-8ZzN>n^-X#tpQ4rXM(b-<4hf@z07P#L;n&`%P)MB-g|QnN zuSZ=%d_2iepTV;-RA9BU+)6_)L&An)F1U)(9v1EKI0aoiNm^!`&M++GhU&D z{U?stH?Aoeds*sam=%2)=-?VAtGn-egucYafn|?vr zCo#g+1Tya7Eo;`VtX%utwCeS1n8LEh9*545*|K_NWhLdKk@yXf%$7CJt^BVc-l6b` zI|+o46I>z$j<9z;*&I6+@6Lh2!AxJZzH0jO`V*s)$XY@e;g=7P6YQB}VOla7!|qQO zw8>;5yER#;N+tztZt{tv$>auMmnI3jR9N(>l7uf*UeBbm!G&ZA@; zGOi<%xxh^X&yRA>6h(aD+^%S*PQmSqVj2}0`;k{Mt0Rgz9Kn4NMQjlq%G_>Ha($7E zNlA-1t>nPuRB~YIibO+Rji$9o?Pr+%5_K)H&lrv{Wal6Zz%cHnG<&1k2S6|M&8qe)2XZFT(rgG+ZJl9yxT!`n4ix|sT z?h0y6uy818dvY!+Kc5^$Yf9lRFJca)aGmAMc2zu5O{qr-qAsLyyB0Aw)0%0HU6Z)_ zMU3Ifq$b*un#tVWa;9$bKPYiIi|Z(7u4NsdMB`Li+9y+Ko}JS;lwUuM>nLL`OrtRY zDW+z+8sVeUx&4cnFQyO1g81y=*#+M2bgf}xF=;IQE<_wa_-W)4jrvAyX0y}|} z8}wr_kUxm0gKJ(Q&N@EFot81LlbGEyW)I;m%b3%I`-hC_B6&FT%5r@&eAzw5En_aQ zT(^wrW;uwm<8*A}mqg1t!qKvniIuMtIuL0*N8=AFX?#i3maJ|IB=qOL?A>rkTB$dq_BkY+-#w4qxj4aIS5Hy%>2Ms#-bPiQu0y(`w zLnZvyW@7AwPvh$$0S+qKj20>)TB3|wsmyAgWXwo{e~>fog?|?Lk{$^0`{1`W%Z&Sz z;UA7Q)~bSrlSt1^qwx{Oob;f<0@|RM7&Jurf`*EMpusi}G}IRd4e|b+}YVHx}{ z%R&WO;4cN8zc^?(13zjh_~F~02pSY((4c<`jfUU)^Pr&#e*2oBp(GGA6umxlVQ;`1 zy(Y}q3BUb&xZfe~_lBS$?=2LD9#~UPTNZ7+37@G^8gt$TO|J}o9@0C7P(el$;#&_J z2jN#E{`H2S!3aOW95n2Q&%6`jt3H6ngWmmq(9i|Hy(tvm-i-WB#F)^6o;Dz1KLSyA zf`;>l(0%X^eGoKg;4f_pW!MY95_I2(s0jX=2ok7EvL6r4P&=8UE16pZA!if=6$fy{@Z;N1?3%4VQFt5Ya z!|jIK4|fRe7~C1ScDOI$=-4P3OPE}QKS#ddpKB;Ae+%mgL`J5CeASSjJ><_H@=HVh z9Omhvh-ZiVm*Hcr!YrB#&@uQAjv>rA_{O<}84sU>ON6Tt7UW@3zdshIEI`s@T1xmP zWXCdxp_7VEgI;OAun={gu>H%$}Jky(ZgG;jE~3{C$xJHx-b!u#rjh1I|Liho+4;oslo zKWTvB|LfJyWgh-XYyRIGLkIDrhWya{-h%n9#{9lEo-j_h8qf)#tKrut5T*le2jVw_ zJ_a|;7eJf>e8c?1e6J(E^B(?_2%m*J4`+dUq_A*~O1+@+gfX9-C!|$aSU^%D=**_h zB>X2O>4c+hm(T!GPUmBX@Nof2SJEj=U4RIV0+Jj-r#5vuVMHNG2`|IYfD?`slF>q0 zA&H6@?w%>aN-!vQ6hi#L9l9j!EF{TcIgmIxV}!$nBrPHzVd~Vv-@!UVpF$YwBndS% z-KjvLzt`Z9QoS9%J_~$s3Sn{)NeQc-iq4xVloydSIhA8Z;hiEfR(QRLM9FJF*HAh= fVh4iMl?k6Cmz;`}4#9;KC6!{-F)|^sm|Xc^^>Wox diff --git a/overlay/rootfs/usr/lib/dwm/plugins/dialer.so b/overlay/rootfs/usr/lib/dwm/plugins/dialer.so index 5eddbb98f30ce0394d3b9e65d6f9aed43786b82b..1351e5187cdb5074d743546e8880754be1f5f8b0 100755 GIT binary patch delta 31476 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¥h|7^Do2}CMS@giYg^bvOQMWOUX0#9!^^IW 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 delta 31239 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.rYa%k*Nd`7yF~kFnUJ5bK-oPM@Cpd`sUjb3JSfp7?6de(Fr5>`$APK+MK&v} zvb{7H68~i?X!n#pWz6tOzvA#nQoJ<#iE=+Jl!8^PeIWO3!Vvo>v+HU#@fg>ZJ6Y=S zd=k&4fDbI)@8ngs3A1cWkIb~OMp)(3ZLEr^wuoG}F^?-lzPe2av0C&#NYAyI_4BY0 zW((rUSPWl3j@3NepEx|6^(i4KaJ{d=gft&UhC^8H!ySUt!tH`{fy=__ zL@~C&E`aL+?_45;HPlT)FTj?aJIV>2<24MOt@@1IC!A9D)(pdPzD=;0hvp9INYgw} z=@m7Dq{QFN19Ov{3Vu|RBBfQEU)Lw)#yO=H)g(%(r_Bku(N1Za#svraNU2B64DAzE zM$f7Gt$Ie|W7bU?{Ve^{`k4~(_E~%61~^qvRy|%n30XH=yXSg3rLC?WDU~a>vdY$4 zN8^8$H4z)4DWDP?f+qkALB(jmiHxFv>41hBLP7v9)Og{P38eiH5rs8$^Ha09b4TUl zYB+B%tGrlVK85GX+Jvk0kGv?&^A^)=m-%ST*>WzKw;dNr5)qD#Gs#LaKRj$wniDDtfV`?B5x zbldDw|CWne>Gw6tiWHvH#-U8H@wrhhe9)=seE;gm`3gM`D zVxnGVF)J;Ra}`+6N_pn8n71ukXDjL>9eL)km^Umj{L`YFr<4cSv4>l^;6B4 zm}8XHU#O?>+svL^o1n7D%ioGolnqfqY-9doSeX3kfFMsY7HL8BV{FCLbHNSDJn)Z{&gS< zG7A|sE9!$dj0u61!k+|x68w|l&w)P&{(SgV@TCG|xr?Y6_SV3CSuTLrYQDO| zZN6cYO?1>Zq*HxqW<{@u753{?VeDfSMw;oFr=#6+OzvR893!U2R zNHH;XNis2n6Qyj4#z_9YaM~{4KgD#u92P3$%* z+$h(j9uDH)ic;vf7I}S}u*npb8`L2Zo*fIb6E$tZc9ViXDOIAlmCv)v+60r4Az`4q zC-z9XU|*|O@E^nNg4+ynX{&aK%f2c?zCKUL^KfZ!1kPg@ZJzi0+EHW+!5l-64bW9RBExiDFJzo8V@ohbDJRXf;d}yC6AVew2wFnJ5N@ zxfX+-hM8&zo;+0&yeKszLjB}k+#cHfnTX&sD3zTER&@u{qSCz`l^&;g&vZ}NC)Eiy zmG5P2`moNes1uATPjE0Q>eSM8&%8AHy1|)7mkiD{I&W~M(P@J-jgHgIDP1-D3<_NZ zWA#mv_&+B7oBz>L=|5Wf@E06z(d8RR-EHW%@wyrh$nb=m!y-2!9g%O!UUVp94P=y&U*e@H<2=!$4O&+jC5t zATv}l4In9}I4H3D*x=8JPMaDfi?-6Yr-sP_taQ`V5Lu9o9-o@dy-n+A{%Kzb_o3FHB3-_}HDh z;qs4ewA!4z(P(q-hRMdJf}d)xi6p=8;cKFsUo1a56y397TnfUof5h_qN6}5yc4u4m z*in6}qp-pR$x>_&2H?KX2)|Uxl3BAhCCShR1zjg;lA`$Ce=HP?gbd;Ch!G5FzerXhCz^3(EI6F>o<)4bCvW%J*(HpN}qo|EV0cpPw$H0JzA%BiLxmT{ z$ns4zTNN34$UHPBqaicubb}k0*LZ2cqHNg~bnIUsF4d^IdtNp@Xs()WQ+1W)8tHM> zf;5{^#z*XCWALGg{g-!S`|i$t99k%VI$H*fJ%#%U+~qWUg{!bl^!XXRyY4Z^Z6Q(G zXf}vl%yHN--WQ5#*^Dvacg(M;*>H-cM>%ep966?&sBGqkTrvG<=E$z|%}3RBYA!mY z@V*dYtXH$Du2TKXzEj7UA6JC;g>3WVitxTL%>1|_yf37fA6JC;g?O_=J%u0sA~XrL zN1N&Vf=KQ)`cXl5*EA!;@rdczG|lFiPc zefgW>`fj@q{XE45hY0?aq3S-;S@eD3Pm{kEM{H58!d1H>yyvwM(cO20eGNsJhwlr$ zjcf-Ve8Z4UdUmf|DNfH|Jy&BjX2 zo;UgH(hrXu6^nW`j^4gT6kDCVPFQCA0wlOLiut`mx~4iw8BC~6+Vkvzn4Nhcf~C`LP>7=osP z{wIoVPAGakhGLs>v6{rNj`>#x&>m~VvFODC!+(wB$v)X9v!biVH7pA~-JtR8wdiA7 zGpnm+GQ+dnA|kN!G2JRCU-QlDMEcKY7_3a6=H%aZ(S=j_qy7RH7K<=+2BzI zl~Zu0AvE=d(QUyy*n$5rz56%j9hv#uQtn!4hUvd5m03ov1!ZJPE;!3fWRIiwJq`|j z#r;g`?C$%6)Rz$AQ?u%c%u|)CiUTsoZ1w72jmj9t{y)<%U+kmVUG(>C0=013?nf5P zNuA@bPMQ6km3XG&4#%M`t{4I~kwj8=yr@f0jDtJZM|mr+@t&$x@UU^iysA@YFPIag z=3@NSA($!@#bo1s96ym*OHC4X_?4{zd!H;k~y$bzQjPL=vH2p}> zMAP`n!MF8)&%s68n+xU~o|7~?RPDHMt1>FGaiEl4*R#qfd$Luiv!?2yDhk8(PvvHI z>@glN{etRNA;ZSdT3~-NcQ9S24%94>!ZYm|xhYP$>#A?*S>B2EA-M@oX@6E9X=kfHlhWetvANw?ng(an570YaT`47o*`srPoeJ)$E|=1L z>|qa&aUPW0RQ;ho2uBsILL;s_FJSgyvx%(~cDrzXa3OGRaPv3dOa|@^9PFGd!Rnx7 zJPvB$NyF(*H#qSaPJZA{!|jAy2{#WeAFc@b*kt62$>@+L*R!wHZ}p<={S6aezA5e; z>fN;NUpK|A2|ejEvm-P~CC{mPEXeqK&x)JkYpbCP7UP_J@hV=-cHf}5#l^T&rnbVX zr;3VKNI$VU6Z_#-oST!_y6V(LB*9+I!k<}s>SX*h^=`8qD`~Ew?cJW*WW;MN4yEU= zBMF&xBbW8mJ+CJHNZrB}J$2qqM`pdM=@H3CsNJC>*AG}DY6o~X9WAI5iwCsgB<%*` z*x|fOsv;q?;rn-SXBeWy!h133H_w99UJq24E@U$rz5Q+q&h41^Ot+xp9#K4_^eu}E zk6K^4Ar>o-XDO<0h}y1Pa;tFBM*3yeY4#M|6h92{Zd(7Z0UKhasz0>d6yHM3#+kiK z{G^z(wpQVYg-LSJLrIQ>a2z+gg!^B+DNc-!j2g*%HzcZfcwc+9RUp8O<_WSGsYn!YXrUu`|wZ*j7f9DDQ^#`K`ih z)|=w(xFy-3RxhShNOTnM8wmwsiNcmv2H$lH!N1I+DfVt^TS{WNy0vu1+%=wWn{SFe zv^rUy^CTpf5To)UsUXqQS0cjP&%nY)d@;G%}wEu=`@x%On*>B7trO*=AWyK_h z<3o6sXW9N%VY6j<@$$U`X*3_F9x26ww$^tJ$R+<^en@Gms#S=!V%=jNQM?S~uvk_U zuQ-7D-;IsW*BWz1F~=vVhobt6mK+6>a%#5&b#4m$b!;4 z2L_gTH{E+nvt)yM}*BQaZo1{J_!;uWbz3@X`kFrt*KyD@`q(Rl4(l_r^U3 z7q9zz_Zu6l#9N08>6;rCmh>vwzvtD`k;P{!JvMGTSYchXx5B#Q%L?mjKUP@Zxc09N z71ly?g>^y8Dg}`HW)U;#D?K>#BUjecNWE+RATc78jIw z(obKG)A+1=m9MgfB~)3%hgMm;jj6H*O{=m7%&oF^Sz2X{TwP_2)T203Z?`s%O}Y3!^0f&r5qkxvVg?Cf#AQ5Rn|R^H8New;e~q( zq|z$ue$Vev8ayzNp}7=;IM$p}mRI-o(>KLJ-h=e<(|R|hFG?+^cjouhysz4*T0PVE z!VNL~wD0D924AwqdS~?-t3g*~E%mIjmV2(py7LAIa|49=5dN=`r^_TMw2TGZh-7JKz78OcTssattxm$qguZk zL6gtA;sf7cuDgK|xq%VsRqEaJVL|@|AM8GhSYO;ezW1Vk*${r@-J9{r|MG5HTd+zb zh2BvJ=dKZ3UiEIeznCDGZpICabTGw*8GGU)(JxgZ}P9mU0-F5MW^FK;|6X5(gQFr>+tBIP4Y%MwK z-OFQ`od@$9m!sw+@20dxq2)Stk=?JTFU@Q?9`j9uo1DaZ(7fi}3z@$geX!K-NB5nQ z#c(l+G_))OxCI&6bd1@T8XzF$K~Ib0X`FCuOj{0lF(w=@4Gxa9~3!S#fThf9OY{t$k+061|qA-}_& zgzK`FXh`uYRJ;<4Sh#37FSxDyVMh&n*Xs9>5zf)?Fq;SNZeMz{U~Vz`dOQm~>_hr2 zt=Un(OMdj;JAY4ecc+d48qpYbkj=fBI3vr!wiR4q=%u@2Br}853pwxNd`^db>aWgr`5&GF5 zvE4}8u z>o&Gr`2S4=&Hn=x=HF*j@a&+%Nn0p3O|ol2=x#W+B!1EcqD6Sy7Ky>o;+UXC=w=@v z4NZw{q_ze3wOROIYstj_DoY0bS6T*1>Azc^eM0hFwG5Nsua=<_ykr@HY!@vV=ZO+EVFPi-QYh*&jcRZ4sv0A3u$45hmClKaFh> za_o-*{!{EJI#`vB+Lx8g?#9{W7_D0DuKCmE+}A5M=e}0kocns#=G@n> zZH~UCNI0ZC#NmjI^z2>k-J~t>Q?pC-b-06S5q8-IAZ|l}pQcmfCR= zn?9ML9O}K!Hz7*3dJm@ju-KCR>sHfeu5bzCtC@IJ7iql93REQeJZ`enU~TbgOQhNx z_jV&1ckSIKp)kSLE^Pg>Md)pnBoR|iS!PkgXGIPv(=>V%Nd(*Tera%?N$1DJ91u-gb3TvM9mhbhX=W-~sW=nj? zi)PM684qE1IetnRZLIBIK4Ee6f_?hfG8sRdGAU`Z#_A$fA?o3}?W+D|A-odg>}QVE zMZqGwO#evR7MmYw+h6xGEj|Uxwq~zG*|rN8zGQhd4%NKG9CWxs>^HE7Ys6*Ga(0gO zpnu2qwhNzsc~i{p_Gl#)A+`znuOA6?w8bH~+bvvA4|Jr&;)7}8bjZ`{8D=?msOgf1 zozVVr4GW=YPwg1BtdJyJtoBfILu)kClj44;>7z}Es+o9S$ZTOc<9G42zGoR5j=lHV zh0+t=+SQ%<)!Xb_5wB)TycI?0RW~-lk9Ns3{am>87pBazOg}FiStpbE=;ZNCvoq_< z1XV`e$)Xm4w>+9IiY=^*SRp-{FB;8{H05&X*q}uiYjJ4GG-+r0|65c3-xQ?=tH1x; zW4)dwI#f{?sPpUCvn<98F|Ylmcv-BJp} z8YfY*k*v?Y=zFm0{c0{gv&Kt0q{^@Mf?y^rO28EQebEf;1V1T=S`f)=VpOk&wcyNQ z=0nR+W`Vl?9h_Hm;iTg!OjM>vsqAoyG<@++igd!;g3W`MHVSC%zR!@0wuF?kBicS% zwyd3oj=>RGr5*XB;qg&TRZB~AmCyfPns?0Qn*ZC<{N7#G zhmGxy=5oxxj&=;q*0#$zj)56#atzEaGaDFT|4%uNVVP{Kt8Ec{%zjM=J60%DI=VEX z(YT+BI*)6Q9h$b^YuVHjU@Fij1FkTq22xtUG|F5FF<~EGlFU6`d+O|wjE3DsTbndl zhlaSvZ#uQLzR0B+aa)RZ)O*O>5Ys31cZ4?<1tz$iO6pDOO3>iMg<5dULHP3F%V^lJ z3^im-NSDQuhULp{8c5xfvKhon_kx=ACv`WLd1-Xv>Qr#+h{l(8Cqp4E4trYV#|J`j z?kosYwZI}M`Jtub1nja%opSk0qq*p0*g>`kw+zYHo;^BG#U8Suc3HA^2+#Pa+K{~2 z3kSL_!k|{R{5oWEFm0f!5AL>&V!N>Di_BCuTL!MiOwea{NO=GrdYo=pxh&|EtiC9&f*E+cJ>?)E(iWIOJIlzcYQH-FNpJ~z!NI?GaJ4NWV?ASOp@}N=Sw?# zAlmqPWr!{q;(ofJvM5!Dw=GF{*^&>U#^~^lhQ7VrO;cVZ*|^4}=lyEPlne{+|WgL!qvTL@`_+hq%jT*>5b|}G`bvY6BeIJE@z}qN7YO+8Tkk53r43) zQuu32fZlzJJKla}AD>#wsB_)$Z0$Y4VxN{f{U16@)A;iKXL1-NPueEuPW&I~&uR9L zmon_LUD31I=9nR+HlddJ4&fQXJt5W>U)!J`{m{VokwVloj@X|qm0fH5Ln>Qp=v|wc zJLG>f6ThDs{oWIn*oHp5n{(7ei{DjvYZ^oL50o;@u??Wx-VM}X5x74|ikWKb|Inbf zbL02+#Y^eAwiEh4Zr`}Q8UMXU2jwo#UNyyEjhwy5vsWTAO=Io8sL{&kDCxoCJ)zaQ zLPBz?AGmyR>y(sM5B*(3XEAC zn2s~LY4Z_s;K>_hS|Z`CknnzjKDprw&X01Xq4_c!2Q#m|wM5Iha96lzog#H6AO1$` zza;+@_-)pOwL!cikHISE->#i`n2T4O!rC}eR;Z}v=(EUm)k^1;_LQBo(vs5NvSU_y z0->!|daJaXSE)^bqbt_aMekGD#y2?C(Zw5olF2M)np++#`_)We1NhcVHv{Z5({lh? z^U;R#L@w!)HB76NdJv8t+!fASyJ;0tI7kYAYxR@tWCEnnNh=+CS{qM&UAZfSO%WIDv+lc7P5-K3%6agxnY@%JjVUE@oyrhj^oKW>tsHiw7Hk; zfSJCvdAj#5B+Po-kszbBn`312jnrdHxcV(tPYSLl>$|wQ(3**|D5dr;mQ)#s3&$w% z)H4J386?W39Ha$S$`a50B*u$+*QdFy5z~^!hgFG*MR?Luau=pjUO2*Zyx5YLPYYph zt}2Vzv%I@PsgV|M336LyOh-Tq!`v-FvL!}(eoKt@ztSFc3TuYS2v-NY-gYhQgu5jBxr)=$~xoBjDgk9Y33T?2a z1`nCSbGvt_JpT@h9COWGL1qeue!46CZU}m40q`LGT1^)zt=e!y|6hGTuB%h|A8UN1 z^wWkbST!&LH%^1Xf%~i%{tV26cq1bZUviD3Bci+R7KQURQp{;ZVJ7|N<3P4z};rAvXTiqObzTmLgt{v7ATjDY=PGd8{=e z%%Ew;Cn2&At#mrT+g7^hlW4bjR(Yi;ykV!?KS|;9t>jb)29ynUE(W#oY1|`B!~z@h z?@7$XTDT&(BZ!{`SPGa8xBxI5&;>62X&O?Qq&aI*z=R_pSGiYCBcqn!i9Ae{CX2#! zs~qP?4B2}yKNbZyo5w>r_U`BqSL1W2@GFeEbu$(Z3>g8t@J%83OtU`4}JF@FVnSV`xg7t zleiAQC}P_JE8^>bCt+87QB?S8*h>8(ZpI_|17a6Mxkbu!zU6*U-y)1H9&s3qdnEaI zc3Bh_1R|_HI9|C&UQ*1D7u^!%{3`4x8;ay5%hk$~sp?>rq6F4?3w*UxRqP7}jMG3v zyBx=P3~i_)>-V{-xLGdEt8@2Rk_|MxT+hqD3n`3*i9yD#HR4mJMLaIbYi?R7Ee!$8YT@FUqFuYFM9`QMt)3!CY z{2xPdyof|Hgh&~9!@@-|Nt$AjNpPY?)=wi0I4DV(B}wlX7&Z*!Y->mR!VLGWa7$!d z)XkZq8uaRqA_qyE%`QA+LoGiUPkWX8Q78yGp7tu~9Ne4sQ~4iIlq7(pb32h#1=N}0 zk0@kYUmKl{Be1)|Ua6^D=6?>JwxgxfX3%f1JB{Eq7(Fz#IxDH#9Zh-Cx#~ET2X4xp z8%kv4lN$1~&Uj1#j5RX_;3CDPcPND{DQ*bjlJU%%sfi)xO$a?mPcf6SAN1fOjWA0R zY?YON_>}O09CU@gh_tvv>?h#mBV)R8Qr=wau-sIq0Wv~wOt7##!>j`z+5kSNsjm7r zeR6JZr!qg)^v%&Q!RlsC%#CnL{H7)rb2NC?+~?r~s0Y;@t%;G+?wPjfKhrY=W!5A5 zh+H41I=0k=O8M@X7-Dsn;9R9sj-8XL*XV;flt=SIybqiJn;p30u=aa#0U_V!BMz>y z5Z_dS+XJ^A?(8@$Jy{rVI^bHsG{6@D0}83nfpAVn`yS}dbvruhzzf{)SaXc}Wjz-& z7{)iufS563IO1+Q#dSg44^D9&^pAsq!wFKTQ%bWbM!m=>&Vsnd=*L}!i)5{;4Gc#*bVITN9Y$zF*={!!LRf>jcI}VWyw-7x9jSyzH2BE{p+dbhx(w--FAZhs*a| z#LvMB2=31uu#FO)GdXnC(eS8pyMwIH)Eq(U0+wZt@T)ZkrSK~H!_g?Nl$wwB;x1AD zW2xLQI_g+2?lU^~*dXtf_J~_tv2wqBgCMM@2agTl)U@{40L}AuMq>^%&csq%Udd>D z!YC`}BnnNGXv}ovp@(t!)(bDd2KHcmO6XD z#`1k;h;i8Y!p!$U4rV*d(kf}{XQ`Uywm>QW+qOhdl1=v+qak&0jUewnI5+qg%!V|= z9|R}9M95XRZ{Zq8VaW`*0&YIsW`s-O{61Ci#BsZb8Hqi-#Zt}b=^ds^LuA_A&M$AV zhID#+Ckj`c-rkAAB^vyBOxM$fAiTf*yJmp8*Wtr>LNhuP-KFC{k9ltAKN>1`dgF&B z`#;)Q`HyyrI^OtoZs84D^Lb3@EQ3m|sQ1EIr@ZeUEny9&1SA z3%??#3O{w>W0OSTJ%dZV7s2Y54nH3JT*^Q2i~k3Hk^jIi=pXp`{15yT^yu*@97Ozr zud7|5O~-fpcC#y`)jHch3c^ad|BJqy7rpjHRHppyPkK`CCimdws;e-~`%W*@3itqs z`@=QigU7L4wSbQl2*TIa;#m$R@c`UOho5+|>kvCv?7~N8|6(Kos7*Owydad*vJ+2o zVf2p^J-FX#`-x!xcnhZ;45_$i6ELZhQ?WGe%K~mXUGrskE`)ykWgb47+Vtg<+#xy~ zpM%>fHntbC|#tU-J&fg z6S#}C&sPJubo$&^eO*J$EcXez?yIQo3(SFd`LL_{dwu6JOXv?@#dxc&a-B@;mim`U z5LEQ;SE-seETwly?1;wi59ILfw@7g&A5bX>Nmf{+MG{??l7Qk6toHTcLuovYr4=beIZ#qyp0Tm3=3Amo~>p*5G!bc{+N;8eIm zh;cDo5u6ro5gf0=r}_Y&cmXF_&*S`_jz1OAf0yNPP8Nhs7RJc}jND1z+L{IG_`@Yc zUY&%4F=$k}<D`N7! zilmqvDMpJJwb%PFdY>q&q?omI%QyW;>@-Z%PZZMA~ZG;#!(2B8eT+5 zkr>6xC=0JO$aFgq6P6g<5%V7P{x%9{l>NUAO)ADIGME?(9F&v>aXsD$3PQ0-UdCb2 zV$G=EXxG>4|JFC@n}^UP-^TYSH@&DX!Y&)5V}w0%kvAWSb>dJy9x4YeB|~IxXa}FUcJNs|_-ve^SqQPGV@)pz zL3GWT?qT7kGh&xwm-;XQ9yKxyUNkz=+l=(|nQjqt3@JFRVROOlsbHjM37G>o4lW)} zq)lg1M=Ol6N2ArfcoJV%ldk5QT>~yO_%2}G&oz=r`JuY6+#ZX~FwRrENJ8_rfs}gi zvFf2x=sWuA_oFZofByYkZY+&C+qcgpyQ@xKc2Td;$;#wVo6UH{qdF{`;{jE59^&@R zY=-h4`sUeJCN04GYIdl~URMj4JbZ8z(Z5=OuRz2mH4F3XIY*t#O*MFHw`T3F_LWMU zH|)|YJ63FgP%rZ0W??!V`kx+}N%y|jhm6k0-a`<$mMePSeR%({{+K=%ZMzwmqEr|H zA0CngcMv?Fx*3n4<=SSU*=~V4Z5A5ro(~tu4{}**nuU9|>v~4v$SGLFJcAv53akvV z>+c5low|;;oJr`>ER@>+HonqA*WgQb2UVK|KYM4Y_MlIl%j62_N9UgPax)x} zSgINCnQ7y>SZ+J*@k1})llJ+lWFBVD;HhTJ3*&!?!Gqz~f0&ea#^#^v?ZipmK>4)Q zOPU$J2ludVT0P)04xL_WZ5A$DS%>&ZIIDtFOvI;9acXdx2A_``f8MrOtw1{-wv~Lc zIx_MNwR~N(kZ+flDftwh#AJwyp~`wMm-(t@;ed^ciN=yX6MOOml&Q8U90vz|?^VxG z$Kz2&voMa*^HI-~*#3=L<5(UmS?_`86f5~ugarY|0kJ2m9p#z@n>jKn7P&08W}Hx{ z)ok}}#Jt_i9;QhtzawQL`mh`>pL+iIjQ_XRRR_JBE-dxin9ir6tQ%eU;~1IEN>Be7 zIXu_KcDKzqPLET&!8)Q@=*cX|lAyeYP0MCRDZede$6(DuKU=JN^j;ZdO9l4so>kxD zLN6|Zj=V64%ce^&4DWf*lo|GBbyk==6fZc&bf~_4L=iu~nnz3ub~P9|6TN;Rsq4~q z%(6pB?-#bb#+DtW7U4uU~aY>|Z%d+2a zM3N6h`Ws9@86sEuQV`HJeR9p!q{S1$J8pi3@B z1i4uqt1wr52f1R$*yOa%ruE^(^Zb(p14RRkGoZT$MwPov-T6etbZx+(%S3eC3wwQkt!|*0Q$c=s4 zC4=8F<2NzLuNm+9y{o(Tzl_weNX>C!ABRcecg*@t%t7io#5=#_2X^%7>b~4JbXj#M zr==Cu)3{CaZuKkfX(lC>InBaU`f5$!bDPXq9^i|@?3z@0fLY$Mo)w$hYP&z&B{Jdb zDJ>(qmz~i+J3ENatWyBziRPGEPwi-=5+i@dRTs2RUKYv6sJwJ%j9eq=9-8r? z&pGOmd*jqed@2O5oNm0-i@Qp{x)kO5YYR)yr?rXJ#VFs z!6eu$_?Vc0UdNmZQNtw#FvRCynz4N9Lf`p0(6abp`r8=*VYUNledj{bPjmw)Ny`k8IT1VUEPvR@+l<>Qp) z9`<@kaG%BE6Hjovu-}UXd;+cr{v5aqeX#ZJL+|_&J9@J5aidY_W#i*Uqs>CL@o}S3 zFo5xKqtRv|<>)iN4&a8LwZ7G{O5;+Ru-W)oTA{J+a}yp;a%G<(oR;VaA40ek;jtaz z%A-I0_Xk-<7kg004R8o1_$I;29?)@P%ytP)xF>)O1_V-G?IVR-Z7$M1teX^Sw$V#h zTXFdE)3qpWJ*~gipL>f&UGIgXfG4j;0j*%dV$#I0C`H7v*mB(TFD3@>um8 ztYqJr=%Rh<&Jx@&=YtAP%DE!82($PWwlGfM&mxZ3ActH)hg*! z+)<_@bjhUDmDhd@eQ|LARO$LQeo6EKWwnyBLz^byTcpoX&s349!xQ7w6}3tHQT_=1 zsxS_$v9!CEj#m%I1e-90uXdz!1LP_lDhTL~tVW-z5xX`lS z2XIOBr{7a?oF>2di!5`2neU)gjzo<)=8O(nWl7WsMhGMA_g5r$o96w+j$2;;D~dZ!H{$;g{R01+>9xNSxRuoPb{sHGzTF>7 z-5Iw-M~t(3=sp3ZriRIBBToF~y0xGozC=Su^Nqq2cA2hFy7y(**^R}e)4u5=ptNo z)w23d9_?HE1E*PacdXV!;*xPv&#oGHt-BOb?@M^_S{AWauO9UgMkP4KZ!maq2K8zDX)xxUB}TLhNUvi7ww(#Z^XS~XZ#xlnY}aqjaZC! z#=j8{^*iI=D41-0JEV%?-iTFGpAJr8*f-*AD@t01Gwd6MOJTN9scQ`TM&W|3tJF1y zJt$67&BI4rHe>O4M_x8F%tMPD<~Q^*_}$?@YkmP*cP3<}Q8;ZLjX8WKB&AU}VNTO4 z;Af+Dj2<*cFex>U;+E5{mXWX>c-F#p5nJ#dLTfD%8V_@z?vGmRB8QFVW!gYUSffA? zcLs5)Vg9(5bd}xuQx{6xZf9rj9U+DdHdH51eq27~@=e>0v z;6-%UUH&$BY*mh0pMzk7sXtLB(aDV~1cO;D6h59V?NJa3!Y7cH!?Y{gIxJ@K%$5S>M~< z2<0H8rFv@wc7U$7%+W)vk89#aoK`%pi5u}+`EgC$D1=)d*TjuNH@eQ&qenBo(H1Mu z*cXbgL^l3^#a(?+RM!>1clYiWEC?*PtRgO-qN1!(V0ZlpA!?n7jkT%6Oj;{3X)zMD zY8xhX<`IW6#$i(9QXe9<>M)cD)fFAs7-E$%89ypRjWRZa4rLTK$gsdZc!0?3@9wUd zr2lu^nX|w9an8B--Mw$$dFS1CE`nrR@qMU24wkS4!{g?_IxKs!_>xRD{XDvjBxm*~ z!3@qos?@d4XEyEYw-)C&XaYtrUp_Cv5&pjK6}sQ`xi1BOruTib;@A|zXI7JR!;q32 zv}Glj8`B2OFpB34W=DVX%vu~=Q4-XU;d*ayR$ME>f0K_%ntn*h(R5FT1uVfb|LdSx zHTlHl8GLDO#s7$PbK59tAy#E%tlqYH{w`aC)-`{#1S`Tc)G)LD$1u&ez;$ zFXjPgJ`dEF_gS|`2Kc$pRg(82_*`@#&qEzb@*aeqiwf4mktE3_2s{@ITbzU_VG<%A z{b{Z7YN|1R{9o#0@jucAZ=sZ8DgAC|y&VzD2tW$;aW^Z5Q_zuboMcU`&iT-xC( zlG6|a@FO`*IE{#2e#CVPukvGQ%WhbwYXY;v4{1M^wiLoKSeu2#As}uQaA#mSs1j5% zH|PwkK$<%W3t``7!mjhAV^IlcN`nQ#T7>>Y`X15)poK^`0k46uMTai5N5}b`u{Qd8 z>6W6Bl9C<2UAS{AJi~;%TJSo;IODC)U@PFTd2$WG~Si>wD^4dWQ9t2BS#U=zMMc5g*H;#Cs@KfM%k1F+dVKmIaFD1TgZMy z^NuHydXhe{5RZ0aw}o`*ns}x%Y?4;bAfrZxOkKpXgBCIs!7jv;!;x%wIyo?n-La6W zsP(9=jo#2@A*W)Jk=}2D?phP;v5*y=CN4W>V)bTnB(?zSGvX3a@F33lwS`=p9#dx~ z?s%}b$8)`X@m91^Ye_~WK2@$FWgE?O-BNDS&3`^h=Lq&Cir_w*!4GGBI>c-_4~(RS zB2`Co2Es|LiXAkPOZ?!jsdDO!{%K3<~^B6O&DQICp^IY_UnV8THzs;%`- zQqHP%$ecDZx0Ccl%xiLzBa!Talei;UvyB;2MgIReGbIA=` zvl^KLOOktX$)zRiqMf+2S>*!Kn_Ya)T~=a+SM!YpqsIBJ@K;0E*+j^vKlSv(6Gx|;?<%3C(Cp0nc#o%orW&PL1E)pRL+C~6qZrH$fpM$NM-ZG2v-c>9t0(6W(zOGzh<;Wvs4E-Mz#~ICvxSR!nhJXOMAZBZ5Zra`-6z$~cvwE&C+;&fOKuv1ZP)iEM zPc={iT^jnBE))N*rC$gMn0PobNh&Z_R)oAzeiGJ&YU>jG2dqO~; zKq^HDlxxcpsuW?*gd!AHE5Zq&zD5zQ0zH3013=qJ-f%>j8<_D_5fbVYp&Zy+kA{H< z8qgTfeJ0q^S~u??EgJ(4a{eZ?GYLA60|i=JI3L`&B}f#azgb8qNmf;VuzmoQ~1h3$a^3@%q6(+ zWWsc>y7~$fp-_-wQV5ZB@lmQ z&cJ@JGf}`N!3>ZQTggE-kRO>+cGw|}D+F;v3RjT8c06IgEb)qwnv*?{i$yjXWCkTH z2&Ui8M4QNah&W-SiI$bffb9Yx&IVo+qZq z&}0ptwJXJSF*GHNPiRh<&>zImL<67boIK)5E_DYZcxREg!bGQwT`|;Xcz#5g;t=W$ zMx5iEJfg(}_NzGkuF9M}+0cPBrwnl`stjY#U~%n&J21SZ(sN8|Nquuxzx9848E+fr1kG zDFD6YpU+qsL&1r@dfCzw{bWpHkS)}s&?y9Gd%7I(64Earoq`qwDNy=Q9itE*3KQ|2 z!cf{nmy6R8z3m^BNA=7iq)Y4HiGmcUJhh$RC~@e|Yr?KoGtEXsT0Xv$^F|1RJzgx&N3 z|Mnofhj0MleS{AY4kLVw@Cm}uzau~_XF5Gk>^P)9{Ib=v-D!emrM_jMZ?hRIh2$UH2zU9W#8_cF(4! z-}Ci%);@N8V{>TYXU|>?{IsND_2itPx}-2C$QDyDt~P`Ofqx2S40AUz$^Oq9@LwZ` zVhls^2Rv?#_j%qL&$=09)WDB8f`NAq_33U*Va@q6Or2M zQ2!cHA;n}d{}vLw{U4PNmXxRXtD=J1GEjV&13jZd{!Yqd|3~N%2mTy$8%njccdi4y zOAh_>cW5u;ezQFF&wu#MIMw$FDX{$?#pex000R(W9QgIML;Vd7^h+H2^Rq+zj6+=Q zP=A_3f9E;y>xx7DpF7B7s)Ig+IOMN!=+9RU?UAsPQKSD}4)iS!{M9?uSLMLp90&e< z<)EL%lJbNq9QqqZhR*(vnmT1D0;on<=g^)P9rEApkp4G^^kWYES?-{JV;u5Na){sS zkpF21`Q78dzw-|D9dtnPy^7_GnpJyD}GtPnjNC$p2OZZ8ohdIz&?htQs zXy3ma=+!y2ZSp2y3?V(7aaN@=MewOp?sS||Mxh=n;hhKKTUS_e^mbg zhyI;%(9ioE^jYOVKfs~1nW<-ng89olDdkmq|2 z^*!v6|6zyxa~=5ivqO989pqc%z`rbq_I~Za|3U|OE^_F<*`Yl%9qP+)Xph>VKT93# z-zW!p#W~dXj0647A!Pv+^~Hgn*`Yt>4*K${1HH!__|faof5Cy?c8B)8=urNuL;Lz1 z;sXx)@uow0cZYbOgT9`0sQ)F0_KkCh_c-)d?!a%ogFZd);6HrtAWv@xd4A`>uKCoOVhxRR!)UO8af?yqF7-EYz(m_0rgZg!@?Fvsoj z_mRK!SB8lIVWQuK`tG*EPXga59t!{U7}ggPk$(g;l6eT}U!px%?fKWB!Pj|)nQ5mt z%^|)I{JM<#J?#0@Q2*W68D@z+e>3Voa*biO+vB59{!!4YvBwW0|BJ}qW{(>HC!u~4 z3$^bg@`s>5L-ngM9#{4-OufDR8`0jwT?|uf&;LH)6qF}3LgnX!KgsA{IN}q~KPD+N zFSD3QS`NS@#U?zEl%7$Tu_CjmIHNG(fq6Okc^L^QsW}<8w11zHlva{L1X6M`pF&0n zg{0+$DY+S_VtGEk50$><>yiiOFD{;uR=m0(BQ{MRo}QodWM+Cso<0o)QZiCfGm}>4 zJ(-!8o|INlkW^3@!XzzuFhrZ0l865a)40_k)3XXPR_F^0^9%JQnZ^3}kZ}5tl$M{H zo1d3dR9v_+t(ZYSR%GQCFw64`vzaGTGK&i`)0vEtjI^8rCMg5uP+L)PN?LYO8ke24 zJS8*dmJcgdrWB_C`vz$lRFRXBN9|f%d~Xt%Q4$go5}KM)l$l1=XXdSlO@ZlSXRbP6&{GIEk6X(h{x(S|$--d-J(xHzMj z&4;`S^H=7jGl^_wPR^o?v|=;~s*o66nDXR;%)AV-so?4#>iR77JgqPzr8q;sC@bra z(Fg~PjKY*6;vK}ZqNF6LAfvD-pH#7Ub!sa}-m zAL5Uw8tIuu1^MXSD)f#<8Av9jYv;06W)Dn)8~ zPW&qB0CaEGja>OFpp`c>fmlA29%@mXnVT^)j48@1fW{UtXPzv~EQY8b&RbEKk~%+Q zb!t8h0mO4t3jU1onExcyB4=e0$E?iD$;``UGK*4j3b>R%$gu)YN=n55#K14kUkT6xo?^V3P&Fb?oJ2SXL(!Peq@;&Wyp164{V_=lK1^QO2Mu%swMq?l`?m-l2A zlTw_Y$$(8{H?lDrs2Zsmnvs|P2+fz;I|D;0+NeSAdgb=hWem)u~$^kt2&3Ws$`+k$s!o}f9i)T5o^FN*# zLuq=*&jaf*f5$FJ4bhW)Xny>ECWMfCQ3uRM4s4*^UdP5QqW)7|(FF@_x**l_km+P* z*v#emH2)P1DVtq0!ZY)WV8n_t=G_qQESn#Ign!3OeHeLP`goY=88;k;jFjBemCKPG z;;?rX4NS?&m}e8Sl=nAF!OgIh`VCKm`bySB4;{D73irbPz;eUw`YrEd5fY}`I{-nT zVX>lk^^5OKS|n}8t=`V!uq5zM)Fz;!E``h-8q=vMn88wtibYE)b^Su7qlKdHC%U9J z#)qx%(Kq^jgUL6?&<(FE{00-j4ttA#vv+oq36Ds7^1q@$;z@Yq-wW?HF$`t?9gQH8 z3ICTZk{18ZHAGZ4NaO}LZbTaBwm;yx`yN##soDqF9 zafnnVX86K1TPEa5PvYv15nMpRui6oX6=I3JRj78PWWIG*7mwqkG$hehR(oy~&4pmxpiqqS_o%$RnzMIyc zTKF5Yi~i=UG&EQIPr1WLh@zi~sU;~E^W{Q(fOl{2-0xV&8MOE*)T3pgVqp-#Qa~(= z(T$HZ{bGefO~Cs4-pryTu|jdSS)3V0OvManpRfOu2BSv%0*rjW+iJKuFNK8JXUgTj zJ@M#==9~nO`cLu?O)&qPy!ILUf06`D6T%L)=JhCo_zs00+v<8GB&B!e%UX3Dzr=%5U=I1eqq(sqJD`UF^ zlL4e$oH4XWh54G7lTuU^gJmt~!*kDgkSeuji_a_(Et##*{qvZ_<;AqWVT;>$PiTh( z-cr)?{Ji2M%5K|K8H(EXG00!NeUm0H<4I|D7^$?v%mQjQ_Q5dvp)GJ$Zr!Fq?`(BR za#O?RVS+7$@yt(?cELX1#nU<%loB7rMv;D126cBqet!1K0$A&!)wzFA=rfB}rlO6s z!%~osg>U+kxk&}0Imd29ap7tvCo@%K2bgqs$TaP=qWo#v8y|1^f*w$6D5WNbgb+TH za5AYB2^Wjytq7S(u@Es0ramnw=tkBRY1mW~Qz>uSv|P+tcc&EQuDaLuG5*2(;cIG{ z`{&I|nm%m?vmjO%7q7oRDI9IG{gYu&S%&>)8@%0uz^=0GtMWJaF;vEupK7~V%TU^X4qwIIIvtm&5egPe#ZI-7G2t8i zBP#Dn(jT6@8Yf8#=By-rtv#LcH}#*!mbjd0vZvF%p|SYB%noUfo8swq$k}0z9TwPO zu^pD!;Tk(M*x`CRe8CPk*?h{hacGCAv^rk4v*X6 z2|GMxhfQ`!m!GJApWY*5M&nH27(rYJI!+L0IwuJF;SLqS@eE@kIDugr2~J~}vjnFz z%ufVofS&|$C~%43rwr3VFbU@n1d|!2i(nDXK?ts67=hp+hUp{tHe`CYj2VM7h=~Lt znLvV&a4^9GxT{4FXCGk%(cW-^IO~WYh%<~xf;gLvCJ4#L5X7Oy0)o33CY~V9E)odh zj3tra9>|*@lq#7Z&c4zK;#h+t2;ImbI2!s!5SOQl365cy5`tjh8iKfBWgzH-b0mWA zG0Y1D$1%(%g1$J9BIwUBTL|94Fck#B*X;!F#Q6IqI_ zm=6d}#@#rAcR_vx10g?xQy@QrQz1WsIQKe5Fc|V9csJxn@E*vIAWYg%1VbP{f}xNf z!7#{=AP$Mz2;K|%5u6425u6SA5u5}05sZK$O#}QBMkK+xxWh*9KAam7jKsJl7==4< z1a%DKLvS9>%?L(A{si@qKS37qCwM>PPcR1ZCm0L)6Z{zRC-@QMPcRPhCpaJSC%6yt zC%6FeC-?y5Pw+v=pWs5spI|)XPw*kgpCAqw(+Mty{0SyN{sbR}{0Tk+`4jvzpI|oRPcR4aCzuQQ6U>AB3Fbro1PdU4f=@vH z1PdX5g2j+O!Ih9d!Bvny!6zYqf+dhY!Gn-L#_^cdkUznvAb)~SL;eKUK>h^(0{Ihs z2J$EPEaXqn0QnOvh5QMA0QnPK3;7dV5BU>34EYm$4)Q0s0rDsKJmgRC1<0S^i;zFT zjgUXVmmq(Fn;?IJFGKzWUxEAyz6$vhEQ9_ zpI#oq*Gup<61-S~=Sc8$3BF8%CrI!G5rG3BCz<$^HG!WP?ao43e}G30~lkFI|$hOoAs!@C6b)T7pMN@GuD;EWsyA zaDNFtN`iYxaHRzA>zD9eg11TVOTeZ5J}XHxN$?XA{FnqkB*E(?_)ZC4Bf%>qc$ox$ zL4q43c!>lrkl-9}X}gz6(h?;20tp^1!6PJim;?`&;1eadzXTs8!966nQiAvONq8^8 z+a&lU3I3A=Z%iJG70{I1UE?V5(!=)!8r+@EWr~c zc)SFUAsqk0Kb*(SKd9vH;NI3Lt?>$tsV1jFr!Y;(m4yuQTRPR*N^7`+zU;`RFPl1R zGL=@f_+>&CeOcS7VHXQ3cQFq~U!LkTg#EKQ{D^am%Y2u(lIW+S*Xf>$R+yaTpGj04 z@VOs;$I+>M@YfKu*WriC;rqq7&ZnGyzTXdbiIZ9CWU*e3Wf- zJ{|43z^`OYblu@$^Dic94tUIeI@*UDAbPj>e`@mZWUVv`}T=gNf`|0TF#GnJtu`V&Iqp5tkgO5gi8hWQ9V6E|`GQ_6vR+|Td3c&O>BpIln;GvaZUQ*8zP?%)KL0)Z2WuIkSN=6>Q-A4fQ3_!&uMCvFsO#f$Z=qKh8;%i^ujszOBuxnhBbA zu2LQdokCJ>z1!Ds?m%LoVOB>`9NaC6u;Ji2I$}t@B zW-wdPzL|r(zeSTdj#F-fjwOCCD76aX_X4AZj=IW?&YINBCK`!@n#>TEYTezg$@~FQ zAUvi`ld0P6vdahbTq+0oLo9) z6)8@+LD2w;|Flya4~lNPT}6tnpjb83Hqg3&a?I8>oNKjWO9c0YwN)X91e^w4<6P_# zaJNf9-rzwJcz%#qSw8#K#_MfYu`9@VeJBfBTR+((4;pQnpY6l?vx~DUbb&{G*q8${ z<16flY&rWcLCXyC1JG3FaFg$`;iPK~X5VAqntd-;=u}6q>VGy}(XWg8Kpd&IRDY!U z+f%=lq;@uIKODv`_IErL2sswQYXtOj_~Ca;oJtCMS!ec36{-$FA{I0qejrIk6__KU6G z#{r|b%?D^)DVhfP(AE_0p#vIDHcJ+uW|uBgbRAO|g1Sx6|5mRf1^3e!QnEhK#uwNz zpnA+)I*!q#B|EX2LZwxu&?KwzwXHRkTX=1t=<92PMb*A<=Meb+JQDPfx zEs()(X_BFd=*dtUWK~Ojt91TnL&Tbv{AL>#pbd)pt|QcjIJ9Ary$xgRZSXdCe916Z z5DGqYW=&>BzgKq`W>cC~Z_cP~7RMR&g2i!0{lVfmqna#+u(x$*8)k4b4jkYD*;v0L zEd`N-{O6w(U@i-cn*x~^z)GJ z78$gHGdqjYSp%IiS#3I14)`F#rQ_J|&_QG7t*d9cwi{kx|QLOZ%XG(xxhxDoa_#II!O;i$O#?0Pf8ZaWJbMq+#%>x^fV zyOgX<9d-Rqw?UpY-y0Lz9W~)tw@S9~>bHd@(aP7)nVnV)@S{2vNCUqtBu!3QNba7P;(rx1ZL~>*DbZBaA&}*&7+vy7-A789$#WOVbl0 zfBm^A%F4*@jKdrh@>I0z9)(do!G|5-cXysM%O8@nG(WQ~^p|VFwUr4p`)p`wG|NIq zVD1~>`#RIaIkBll124h1z%$O(p%US`EH1JiePY44 z*r<{CcE3gD0lubydm*L0%oB|$yRh|?$1(75N92Om#cTd0FkZyR1(v3gMo`?PD`kUB ze;1f|Cg2;)xL=!@@EIkjep%S-6|`&0=7;>5@;kuA_|B=7Ow~?sZlg|C{im~xaSA(S=K#-iOs&%C z7n!EV$^xeBTpc~Y3++thl%0e8l@=L$4`5Lb{WT2UgWMgRRHn6)T2+izeb5jN+Mjn& zZ{KO(+)R0X67!txyfe<PmoZ}_%DJo>o- zyzB71;c*Rp|3`zHShBFa3Nj;kB?C5ME-$e_ZU{}EVb30LBEmbsF}fBS*tPJ8*2cVD zzk*ZlBY$1KZ7sYbjp!XE!u!|hnXWSi_>7#gT=5zc&}ep^g|*1q0Qe$m)jYl1e${JC z*9n8lsL66O24uqv7ABTqwd)$EKQ8zfhFK$37gN>?YVBzu+>n;dbR9N$me*!`mDiGu zbsKJEG>ec^TQ+(;x`@5fRAMdAzwm)*+$?Bs}T74LqaU3M|;C0L| z4Cy;OXW%iwV}R?fZxxc&f$Tp(bv>}HLW+7l!tVU7LaNtseEkQgt_LpPRlDLi@IgNC zx~xJ4A8;b-&@!ID?gSRYi~{C+{RrB14*AZZC8H|dMvGrZ>tgiJp{?rbFG2B3w0_SD zg=tKsEM$OR-|1NqsaKf1#MqinRmCCf6}XA9Rh{yRdc>4sEU$Cy4Xx4G$IYD$lW5$$ z`jmeZtA!p;Yn#&SYL&^OFlq+)z_#hlGUF2eST+(db(^d@N{l~*Id6dXLHt3C^{{r* znQvRMpJ1l_3@6qD9Q#lJ_hjHAGsy1;t_4oM`7U8+juSkxMzgnfg}CD}(e#oo$n+)R z0l8Chr)DsLvrIMV6EaA0ih?a9GqbPkIlwJKiuO5#x_n4Z{UyFOn*EVNxW8=Aitr;Z z>74D9eAuZOHR(S!LsklK*CS2uWzvZ&T6g&CGO{C<3pqP;TGJWLx`djXubX|?D_F&T zf&B&2?=n~@fmK-t=j^I?W8E!3KJCn|iDovR7cPxi*qZI0lIYJa(YtbYZHC2?8M>FQ z3w?7l%S^)RY~8y}@~KSM=Y}&vm|;P-j;+xL9t~gv4!CCfWW&d3R~_DIQ8LGdFKqp0 z+-?iw=4^3QJtDX=Dy-QTww@e$)hAgGf8E2H2z%7!Te=A&NnUyu^9L)qdY!*Vl)E-RNPX;P|+;9Tl0@&U2GZb+#xpZq~sNXUktlJbN{6{~5D?WP{oN^D?aO z()IUUjo$y3eyx3l_dxR*voBJ8Z=}xH-`QLVjy%0~iDZ96VI1J=TNTw8a?T1d%n4zE z`Z?&tJI$N)E%x3dv(%TG^zCBl$8RfLj?$^%lNP1JP+FaxYcEawqtfAOby}KOI_kF4 zg;aMY$?k;UPjzR8+DntvsI*#LlM*PFo_Jg71ge`O4I|%_UMQrE+?@D#H43ZfGOQSkmXK}-r zakjX)k=`FNbUo^ZH7$DWMRr7`ps}*7^d%kBr7!(KP#v>AbW-g3N&84iDg{3njFn@@ zu_NJzJye6h7=Eyi7owq7FkN?u6kJMAisR)6jF*%4@$#oq8ZXBMf0PZkm$i))3k>(LRFW*>M!PlK2x~~Q*hU15D$Pj*j2}RMOYV*A=!{XsY1=*t6Zq`anEmI> z%EOPc@sRe{{qjmTSa$d={R&`OU`P66SvSmLu&e#&Aop{S`|H9}>O^*8^%0@O3oTSr zYffSYJBb-=w~*{L$S=RXJTAlT$=qe1lOnr5HB1p_CG-gGQr~D-=f3xw4`b|B8scuT zLk8){-B!q-OtsF?$kYmP)F# zgHf^-C27=BNgA~QD7nO;WL3+BOwyf`7_VZTnbs?|k~CteB#qeSD~I*>Ih0(}lFDH} z4JDOgNgB5wqAazS@vh~ltV&I~y8DU`TZ?(=2*O!}tIf%*|CMC+lgr8MS%hCNlT2#a z>CFpU<5Ul`UE@?%nd) zt75NRCTS1HZ2q7b`%ld_KXA(ho3H1B-4vN|UA+fesSh)`b1|&U>fsbAc+B}mP%`tm zJ<$5y2H@Jiao-3Y+B#V4iA+Ya(mK)U8$qRIG#cNfV@}Hh0r^|ds*0VSjCq;Bq-<1dq{f+?0cWm>MwJ) z`ZEd8;azuy#LXR<{BP1(s8IZJXK=Y+N&$A0V{YQJK=;9+P<`8l&vcc&>W z%bb#(n#^gk>UBY>3e(RxZNV654GRmKu|w}{4Rao8(qMOpIKw5UaR+sc4Ygbd_7eJW z`q9uFkVV*<&U4MO*TZIfY-NT!nGSRD><){YY=D2GRaPapxGS*goAimD0~@(1V(HY* z1eCVn%R1AWY1gfvuj*uurXR$8leqUVhG@DRt#IE%`*ZGM+`m;(vG6K0p`SnA;XFR&$NK_C@9O8b zbuwk-pR!n)GC_}=%Z_FOM($lFvH^dyd#AF)Jz} zugPSzgVN8JbSTG<`0?TSk?i*vuTP`Yy#90M;oiip1elNk_6eqMLP`tSp?RQ<8o@wS!JcmNgUIQzG4yE%(OV z<3Q(5Q$L^A+1VU&V|QSvhVF*DV@OV3(R5I3cR@>o2yqOmyBOGdi(KBklCO z2(LXnjOA#r$EN!a3#vI}bFP;vjq5mPqtiAV7#wbslQx9OL)ZeS3 zpEq>U>cRz{5_w5Am8s$!m{RQ5MqEhWksgq%!J3PFr)ccB zMq`gPS_oUFv~mik0(D-3S%q~P(`7Ya57&iC`kYZY!oUAjtga8$IX+(a&D#Sly~tfA%+O20>j)b!Y*)dH)fA16V?k;LmJJ~ zG+Tt7UXAU+?#Im!YKX(@g}@Pw!Z9z|)Z^_7+>Z;9BZ!;NUVRikjT&o6&%({{d=A0$ zS-k&w-A4P`fxMpN{eNbayTai!%Qp`2^RK(@auNL=_PQ4^@_VALyTI!ivul8lz}me4 zYxnW+ebjzqD&B?6Ux!Q+_0L1X0o7l_^Z6Q{&nH;B`@mB5^Y3(eRm5ZM?k&dN=yVfT z@*ZNWqElHRt0ueXEXK<^AC3F7!^ooj%DY5Q>702y`r&b-AD#QCAA{GJ{ckjH(mjY- z>9~2k_i@3X10BAS7Cg(!>a|t*F@VId0Rd_L^SK*-R?XAfmjr!*msn6BV_gQF9 zU7eS@oJy%ZE;*#PAzc|zT9MXTXq(Udk;K^^HwNB>sE8*e}Cb1~45EcpiGmDpq#{)lP84rKx`75y7Z3|#iXdff%dz)=3 zg(Z1G`3nB7AGHhT(N=v_;?Qb8#8l3@S`G4T`d|}IN}F7NH9W~o{)AQSksIlxbPrBa zWK*Y^sBx|62$H#GOV=A~w5 zr1{#@J{8kW{jgLp1n;qyxX7!|vLEY~3TqZP8=0>6OP$M?;*3Xyzg)2Ap800=Dwi#L ztjR8vCw+m!=q{Axc!)VYkS96V6My4_MR$fC{VQ}%;=1ouasBlnD1-&?NWYLy zr&$wn14PTX5fntr2nyk#5GGPMq=0o4)FOp&MJjf&aQKPx{=pNLr!J@Qvm>t-_VIC( z-8!PQ8m0Zk(k4Yseua+Cw;nUq=~kHPR?x{7ETsD43XE2aR3`9IlvH^HBvUR!#FZ7} zv3pXc-KAeIc!g{cHpAwP04xXehTWTtd5y*DFAy+B(rh!Wlxmf+s$=uC8h!!AX2fk0n_nW*4ps^jXs<}?*YH#~c zyUD`5jdL<(uD*@n`POM5Yz0uD+YBwG2pSw6*jw{&l&IrrUkZQz!f&z2YzMh0M@4J zq4lay#V+hh(W>>3?nSIuCsus}oBa)J_BY6-F!_p>_+*=Rg;KQ4qr~{|8mOb*k_{dmb1J z#n}ndHFcd6&XW3h{U8$<*`-|x8D|*?-9nW%t3}O~tO~tZa35KObgc4j1?_f$$ELcm8n5DjQzQGF^G4hph79 zR~l%g|4*~8eWm{|6YW2E{D50*_(o~9tZi?iK}_lXQTYb;kZRrmEw84(WG~O2%6^F2 zLQ&g<>~Pf9*UB8;iQ3+}rM89k+CbGCR2^%J82Wx&ZLdGV?$$?kpDE4ZcCx1hQ$1El zbLP>$YH65p4>!}eJM&BQ9F|0-sMhIc8)s~>;ES^CIYCv%bnPmgT|PA{qI_z$Zts_7 z=NIP~ovh(19rpCqWszH$uCmfS*^%WsV|Mm#+8cNKQqUTP{aRMCNFQbVQV1)vT&C4BOcQP8nb|wIMil(0(bNXoQCB$^TMVfEL7;Ei#^N ze-K_|yk9?W?sK;9%lGpaf!p@w`}uRgW3WdbgYogtzHOjPJMP=;JMP;+mrfwQ!~PQX z-8Jv$PiMcw4(;w0wDV5456_vyM8B=k@F@85qhV(CS6Cgr&mBxAo%wIW%<`}@>|T{Q z!`jwo&Z(-<&8}2bWA-sr!fp;2B9PzNJ2Y#0D&>FA5K%tco(*$gYea2#4&7YjjX7FH>ML~Ct7FQ$9#ks zKh_#nkqA$2rWpIU)d_mH>dHUO{_(UMw+=J(ZrFpOeOq+}7KP&IwKw+}!fIJ*TE@Pv z=Ary_Q)w&mm+#xHTNico+R=T62wU!XSD1`FuClO-J8tAqhft0vcRJ-@E8?4#I5Bz%zE&Tv>Qq+mzA{8p zC6<_g?|mInRoZO)`T|NsRs`Ij*(KJhsO;lgJLXi?XLhGhj@cDGSF*F|h7wWkBQ{Z#BD+{c}?oPCI9o&oHX06_vA% zSY6Uu^TUn0NriY!xpsDW0Ia|qqoP__dED$g!?hYK%J@j+^U!RBUXNWHiStced6ZFE z?SUK~Gu)6PJf1}kZ!yOpMt^`f`e&hkXmKfHJSPMjJgSFPz~i1VqG}#XYs;70AAITM z_V{YpgdHynp_>Qztv%%Z?i*n4NinHe!(7>Y{rtNFbmyv{*YtW;kX7jC$M+5grUf>x z*9%w-uu;7()!W*AU)t90Umb>)Fq)5qQnn&Afb^)(jjHX$m-%|+Z^K8mwec%A{2X0{ru=YT4SBvJ4KvN8insJIakum^4~(k zrElXJ?5mxJZ|nDd_Qw%d=g{H!q zOz{AF+UyyA4z~0iYl-VSR;}CEpEbz`xw_;cE-e{$$X!7;YHMA}!OR(jOJOVKme!?A z&(fs+l6f&jN%rVNO`5Yc+INgJb{r-9@gVh{ZCL0Grk52hfyk7`x>nC287p$9@74ab7Qh! z2Ud`joGW3$+)1xKHw@{eGxQP~IYU)FsnDjMl)lICdzxu9+|*3cNSkij^irpP+BBq< z;m}HE!a4Ny9Qw)_Y2V`=i;FwWO|;Lku+`!XeGI9~hqgYq$Vj^CUOhBB4d6VTt#A{4 zDVx3ZD#mSg*P~^2g-VRu?5?sUtinZ%ljVhF>8#12({Q>y-^X90+w)>7-JS2l z-HVz`o2N!M=lgKWM9n$d(y^1<$N#JI6RTnPE~~*6ev#X={E>am)tcl-1jC=^>z}>) z^S&Z3mUXW15Uo&En@9DJSKOfE9-b}cV8^sb3 zyL6dqqu2t(PF?Qfx%Ne8Y<}aKQ~1q)P7yTBqzrOtP;kB_SyL6b_ad8KFm<@eBX)Ik zAAj*P+jkz{3#MLes4iI%WNnb)zWhi*c2CAsOT$upX=(Tsdw0uTx6unX1;o;wH!A;C z2Xnyd$erR2Yajnv2NTFQ_}gQL5bJ92wa4laGdGO2$95xjp<%Q=R*Tq=4c_+HcElPR zybz;1aa2p0*vj0gpNp+LidIe!`c!P?M6}5l!3)6+fkC*o9dBU~E+CNKyp{F~1D#nH z+{!;MM26$$@^fbrck2DPk>WnNk13jM!t08O;(gH+QAZj(k~yW-L;OPf{eAq&jxgK> zZEg4(r-=7*Mcf%PbNGAMhRn4GIhVb3bIgxZ!#lq;*4^^O$kowC*hQJje~c9QhH!*=%ZXWP}Vo!_n75WgJ#Scsi96r0LxMAQyl|%58;I}Q#8#BIQ=T%k#nu9! zu?o#$i@WP@wZiASVfHYd_fZ@1ArHAboV4qo(c z(IjedptjRaExKoxxO=}3v^I9h-1_)PkzPdmxK=l;aK14Vaqr{KoHwVid_K|$JIUab zIknVQ8#l)3cWWDo+M?~X4YSwwq}Xydu_l$h*obL`WN}oeBIXaheTSJ z+DOh9+HCD=8m;_Kr=xAO{%WTcB+~j!r1hzt*7nh^ze{TeXqDJ$RoiJfiL@$2 zTHEZj5=RgFU0P3rR+ydEN;|Fd*GbZaBCP^Dtx==hewWt6*AI$1%yexqU@VPV9Zly~ zadxU7fNBfqvLfB+w)4V?QJl!zS=WEb^ut(Tx~dH_{4Gc6dNHk!A8(h}Tcg~me%wX> z?J+d^x~yvW9;Pyo9R{1KYnvtBc`6Zm<000n8sf|-kKd)%A%HWZY!Yh`Y_t}Mw60i0 z>074b95j;kO@@DKIWKrjY_WSkBkkVL0}Z3ao!)*}>($MqD}Ax@-{s=_!Y{G5THiyh zbb2&ataZ0o>rP9_l{V1pyxbN`-0R~vwdFRq+VKr-E1I#scXQeM*=4dvWn!6EEEnVc z>d-b%Qy<mapS#9P*wrecEhk?raXk9jrcnwpdfREx__Y+$M*#I+IaM8)exS_nbr8R?~ALWoMDH((-QH8iyR~O~qpAYppxtRyw5J zcXieN46*zbk!zP)E8}u*%agu;u}Gn@wfx2%i6L#c@9M+*qs7#(S~tZ#c3W9?{|u4- zMV47q+g5n|@nr_r9O6kc3i23dyZWaZ_*0)3oouMGEn)iE*0SQXBRi6DjCK z3UgcIZ@kvK$*ZIL_K6g1f z*5+ouIpBoNw3vs9#zZHS79w8oqMYvXlvrB}p5I#lNfUpK34j~eOeqX`^ zL05_2fDha%J43Imfe-v$G>mR65pw6a2Bd%rewQ-TRY9I;#-Kibey&^yK?&Y z8Z+IKrM)WbTzO%yO1&qa?#SX^EUk;YupUy^tq_hlHHD*mqFIZ-kC;h&7MbDmwp_E{ z&3vvNuX{G;cRj1yZBZ#Njxb^ka~am&b{C|SHR^`3bRXnLnG8D}eY{&MQ#OTlV%2y> z`r4ogzS`dmh8ehR>4H0qc>lqkJeb)s zmX(!j&dP$d4SvgB#$6`)7PRtVIyI431+ucrAk5GaE&nhx?BwVVaNAg2(u*6=N$}o4<;@*m^OkoVbtF2ysO*?v~YiRajuQkhd_VSlH z-EZ8=A8MV<)XTrn(aSe=Fh?K%)Mjh;;kRspfxq$zgH^z&V1x+q-p|78;_IL%Z@dnA z`tW(7FX+5*b&l=y@JYKD5!E$r{c4fZxX~4=WV`Mf!RfjK0*-YD$bC4HZlhT~A(>lv zbxV=$wW%C8=<%}WUXryY^G;5AkF0yx^XFT}cCB*GaGIukQQ^d-Wn&Grm~L6zzb+*w z;4XUG4OAYasu=`>Mm)fV&p43S%rwB~NIS_MZ8p^f9rt z8l@Y3BiXuaTj@q2qUK##x8W$g2xlE$Zm}pIE|#~|Je7DeTLlVlg2I@)dijBl)T|~A z-q9NOj9ZHL3lEz9|JyjsSdrH64?`9HAh@4BrQ?}oAV7^j7|*vqf# z9A>R|mBBOa<7L;8W6_zhk42h&*R{%BhOsLw3TL+|tE`OTUff9hws81nuWhRGzjl4J z)@4gf_nT?Qx@C%u>`Sa{l0SP#)5pI)^(^K6YgfivUAI?JmEIOhUmL*e=ZhF7Ntc~uu#8Tp9n z$IrM`)mi19r-kS;{k17k+oEH-?_Bg{x5ay$+O1r7?N|AUYs(5xn}^q(HhZr>)&1&( za`v1MST>t=+qR4i8n%<2*D9aBuuJa#Ra4HtHa%(vazh&8|Tm>x4WOTGA`jqwKJT~5A488n@4!R$=uxkv~ z)+2=bs)tq4s5@tN$8GQ?jGr>n98vq#0*yXHd!T6DwD|i}dkp@rYIm*Z<%`>C&*J8| zqEQ)vQJK~wYQ4uI)O_o>+DnupRGMD?m%&JO*sq4wy?lIoUH07pZWAJLuTf=mu6{GW zF7vb?lvT5uTvynY&^8zQD=}Hub;H45)eGfEa{}g8`xf*#>5dixTT(E`S$FhFU{wVr zz)FDqP;eL+rTRY6V^3Z3#2gn}YSj}Zz$o>HCk_Lnvc82qE?@uRu86W8z}oWIK!VT?VEa!y28b*_y?7{{W&feo@VPt`9P;xIH+?ILc^)uc+ z>t)?n*Sb|M!X1!a{)g7A8)?-9_w5xXNzg4TIW{8V0SYT^9!WYp3Nn)u2p0c z6viM*v7oUY(?#kcgXfn0d_Sg_hB`OYMd0_f^M|HFPCwDz%2+QO&ccW*B3(AnNMim!_1~y*yZhJoB3$gqj|Nk)i$qA)Z8+whSMC`%V(j6vQd%j#mv>wG$XtV zU-=&xZy_wnT{_cY9}y$Y85~|QKpgtYqRHDFkdie@?TS}+OYqwSeq3!9=28XCmHwD- zdig~I7xV5cVeX0Ss@rg02p&Z?J4WPQolu*7LbI@IxF^jdH-A4uZX8MV%)O9pqYyHH zw*-@FF>AMY+{!80!^~FVlXBU_Ns6t#e4yo**wCFTa!EGDf;BcA`{~XX5u6>Nj>={7l~8E$-kS^IO3%b*Cp~2 z?OZJ17DT)-{}Z*~%&ll>_Kt+Ug@BK->>`{n5g(EJk(*vaFMqtBxHu79+y*W>@Gy

ie48!vU}F^k=J5IR_ZE_$|gj1S8vc?+qt+>7uo&#hPZ3o$Yb3K1;wU6AA79@ zv*JWCwq-+f_kEgU-NO}cBF(TN>RQY6W7i%`tJE#*a+1*(nN{H$xrcUW=EA2r4O0)$ z9&fYMWz*ee!o%==)UMIHhvOGS{))NtbA(=guemmR4mW~>&Zz0vJQU@0&r*)JpM#;w za&-XsTzes#v~OfT@nvDxL^t9Mb5}JaG){wYsPN|ed}l}h=;bcnN2BPKch_Z) z<1WD-tn(r7X{90&N_v{u<6yDJfvu!%lUv&^+q5m<-)P%5yjcJD+E&&Qb(^;J@;w9p zleWFwM_g|+Pe)1eP{pyH)ytnpsSq|m;+fs>PG|aKtUrNrcnPrrFCp%S_h+ulh0i_> zKD+0{N#nUMSS#y1?a)!@$mz;AJW1o#2MQwS6Bo1JaQ7YH~R!2@B# z2J9yw#Gz+QOD#qvSqPhzlNr?-T0bybdw8MqVrC6~t0o}lV(!AOFb|JjXTc8^WrCY* zrow`EkD@346IOx><4<@=!fb^VtE0K3yZ2)5NsLZE{QAwjXl1!?mZJQ}Oj~+wmKr1U zVaWe{Z)CUo$k(w3=`X#Ii!rFF_O14Efo{E_Gj#t_T9-@j_r35YqZWGmZiBx2$wfW5 zf&1Gneq*S`S#R6zQI|wRe7GL|1^jY>O*n>6VLf40fD5^rXAre(rzEn3RqS7EVdt;DGf<4+c^QHU%f%ek;C0Dk}9 z`tPfb!)$l!oFFG#J%{Fm$M9yMW)kwc_VORMq~SN#YcfZ00a?nek8z5v`1Jszn0FTG z)cw8Usx9Oj-vhsv<-=BuiR^A)f8bX(306uI*}Z@L!fwNK^3lmQ9b6yNZ74d{JyMKa zU%&9`oAZu!e<8*WtRJ#eZy;wm(wD;Ny9Z>vIZDyz#T%d^N_mwjKA4>z~6hwthnE2P>y`aK`~rW5Q? znfumZpp{V8!!Jh~%4+X}Clug0jtjypIJZjtjiK@j*~&7x8vOAj%W)caAmDwqh&@kx z1G>_>E;R=$%`*6>Qx996hd&j42q#z0t{&x4*Y3ctFx?^FWp#FSEgxDVyOozWX>xF; z=35P^T+EDQ-^OVJt!n$RMqI)=_tvK6q~h1@CTM6ZKA`vF6xPXZb)2*1n=zt z(6M-t>T}c=w0>%@<7w`6B8*8lL-eG*091okbx;e(79Wiqidd}j}@?hM7>@tuSGrH^Sw z=$Pb>@viHh0X^`N``tyHd!>D7#5YO250wVCpqygtb9`xvWuADbP( zO+m5s--xUDfXQ*tGwD8oII?Gw6CI-!1jeYNlCUGOlN@b}y| z4-aDSn>53$EgqwBJCZr3+RSu6wU*BMir3O;dZaXk&BiY)olKCy2Ofbn%}+A}*{4xk zVmqy8d-**=l(=F@!>Y9hza2*!96&u)drzJIJ?ilqJ{$f%UIw*z$Skz_Z#wou;=cr? z*T3*G^XcflEiTL(f~OY~@R{JjY!c*NiV1tEbvv2O!zawzJOX|guLiH}^%dFc3li&V zYbR}MZP#*P;=8v4@G5)w8mb?^+!o+Tt17fXdk%N_<;Lw8`J!y+lGV-;h*PK9HQBZ^ z&ef&V?_WzXUp(>`+-c|=J$a9-u?oEPK|c@nOu>8I9=;aqc=C1b!6{_ZX!8Ag_zHX@ ziBA$lYZ&^i@B89BaKSgSyRG#7oAW^F&^%B@^FZm)JU}s_bZ8!+SbgcxJb+i;-Q`HL z%>z~BvC=$H`n|vNW=1p1ID7ZYLW?$hXE?Oyoi=Bze8Vexcu$LSC8G(iiezVPUYroV zI|MD?husLRxYp~T-(+Of;M^&!^I*e7F0$=f;L+G?=)vi~E2zxHE&S7su02mXe%!DQnmMqV%vbWrD`ozs{w6m?eZW&8whaS+M*($wO*H6 ztZlt^u}@;H*NxV;N;bk~$PD1}eV+-S;(eaq|G&ImXJ#^U&Y3gke9q^b&o0@Ki?-Y& zZy)6N{f7M2`08NPZ-k^)9~ciB2P+iDIW5JZeljzb z*kA5Y(Q}OQ<(K$8&E|h+u7QQ+>;`cJjg1|30djR78^BFK2g+na6@J-(b1pW|%=0#wb46Y`hq`F0nZ>+nT$ zZhBPg=lPL$*&`=CD(t=2^(V#h=fmLt=Y&}PT-d56uWipW9u;@lJtt{-CGKlZ(DJe{ zP19e?|H0RmYZi~Z$3A~T9P#%i1HRs?sc2EmiuZ4N>K1_87*`+7JckzLH^Z`D=4sfc zj#gi2BKkM?*w&-8+zTEQ-Z)94hNKg8#8c?Gd+Z-aN#9q4_U>l)fc6HC0PWokEuc;P zvhF@UM}V=LRoZCzJvJ2W3Tq-Ix7gQZuI-hT_T{siunK~%>}J>5S7)vq@U+c%6*gMk z>?`*Cepz>4$v=(f_-AT+UcaQf@7V=o17ytI>>N8O{S4pAnRYVM)9wG2xnRIsP8zGt zHoy_~)b{5P*7ITMN3F4pe->x|)l9xN+CDooV?dq?F-tTR# zuVwEVSMaSC*;6tT2h=jn`DR@X|1OtpN~YqGr+Ibr_@_;_gnnDyzIvxQ7uKbjxs4Qc zx)8J)k{9SJ5za0x>|-||-T+c9;xX()o@$(zAbpB-`YrhM!+F6v`1ixP8UJsug$x*} z8L4FrMTMh|nK;iwibFbr`%;|GAgPfKq1>JVikkl>-iPxboJG6cH08Bju*XH(h4cIOC*oBg9YQKaB4btnzSia#q{$DD!!)O@_5u$_FM=NLW|!I)@V%i%el_xE zKa&4^?UzkfKF>4AlZ-qGkK{R3yRV60=p^KjA&1{1IqGW5__xN{$oNKs3(yVvpFlz+ ztk5z4QL=dq_K=eXwzs5qUDFL74hJF6Psnrlkv!VkJihkZ;G5PUNAV*$Uaftu36ut& zts3xbgY)Uy-#M*kfvO8W2uYt@u@Wf0h`N>|ziL4KY0iw=@u+Jao<$FMw!t|XbtUt4 zZH7cE(erms6kMQ6$(Cx~C`%_EjOh)|p~w>zjO0nYD|bQ9pS-oox(T%gqSgzE5BI?a z=WVPux1}WS-%%?U4ZW&I^4O5)I-h4|>k_^;3pXKW+#@+p9{7yUIT>|nki+MZ95n~F-~5fw z6OBCS$YXi(;cuPhEI+V`&oRtOJ@LJfK+6zZeQP9`(#LwrOg+(MI?1*Wt9_4Wlu-kK}miz-&Ip4dnO`*UAt0-ZY!7(4QiGT)~$tw~&>)o8695 zNhtO0Bc-GVI&S3fW4nnjp|ynF>^6%*2gVmlo>=cpsd3ZUpDU+2r_|&uCz4>o504r> zoR4L2Lf0GP%v6ouhlHtR{0yG!6%`#pxyhEb%z#eki9k*;a z3$kHJ8KJ-FkNdd1gf=trRGtD~QZS5g-gddA!;tMtP+A7A3iy*glJeQudAsEq{rtD2 zaFjoY^6=>FjoqJRN!|rsx=Sc?cy3V$bSj?zvMX;8I8oiKp?mkTPa!9VCpZP9T*ZW+ zQ;+?*Xc*ap5m{O{YX)_m3D3F;o>w5yUBGT+38`iBAiQl2-qyulY2CGq)G>^g5R+Oy zM=hs@l3GBQp$63Tki3}GvYON~mDKV#)S`4nOg`07;?>0-YE`;o;;2!lI%0exNB;qt z$_I+qmEyK&aR~gK?D5Xg98w1H{-~)oaZx7TAJVc*V|;i|_aydo^?vd$b_i(8U3tSb zyK||rRGSC*4sm?D&RHe#!1}kR8pbfw^a9;cxv*FSo`pxbL{G}nA9u6f{MY5Rt_-6` z31W|9ck09rn(%PD*@d9en*)i=pqqUb*EjgRZ#O&ZcAwOsn@#J!$BsM-AC>Bj{qk?5ENnmJxKZharh1l9q?11fcrSpZ}Yb0OJpex{LK|{p(dCYx&Po0^rUr zSnn!A;S-wpHW1)gs}=G`tVh^^?_Nf@Md6y!dEIOisQ73mY9x`xk9$Dc&+A%DIF0dp z1MkcnIciiF?3=(@7^mz|ESc3d((6=5kiZk%gf2F{|0}QcaUUmA+q^J7N@!Tz-=B9u zKV>((jrVC=Tm_8KlifL&ICApP8{8&8BBA?z2GI#$t8!~ibhH14e0E^3kexHxGml35 zAjk9UVmGy%#}1h2Ot`ff&~~0jabI?I4Q197$eiSbl3rc^dODejukB(rEpI`-_tMK_ z0MXC)fKvn722^?v+5?Flq2+6|C$Wzv5dU;fA1}X~P3^kNdLBQDC-cnz#Bnx%oYiy$ z*E4{_y4cArhch=lvg@kbcaJSQPM*iK9O&2Byua`I2cExoyc)I41YYZ6gIYe#T=7UP zA0XFiz7}cAKQi+kdA<(MU*w;24t?g5N1iXo^ZCaWsNdq)`p6D;nsX7JGkp0=jxCSu zVW&A~;`v1W`B}%t%*;pXPr~z2{PUxZb(zXXp2y+&u;Z)om2>#M+T&Q2Iq8vH!N?^% z9)5z*gP8Hnk79#8;I0sC;MJUy_d>>S4In&sS6kFA>FNl z-X`u{!8se}PjN0H*GLnQh9Lb6o0A%(El9*hhS;RERA4{-8urr2H92s@bik>XxEnCc0zgL&td?0VS2xMLKIfgQ}le$%_4 zeetj#>n@gYJnYB13%r*;Kh}s=0eS@ZR<-C#@f=`8@3n z<5es5Zi41>&1ZJ0AT(5`q)Se^W zl?vx_+joV&ytbZidzh!V zn)phD47#|B?Y6_3lGi}=fCge0+hOU`KonQ)Cl*Q5KT{@~UbwzQBWah?22TH$HR)hO{lox++EfcZ=A84)*S#}zBRWV>>wDT^UKBRslMBkH4-`u~CqtX_n_0xxtzfnDfz zl@sOvElsc=IwEBv-883f9r=1s=!v?y=kNpL2dc_`g$u*oAdx5R-et`9T#y1@1MwsT zPZID%A@zjs$YeZG;E4iHeDGu@o@Ak>bOrHL0pEtWPuY({a^wZe#0AjyT>x!gc&ku^ zaN$XPUMk?TLa_j_d^`>QDii|vY14Y1g9n0xrjt#67}s~~)6rs)t`L^70xAQM2`-_{ zBD9%AhPcGH_-ETCv>1KqMf_oAF}oLE;@f)~_Y-hm;Z1y9W;5~}_&Px*=Q@Vd&TTa>eKfowy$JHPEXtYlAuBa9brM~KTQdmH#DC; z614$)uK`gT00H)a^Y3oI7yUl$gN*SE?Lzbm+HeMYof)dn)f4zt zKFTIT-$a5B(8Y$^gjh=^^o-^s0}=n~eRDC?*u|c*klEp5%fiu%FD2pg5AUHN!RTVY zvV~+0>s?9v%Kc^PV((f&UV*;)!Tgi?XEUwuVr^ExOrHTcZ9EsOi@j!bfCEL|bjeC) z=mqO7=)H#^ZY7cHZ-MOoF68=WkSdS}K7YSHkSSxR5;qo!1{Rr_Mm(T-^7_D3+uK@b z`@(;sNV0`FAL`2-QVOAw+2nr;wpE|my#(8VceQPIa4nHeW+-S|k@vRUr3|Oj7HHyC z3)JI`)fh|dG~yS!i~Uy*!N9~5Ru}so0or(CEJeUiP~<>$$~# zr{M={F|L;Q{R?+5!7l>*V&OVWehJWe;-zz@2uQZEp4$L@yys}FD7bcesOVx7aqad{ zp-t$5y-^^v;I$Lx!Nwl`al*v-7s!q9*$IvK5x5HXNh43JA~`hVeV`W~mWJzdrf)J& z_x8JIuTFGw+k`@I9?MEJuqjCUGW3RjOz2j~ostW8D&rcK21Nyb0`DRtnYe>=u?4Hm zpH|v{_zKYGo(&qVi(PoP5$l^|Un6K7NwG(8djwdTig2CfNAO&!m3S0}hvwe9iTvFyxJy<+ zS?^sLe|Nn#wKonJDKF*kt+J9iI6cj1n#)W)Sf+tDMBRIs1sW@55P|AOOs0%VHL=a7 zASIW);TI&?SC}RsUjSblh@})L)=foZtcTZ;FX8*Ne;x7OnM+{x5Im{&uOre3&^ldg zHT<$ZypB{^$U34;m2Uik|X57xSLoZ3HB*Z(-_ERP?bWVkVh(=JA zgE8#KA4WpDnP_9!3H3+JvIeqHfuoMpKhCWydB9;!k7jo=p zaeW__e60T&mJTcbZ&;I)XiqVix$?%$a|YpFr!d1(NUi!gU?FsM9ls>9Q^$E;gddS{f+nYk6IiY>uL$i z95mn!Kbts6ZNm;)X@b>OS$r}j19F@MMp|Q00e29567>=6mZ0;q8p$sQdq|uUkO*Em z(D~8x@78Z*R@Y43?^}`tj^Vl(-_DP+RGcNr7doPW3TU!V_Sp`9qmWz))kH5_!Q^Q; z#QuoZM2z6DU&}fu!+DK^DwdC!$K8mdB1jLFw9MlyKIFczn1a8T$W2!{Ddkg!U8UtJ z=aWx%r1fcIjA@M9TRicDHwHHSz`mB~W$>QE+hgyARX^$Z>RjT(i_Zg_Z4S{vV*4ZF z?ZrNngZ_wiLT&Fp6kL>G@-|Q@Y+fsQ``=m#z%HM!a=mom8iU zPdA~SW2^X_gNqPBf))USi*L{4eo7*={)dGEP^xdiE27aySTGiMUMalF`6)sRLXWxs z=M@Sd*;H|xlIGVD%S{oY>U`ENrBvK<>`XODDsCRm#5Y+I&WTA;Tr|$3@ZT>9SXQXw z@^Mz+oQ-q3Pz7sml|vG$;x?~Samh&@#iYmaOt6^`U(CiRa`~VGY3SR zK8aYdsJIaFRe+XpePfLkfC zAw?rCzsLUBP5#YbMCB=n$aEF|f@G9@u6l?jApa_Sb>C&J_pZW|5;fAd{48P;{Y_&& zcoiPIL0vKvLx&l2G$oA7A2jxLdcqgVLFaQc+Jt|gwS@AS%*;c4Ev#qFRCKF}lokO7 zf*M2>18HjxwEDxeHOGbw;4F~&^e}DBu~Kjrc7nDR8DbBL3|{3yj41>wZ?o7S#V#PM zL0TcMeDqz-1L$~;y)l4}=h!O)=y(p^LA41rSUse8m(&2gIsRQ|;P(#@(0n};YvSz7 zGXfF)il-Pf?kJ(jZTH~C?W5;C_`Rj5d{5`ul^$iEw)=@g)X|Jr`8QTN@;3W%H@P1I znw{2(O1yNPH>HL_wS>+cul9xyB6|F7_U-QRuy|RCD43svLv!Qiw;Aqr1S<-U5eBXg zSYP1pa=8!I7M$ndO#ELa;hgA$wFT!<`0wY#uR*kh6a6p)zP>|nWs!Yn2Eo~67FDCHPgZgV9YEHxUtx=&SEhk- zzs+9mTBgyChdm6|&)hE64KX|qN+EZheuqFf!6~&(B7F?3fx6kJ?o

Nd2BUFsycl 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 literal 0 HcmV?d00001 diff --git a/overlay/rootfs/usr/lib/dwm/plugins/sms.so b/overlay/rootfs/usr/lib/dwm/plugins/sms.so new file mode 100755 index 0000000000000000000000000000000000000000..05ef3fbb30661d570efe4fd7e1a7346d45c3d035 GIT binary patch literal 103812 zcmeFa3s{uZ_CLO7hRbkKQBe`dkWnKs14PC0DB$o4gDHx2NGtC84)|o|L=KzoU>i) zefQpLuf5jVYp;EIr^jOEa0-Qj+5c25h}oaQ@p8^{cyeOS;Vgi;BF~TcQhvd)Vg<9O zG9_b_oKT*Uy}q4h#v=+w$(dew+49#trC|0{f{blQE>b>7v53DZdQt!gQlfl&8{T-f zr!ja>$(}d=k|6_+{r;#vnr91;Z*QAmG1{g?^@(?a-bgB>*>mq^=U<$?XYOsCkACr; z>QBnQe01xyGgnh)A#X1d(Q`v$RZ%tW6M~eptG&h)czG$lW(f($qT@W&>ah96Yg5?m zkzP74MJ)3UflOJ3dcb{~oeBbmjz0Nz`p~sgRBEC{e{Uk~M|unCZKQXQ4j~;zqQ4K2 zj))jz)qo#L_{V^sB7G)3e=fl<0Kby(e*xA?_}3Er2JnQ06Zj74-$z?HKrx33vLe9-Qg zdzTOPIuLwn9=r1H?rlS6nZ9WmShao^+c4}@!6n`Cu~X-#4EQSd-lkQSyS)!S-8OI@ zpI&+Jc>Y1pfX1$KpIB#|8-I6*IrW=o4KWS#Hpl+W_4^BrU#)pFd;eXJ&!72i;)4g$ zr{40D>f;AGYgUZQ+2XnC(YHd@t_=RfZRQfb$gkva^RQOG(Tm64GJD~Lg{J2ew@%%0 z_Pb+md~2OB;p4Zn_j^8i^vsf6%{%XH%v$rB$KsDl?{6Mqb{?%MdVG%Gr=Kn@&;8tO z=B}I~zo$ktc0K*meT(NAq6bV^{pvj}=CyecU%$WVc-t$L%~BcLKvqunJ)G4|u;tOe zLy*39cn)^&o1fMD$O3?u(g2YDsDAJm`;(2{8i)M(wx-2GRNnXIzU3eD>HB<|oPqQ= z81NBS`;(3SC5Puzq7$)|A^IV*`t&?P9IUaX#XpR=QHqY_CKO$a**#o zhuU))Bl>j?`uVqm{*F2HPbs5M^~XBY4|d>Z9Wf#O5qiME-u~%Oet^9&U;xr`YDD^@ z`W0&XlT98AWc{K15(oQOOU_;TBT}YO_9t8Y*B$aVJJ9!V(9f;C)kXfy4(%Pa# z=N$aU^A7T`j`DG^mvavGRwScGti9;)ta6~|@6bP*&+UKI{sjkq zw$e-KkI-iw8Pa+0D&(#k8uh?NcBs)CMb&&5`hyEoy=rh3~ z|K{6z+b32B%f=7!WA4os`CH?_-yR3~RXXH}Q}uf6hDjgRdRvuXND=G>7@)dx!DZ=)lh_GWsN+#~s@L z$zi-*>FvI#k1-D8dx8V~ZinY}4*b65U_T!?l>eIp{Tc^;G&22?KK47v^CyS?SRLvQ zb0|N^!GCObkoN!w{VjE{r*H>;A8}|u!nap|#P1^x{Xg29Ez0)`DkS|8I>li;-{H_+ zh6BB8GJdJ*E(d<*I`H#>tUR^1#ex0;i5CI^NN0vK_9vx+tp^^+JlHe0F!q90!AhVP zdNz$_>_=aPxDKJ`9iX=#3zQ8~`BZnt-fd(o1%8S0Zx3YbV?PD+fnMmj8%!ImjO9q> z(>xh_8Hp>gM2;*Kb=j_I_vUAC-^6_}hRzjR?FS&4#jN@E@B8_O`bW{MBAy%wN*iHT3sY z*u$ez`|m^Fmte0`q~`(XzkGbX4Ss9EZ-B&4C-nUp#^)lb{NfcpOE=*0!$+YF&I43#1IF$&b=I9?rK^cYQC55TE znP_53KHl4F_j$W$ZhWF)a=KwfL1tWfOhiV0@Q*!dtQ*$zHFGOjiL48XZv9(<5|GKn+W^P+|KfZXq301b;pC)?UB zGC&l$zr-!tSz272T##8F_ros z8UmpgW)|e6rf0@vWhKO?XY~qIF6$6cv;`|zL2BO8{N$X}75U2y$wirlWJ6}Lq5oTG z*ueLHotcxPFDN1#>O*HK=oILSGjozGc3$smWM}9pOdp7Gu;5LVc|*I!qkW6=<{I0r0@S!TGJq`bSTJ> z8M7b@f+89b`urj?n#@^Yc3YWdlRYwSB>0$c8jdjuu#X!kJv2GSM)&s^&#WHv{5_?^ z^9wNOpklJjWVR%~Fq>hPC_;xbi!;-63T%KSXBHzS$yinp){ohc+|&ZCJ~bykb45(9 zZH&k}Gu2S2&rLKG#w>{c1EVhn##2;)*-o@c#2k{v(rlK$B)JgtL}v1mTmxkKa6it% z^YROG#SkcgN7VF3IrzhKPwp}r6g~5_gOWoG`3t9M^-B@j{87#f`8oLy*#?wcsa$nxaoAjVGpO5cTPC3jB#(%&u}CJ~OwGZe0{4S0u+^(`UId3{<8m1sog z=Vymb&de)XRtO#uJQ%e4KWr#a6XMqY)HzQsM3|fr1Gk!+ouLOw28ch3m^K zq=4%W@{y31kT^LxaauBs#XqhMn&w1z{s%~ei~9VZP?%D*EDfQIG~f5JhVVi-*yWiJ z6(Z9mhCe7Jwk$74pO@|Eucm?QLUC<%qhTe>?Fl0zXk}+WWE~33kdHtc#+r<&UY}c# z6PFbevpgX^YoVx&-jOj41<^gMGwcD$l;w!H^9$qth=0bq1R9Ttv9pZz;eUf#PZxW} zb8qks&VOOWWm_cmvhqhN|BqS@v9Bq5gwV%)`gq0|5*^kLHxk|Nsbymnf!dVhWW@Hg z5XG_{k*48>5%>a>loq&B>9~c-3qz7)5~n05#3xQl#%4pZ-AN^j%V*nDav?2Qm(YVW zs{5_Gr|OH6#np;!VV+MBtHerfOw5ABeAr-tv{!&hF|(NHXFI&YprDrzVXaT`mN@I$ z*9*TI*GsE@c|cpV0=p%-wwP7VlJ3r1T9}%K03|J7Ty)-@hnVHh@ca1>Vab_;z>*c^ z6<|mhmZ0540|w6xb{}lk^~-}q6z4+H=)A-TyAza+hdxRT!C=1&v0v)a%-?MYH>@Ms zYailaIr*s>|5GO=DnQyt=~=nv=M??YQn>$ajZKF=gYb9mafr*Eq9Xm$Jh<1ya0l-d zDlJOMhT#ZocK^%T>fI5to09(5mXlKPh4;v{{GYWLgI+IO_&==Qr~TjW`KWEQd_(8c zJAeFMd%IDM9`A@rCN{N*H_%SxADcJ~;RUJs!nk+}7%+p7H;hP*0sFnPT1awYW)9}2 z&>{miG9oe`T$Y-Hc}|>h5)I)z7!dKfiBZXz0uk^?D+0=)363(b%++QtNnMtM?I~I= zWF%9rJu3mLlT7Se(Yxe={2YDy3Nb5mYH$DS8<2C-LSyEng&>8-;IDU{`G3Ob*?R5c zhvad-U0T0fpvSiUQ;&i92pfI*d2j~H(hYGo^(?0lkj6uw2Ez+zC78Hu$r61rEm;5H zqO|WY>y52`?>??*?G!e_%xFUwk$--=w8;~vgWIFLnC04ndA8`SPah`H4h3xtP@rC9 z-xgHE5TRoGA3=k|9=vT9ltmLbn4s9h9!*S5ULbdV zeVsnsIl3m!kv7k63tw!zP-&^OA75k;g9!N%1hzl#vYkPQMEglM;Owu=`7Gh^!jQwfHHe^|z{=sFL$pr=q%9EwtHOdLkkX%^? z9HSxA7C)Jm|8T;DJxsApnA2#&qy^tE%#&2iK2HLtvNxV4e|eUq zoEuM)$-g~Eimq5+j3qz>#c||K#A!7-ZG|DTC?S4%&oaMf(!X(Yp>*1qmx;;SHdSMB zZgW*(wDJ`d$$=o{*pVK`pf=M%(}5d1i4>aHPFgITs24oj6yt;f?USE3oaZ^BM1!nwGyGd zC4Rxmddc;y_-^asY~-GDELLZLl{{u@5^|2`dug<`g{ZGhnlj2O!0;edrs zg66`rO4Cd-y`%N3%`!xX5ihrg&^``#a@sO|P6nN{(H1>c#P&G(KXpa~|& z(6X#RkA|`9HaQuc6t8n&dZuLquIxy=e{*q&yfkl_c*zB9+Ro#WafVumqt(K=gg%zm zOCH14zK4O0NgCmkD5^sI5|WJ8@(YR(58Q*jfb{&_0+C!C);?j$q2Ybpq0JBCwOo!d zF?Z)+Y=JD793#eR;=UcmB5V~~sW#5_`FY7j`PfSR-|NBTZWo37gYvapxScQXFts`hQ@@S=xO3*!1Hw69kn^% zAvD6Cn=0-eiaS%3g==HWQ*)N#+E`3DU1~!#iU@jkKj+%VOhikP)=yY}CZ}d(Eh{o4 z^O@Ai|E^W*VT>}%{_olaj3QA-EAEA1)L{rW6sM7?*_r<i; z1Wm#Uc|oeaC^LgCE6T~t#GBcDPHqsk$K@3)!=1tOWeC~lFUu@kfqgt2=ddKPqI9a0 zyr^$z6*^UHaGrtBEVSLM!8t~JdQ50&c2rJ|^oDM}U~PyAR=k%uM?|rytY4zX6;50b zSb|MAmd@wm=4yeyAd}&cA~UzZumbf6$8`(L8!U1lD*3b!s<(k%4fkZC_`5|_LL-<2#RZhTSc1M-?24_@>{<3jiS1dsgh>}Iu|b!-1UEb|lnbQS_DAW;Bl*bw zcRjH*mKV>+EJ`ob7ZBUH0-T>K9Srxq?TOym+LDzf#%AI6Ngb0@s8cIRr)& zD&Xeu@=&^+R;0&T1ky?-w~d*3Nxr!EM%yQSFP_D)9DSO&XoPTX3!NA;u_%9HNYBeY zZ@@X_hEZ-(Xei-R2rn{Zqz4E0JT6U7PcEXTP|8f7m*|TOPPntLx zm$=101^eayDSsvJmuvl>%=zEp@b^>w{U!fTO69lPT8nQB?Vpp~J#GcQbWpO_@Q(iI zcO~$t0$VRZ`X+;(H%YKeg4-mxU4lC$SSi6bBv>WEcO-Z~f`=qnEy1G_JTAc+37(MP zNeR|T@S+48Bxsgks|2q~&>}&r1R1_@p#C^X&{Kk567-f}kOV^{NWVQm^(Nq1`5I&4 z1RrGVjb{~X7`~CHB3Osty&#Bha}E&1H-v`>;#-(%g7~K8C_xQl#|YlS*l~i8eGS1d z{H6uLaK=s&oQm(r2+qLw?F1jdZ&naY#&;+_#WmY!5<(ug80U#j^M|T8$l?r zfgrv`GZXv>awCXuTdop>o-73YAvc1fpzx;wjj$Jj@8BC5g80_SlVAYG5y7MQ-4%kP z8S^2CZ)5xko@Fe6AU>)YLvSo(K?KLajtJtLqY#3(!k!4?8=eS)_!eq9L41=FN$_39 zv;-&OdmV!R#&=W%Z^!q31o08pLV}@;B@uj!vHJ)f#`l8+Cqe%N;rDrhQ=or>e~11F z;-f1A!D-Mx!8@RTf|sFxf_Fmy1gAs)1pfs66PyYC6O4rZ2}VKx1f!vUg0rB1f?DXG zpb7dXcn10>7z6zi2_$cWR!4IH+f^pD4!D{HApbq*ccpmyE7!UmuoCEz6 zybJm#I2ZaSI1l=%3*I&_BTg&_BTx=%3&h&_BUc z=$~L3^iQw~`X`tU{S(Z9{t2Fh{t0G6{{*i?{{%are}dmb{{)vp{{(sHpP(N4Czu8O z6U>JG3GRpf3Fbim1aqN(f_czC!F=eSU;*?`unqbrSP1^;{{sCJd=&a8_!#t0umt)ixC;6wxElH=xCZ(s zxEA^+_&D@W@CoRjU_JCt@JZ;O;5z7^U=8$7@G0n@;05R({&V=>pnrnvp?`u;L;nQ7 zh5iX%h5iXX1N{?x7WyZ+0s1HS9Q04{6X>7dM(CelDfCZp6ZB7TGxSfe0s1HSJoHa+ z3-nL04EiVd9`sLeEA&sW9Qr3%0sRx)2K^Ikg#HP>0R0m@0{s(w5&9?i67)}SJM>TR zW$2&aE6_i|ozOqQSD}A`??e9tcR~LI_d)*zE1`dayPQsm z&ynF7GWOeyK3#@~%kT*@e2fhDm*L(r+*5`-N%&CkZ|%16Pxw_CZkFK} zW%wBxenN&Hm*Gcc_#qkojtqZ8hVPW&+hq7A8NObIua)5|Ww=3x=g9C38GfG(Uns-p z$Z)L;pDx40W%vXcK1PQ7%W!WQ?kU5aWVp3UCVv@jmf;s=_!${~LWUog;YVfoAsPOT z41Yt0@08)&WcVf-zFvl}mEkL8xIu>J$nXpqexD3qD8uK-aIFlVF2loR_yid~Muz*# zaBmszDZ`y)xV2Lze;IC;;TL8285w>;h98&VM`idS8UBt8e?x}vl;PWC_$C>?UWTug z;VWghL5AnZ@C+G#pA26p!{^9wtqh+o!^36x1Q|X?hWpEKZyD|>!<}Tf)hd&}3^&X0 zi!%I-3_l^mkIV3*GW-zm;@O?`Z$@Rc&$Aj5NHc!mtWPlhj);d5lTR)$ZP;o&lTf(#!c!~JErw+#1`;Z8E# z`m;>_GTbb~F9MHv*NGc&*TDF{XiZ7#Nvf1?;d--ETLkMC#+%*Z12}pcY4N}Fa6?37 zx6pOCTe!p2EfhDI>)DaDQ}A1?D#W5lF0rohuDW9FBic354{KF5&hg(QsrLKKMtpgs zc^ZD_1StaL4JfOQb&IExe!kxia@8qJuPEZY9P1oK`45qtP^ScS2F826`-pbn9KYg~ z+E)$^h`*4e+3y+uh}MVi7FL6!Bi-(J=eOT2wpiOOtZPvOs*&qk;B}ZC*#J7HCgZnc zL1#H|`VE{9$0%3|aP_;y_aoYhq~QH7ajvl|v{Zj*3;6R5Wkqi zSs>`9P`{k;E_T2A-8EU7{Z4VtV%@UYEI@sj1yFu~tAdS3y3N=+dv#TUB{1czC20Ex z`?qrIxJmp7?*8o8W1MQgw>SlC<)4ZkRO8P_aih2s`!lnHxNbq+^lY?-YpP-6LO5mB z;fB^H+4!Gp?&ZI?AbKxFubUJVEa+mbJ$D>u$GqP4kQ ziBYwwJqOmTj~Q8W)X0XE^Dpx|QWD-vc}rcr5T&fu{gZ0sa#3V&KKVw*ub)d;{>(?#-5}kZ+CS6>AAv-U-=k z*&lFJdm=Ploa1W>g^(4QOcfE zgmnu}jc1K)XmdSu9p%CW#g=hF@lRA0YX@)xw~pXGN($lzmHY9|rSn>u%5z({P-6C~ zV8Ij5ZdH=5U7A&+30`bsnjp^Ub=B@KjjBoA!U0nl@3hs6AI}YVVP4}pO|I`W&dHSN zskrUfkqmC9l5Of1<}?k|4TyhO`%RKB?_9AcQf#5tg)C-O5I3*2JG5K)u8E2C-)Z`) z9;3LC9ho=@zwHFOJ{o4T&y8F(|5xs2Zhh5Y-ib@p&Aa;KvIX(;T7A_IYg@;ClN8nN z9bMh-t@PtP#6GBa8hMqC>AWxh3O|z9;F)Q@G%9$uxm(zQ_tDpGTTtD8o6?roEo^Lr zm1$mvwukU;JmXO|lWhinQ@Vw@jT-$(-s$--jVuY{Aw*RQD-S_W+?1s*nlybK+FH=9 z(T8%>YC)4me+pV4{ESJXSHJGM+XwVqw{{Bwra--G1^V#(M{TXDFD*_bZ1X9MFqP?> zBGtxI78bDBOSy4}Nb%MliX15ZTcY?DD7wGyCQ@_*#cOunKHJ4+ zjVdKH;N0z|bCopUA!$Ha>nV=eZh>pef{aPl(V_UgrgsN$iN23l`Na(i_R~3WE3{7~ z4dGQA(O0Fi)aNAQ6~RMlgNs!K%8CF!9pmT2g+p|MCF&}Px_7N}Rmfo$++3rsg9QdE zcXta=ihz_IDZbpTu%-7Jh{9Ru+XedeMBBu}Mf{)?Y;+cD+u%B7t`oPWDuR1d z`&VuQSzp7Xc&DG%7FM?;uq#Py^iGS@;G-5c7~`HDwQOL~KR@fPC=HIklJt#Hk#M)g zb2{5FHl;2hH3hh50Q}}NrZMqOD19YK)#j-Tm=u_TdLi&IX1rBIpp8dO(5zQ%t6E9r zFq1TD_(V|BXhZho7MhLC^;hfHp`XR*?@FXiNYrO1F8r=FRqI36aevW{053TWq3G{wvA-s< zzYP7gdfEEBUh40y@us9CzJd=(S;ZxwpR81qKz;QwY2pKJGRbBeucoaKY?Wlv`7!=5FE!awE7dp`j&eBxz7n2+gV#n13`W z-9nl%m7jO5tLW2f-9?J>#lGdy{wG7Z0F?irC9Nl?!uN$}&y(Z1X<|-Q3+Aq>*24kl z%N>x8xj}_Epi9VWQHn6DWk)w-Ww|qF zAB{m=C}_4fD=WtGr|La)Y6lt$NGQC)MT}ftG_oUQx7o((BEaEDYVb|*j}!NZwpy>A zq)BmV8>1?VR@J0tDd6498&i0vHc#=*k37BE&`4Z7WenhGuAdvMU|zpc|KWc13&i?a zs2__FnT02!GZ1w2@f6Jr04M9Jmc~KvrpHw)v`cg^>Yqvq;fC<8q9^M@6v-b<)ul*1 zb(Q>9Wb6JCwdfbg$0#-^cPj#-e!khgTc~T$@M*jsf7YU|V;fb$XN{_Yl{G6A^BU(4 zecLop71j7dYO2XqaoQ&?iqcTLn{85f-gRwF>d|(;&{ZAm!4s%EukpBN^@wWI%aL;$ z6IcF#5qO&U`OGoZ6`ugb-O;PKTWh|uuml$P8RmjdjVxkvF^vGNF$I?E2k+}tbLT-; zp2)M{*|kB?o2BXFw?cHcIrL;sEi1c~6ZWA>Y+94Lj1o!biM*_xs9#LqRX5x7Dky)(@6$^f?_VxOK z+D-Lcf@jOo@rX?)*z9NmU>bA>&CPS=YK)5XHC3M6i_t@B=3AWZ4B;a2FXFxqr#63u zOPfD@*P|Ve@ZpmlNfG_-vnpPD?c>zr?dGWH_O!yEe9O7&_T_%wj0nhhW@c?AdR6_G=|Pue1*Sg5Ucffmg2`{$1 z&3|KLVdc?BYHXB`4O41}asWq^9jUI+65T(8?#^L0s`ESbTqLM|AyQo~QZ=;LXssQl z`b}D)pp_!g3YKWSD$+_2Y0Z^rMGkZNOU9g~&GEMDb%T}knhzbgi8S94X};BLqZs7<+j7eXJtv7jy~N*zPO_3`L|W^cuaK2! z%A+-+m0XK+{mnkdSexT)(utL?s%V-qLMxC~>alxY+)grZ;pO9P(;wJ`ihvCDuOP z^s4SjhZ5B_d&SxxG`*xNamahC<|VOqm00_YrY*W+hY~N>JR{bAvFSP8gARG6H6>#0 z4PxzQnx4|}4kcFCvy|nA4Q2i|tn?>do6k3NxCP>LUB)hP^pTq%cvWFrg_~H??1xfHyrw3jR$= zx{!XkgWv4DEb3pR;NFy=yQN>5?tP}qqW;Y~-Oc@STlbw2DVRkYX*5UchW9J;!@kc& z3a89>>IU`8{nx(tMGD773dhWobT0kM9NxG4vhG&foZk?nVBVOku3cyBJ)|n6Cy-Vm zEkKGz@ya{$UPSUm@{-^Xz>OCC_j-`hkQN~o<3HB15NQgMH{< z1Bj3ZZ&ieLVK2?C%wrEl%pT%1Yf_cXyUIp)(Mn-db^F>9Md{4IVY~5c#7(oZF5$gK zR?fyhbT&)NG{Y)aTNZ|N39p;k2IoDhGNR)w(m7*h*u}{?+a(NXWEEx6OKWHi+a*Ld zv7pr29LdXk{BxAZvl`ryjr^-?sl;!WnfUDzKIx+OKbWXzr%bA{$ZHBkb-P;8C2VVO z9u;zW&=#igDh=SCwrE4XH?pZK{L4`Ct46PK`%0<8_oe8iC-2~*#1?{#y*cI4ch$^^ zqZJuR$lrL@IA{p9Gp3RLU>ihAm*)ZsHy+D{zyIX9c}X04Rk0+UXxl67dZ?udH0MLdn@EMTkEZ(ZR17#6Mnmz z#s%(@L?dlS;sX>c8fg@g3(`g0vuVU{dLIM)5O6!vIg1)Gni?@0Mb~?On)R1&l7ikm zXR&T}f!+R7wA%>oXGnfQ<2g&iun18LO7q0M3ehG$>&%j^X$$#KzC4<>Kd@TVO@l$Q z@V_IPsTyX};6;;y^GC1W=%oG~6}4F17yc5u#F3MM;mREO=v&JOkyu;*#@LT(85bXF%}e*-%XC4t!CaN5`<>;li) z$;)2%;!t9{awB4Nl_tf#EkH#(5nV!r>8w%d)rGx1|E(c`N{pKgM*BVo3u3MRUS%5( zKBn)CE<=dli=b%nRs@nQ{s6o+95j`IL{mxJ5GTqqb*Xw%dPhKWlRH=oG4(&smbj9IW)%5YIiV4H(@i z>})1E=NTatZ<{7ZK^vs2OIEoazr$W4>2WJ|U^|7h7TdW02CFxHeKke}p%f4Z3*ncHXjkhGh>5U#Jr)}}r zsuZ~hZ)}QFN_i6-N#<00e4`O>sr(qxPNorv~4qXCoq`mD$E{|P3u9z4^m6ya0N$_W$BJRHXY{L5Fw zuh3%mJm3+nnhWD$8AkuDEMQrD81}`Pmm$s&`-qm#w#X|K>h6)erJYYr?PCF*!V}H* zy~r*h(m3`qwKb*XE76Z`Xdp{k-$1&4s)73ZL_?}h>p;i9rc?N;`99qYhxb=%li;;G zgZr(uMkl`WNfTBE~h8BQoq1GMa^Y;%iicAeO(c`3lN^ zg7Qu+m6tn(4}r0kPc8@d?A+NodlEC)aB-H4ZZOnqF(1$#`#8Yyh?5>b>_mIe_Ptr} zcHG~?Go6<@VGc>ThI^E_tH%jAmjqmbG!bbG65ZiDfP1jh@!uSo3;6XF{5OIC1CU&h z)JUU{HsQYsF$XCeX^0vBZ4AI`Bk|vTFyRg&pi{`+id1K`?l(7-3sl~bDv6@ z#XqVY!Y7J*b=e31+Owia?Ac>DTyi(f@@rfA9eVsN}Ugj1wSu?#ibvK_SXEcg4T4yY0S5U8>mFDJ*Gr z+iH(yZ2P{f{pFH4vHfZ@PF&j9ERRWU!IAB+l_bL}5kH;6J7$WlI)(Mk+1T$?U#3fr2g z^=p_dI}sXl)akD6c`xyVyKQ7bJ}YyX$|17QmTi@M^=-!VXA;w24-mjPiuc(=YlSe;Z8LX;Z#mB=dudJmx+DY0YhG%Kg z#YVPAji$(W-qo)Qi?vQKoHaTx?ZjD&YLv1x@RUZ+M*Hxcf_u{mqf^*moJqp!%o;tx z@+J*VZ+#2y=vn`bkgPqW_7#*EN%kJuDI^^(RA5&*C0nuBFS_yDv^0~8^0dza>^d)q zT0D|7DHYgn4k_ty_56%ku+#iTWK?6~gS5*WWvY8{=ubZu(QGkV2frKouy&9bi&5;b zi(;kuG*3e}q7K)YcR}{vlAi6{jI14rlMFZ5$b^<3dACZedAjK7tEPwQ34Y$>*`qIe z9R+M=2)tB*8M}d^52`ZazXdc5eh5$vc)}aH!wJHzvFoaCjUUbxYd?bgT}AnyFycQW z!~3KtK)u1domcGc6uP?=Wh!wcpu$S0Q{bENbC5w~`G!JB=GoT$x8y z;AS=UW1C7k1+ONYE|f%q$Bl?7BU>#c7x+ldx0sEOY&}(?fL(P8kxkP$cj#+&r$;%{ z3@#ne7O8&P5(`f^NP(LlRYUf8l}2(KL8H|)SoCLJlLo?{oh#WKHz+U?@l>ZUr*W`s zO;;Yn+J7inz}<`8u1;Y_3FG`$iXixZYPIAQTrMK+#ENiiwdX`e{g zdL&L*JXKL9rWjuN8M9e<1uXphgR`!c1y=Z^iSqmqHm=d1HM$R3jB_-fJ;ULDtIYnD zqxR5z;9t5LTvwViu~ba+x$6rv&6P zXLR3GPJ8G6TX81AE~FwhF{>(~IG0Tk;pwOwSm9i$wKz@J0*{NQHG`_u7xfmIUCO-n ztN6uy*=%P>WJ;4Wt6OF44XDv@Nb~`!ex@~C^5(1+`E>wTgG^d zu8hXe9#3t5e+8b_r>U+!xW`x9b1v83BKpsX#&J472Rl1i8z|-l7(0csM&jwb>7Vs( zb=2=OCW=?~;on$zjD2R}`)d=GsWH8Yn1u!XRAcL1TRrux8Jt}=@4z|m8T_|`P9o8m zc@N)LYychr=#Er~|1Q)vyk9<8!5%=;A_ZQ+Sty_jAl8;aND;O*?7u|Md{>WWe&pae zOBwPvAfN7-+$D{dsMbF}IZqrfI8h37;#$WJ=A+vK1FPEum7>2jo-is$r||QxZYr|f z_)wP84G}gOW5}q{(@hdz&Urj*_gQtWVMyy-^;(wzRj6{Y!iAjxMK*TKxWRl>`|z~t z_TkC_Z5B78T3}4)iLMXdsv)YNm#BO`7;@sVD!V!&mOEi|DO#cZ25W#5mbKfv1ec#@ z!g3ZM8c~(bs6hF9l;~UcB&Slfrc=13D;9MFOy?|zP&Ykmg?1GGs{XYs?9*CiR?KT1 zGw=?a-l|H2xEU47(qkGYTOVeOLR~l1Ju%jI9HK*0dTv@4Zk=pigu5J=!%8{o>69H= z12x0d@k_J2gcndRh#Nlk4)7H!@^u1yEf-}=H4k@2UmG99##OhER|nogRH_=k zwD>?C>q3@AJGTZo`|>*{r}J+``-pdU6s;L+UCI&XHtgVQG(Ykwy*G5Gvdvzg_+CSL z)(MNxc1X4Age9niO;ohL_c%^6hOf}ZBDz`#j-olX`Cf380FD$}l%)s2lRxS%7yD7r zSmdu5rwl$+d(M(EJgl-lhoZ>{3s%^}BgDuu40yuuSaDT3!4l6!ydJij#zd7^KcO)K zqhL;B82;5YV$EedVOgKxiqrZa&MF*hVL?%?8Bd(RZIi|Pto2ApV?$)ti8kI>_;X3U$j6G-BHrdhU&pw`x zs6w>+d5A3z+AKBj2A1mE@Jp8J-GDuqVSOz%VtXgy93f7E00!FGQ8~Zinbe^m5t?=@| zd2USI0?6}F%MM;6vjk;ns|NRsH0*h+@J`DG{dU~e+L3)Be_m_2THWDn!MXWll}YVs z8&~d{GZuA$YRegmQ-N~Jm|GxO#At=q3;CY}re^tJ)Xu{0l5du3<7qv^oi9bvj;ug& zoTOOK=Mz76ZuUe+wcic9EeRQeQ)TCCeuy&0P1zIe#qU4_vb#2>{h`+&r4 zVAgB(zoaWGc2I7tE2}W0F<($$8Gs4dsi5!Ae)p6(<))uARv zenWabtT%B_G;4kN$sPH#ubrFzO&l~9G=z^Bw?g~HwU+yw$3uJS14o<#-Jjdh=IrsM zQGIN&pSrxl3n%Ya7RN+hdHKm#@<~3s+J>rc=E-X5o}ODpa*Pjdg|5`7Iy~;i$Z6ie zkL{!BU2WbfCh6NMe9(MBzeA64zkRc%IK*Wm#Y65-?vD$Er*z#&+}?v8&F5Up$?jar z?7r0-_Tr-X5?;7dSSI!=uOTh#xCTD5G#jx(Fi&~PQYz=K*^xzFGPOgKog6a~w;hhF zJdfw0w^?g~zxlu$aUWNxQB6Mxs@? zr`a|W1&A{SgLe+*V3YS)g}KO4V4X0leNvbYU)?@Q35`=}%}7XW2xNA%MuC@=oM=hU^F!nv+3NP>J#j0v7xDu34&EHZA>L|xNqyj_?T_s~!nH3=pVz8T zf6~4reNBg2v-8Nj#)jf!rdNDAg(o|8;wc1Hj1A+k<4C)R*g?8}AupMCyB(uzO;r26 z1+ncfrGDA|53f6MvqPa!jE!y|w0uC_+dn=0*gso$uYMb&@a@%qi*{~va^Bvd`cUzw<>d}UXeG1%MMvD)33enfMYrsp6szYr7C!XN#QSdcN+ddO<#USM@ zj^;7N=`M(6Oo>S@Nhkh1VR5YGX~FOA;Up(=@LAGLax$286+gfVU@_HQBJIP#@kZTy4>0pEdg8 z)~i)W!TVvad*hBOMO5CCtXS!bB}4qmVQrox5rz1cdsiqo24>MMRi_Os02c2_qio;L z>3LDtd?8O?Wv^e*wlA5*Zdb!IV9c9oT^BIWm%jjyL7w9xT2agxqhT1+m;ub`{H$vc z%IfwAM0(^^Vz0fgve$l5tbMa*Z|w_Id%C@LjX5wsfg7ERaoG}>kNMw^JpKwT?dLXk zu-g^5|1uh}ZB*-bCF$@Bm}zousR%%fG!FCH8H|xJ6zNQL#~6u4U!vPX5Fz@YFHzTg zRKQe<+sVV(Js#Q-Ioj5*Ke1AO=G?G93P~DM#M%}8`eU!nn=j;%%?~Pr&mLkGLYfum zgJ#ujVjsqooU^R-wMBm9MPH-Xuc}jczhfrut$N?G2!3O}=r>NHXLH4#d7@{hE#l~J zqW+CT|HjF51+Si{l(=g!k*-F$_ez`MK*b%6Qr~_srSsZ$ZFF_JR;DX^ZTJY(zDXvT zWmJ2Hz4mp)#nmHe21`S{W{duOw!2`rZZY^LOLHl=$9&3C@?VYAgXu%igNMZ)7@BYs zTPdPDB*wX^zhzqE&Ys=W=|t3~cb-bL95K=z&2ZM-ky z=0o}sqVyN`@V*he`-{8}hxF@nY~FYDlaPcDow{@iXRn{L9PkMd@qb^}KJlrW9zaGzp;TATyybhJl0L~owvJHSZ+?s+Ahxbw^Z21uDJTUV@H-RVm+&n z)lH+Ewf<#IdhW#C6Dk++6VUn~w7$VizHE?sB!3%fPQa)?4($x3HX_opZMEaOU&+OI zTmAuJq_t08^W(1lBk_y&)0hXRtEUWBb+}wpceu1#amNogJ5)*-AnOKMRyF{ zO6}zbmg1~-$|KqVrQ_>nROF>Nx2au%@voOEsvI{Xx9&-?3bE$d<<4!m4!qU5Er125 zAx1F2U z)MV4XD0yz0LpX5`nPJjo`@B9vnnOll4q4sk^P*eD@G0Xa9yl^?+@9!}&p&o`*_&sL zYR%khEvXg0w7UQ5T65}<(hBkJCnC_m(r86%YDwQ4pwsCF=#`-&k6Gp+TW3_v_L-I7 z3Yk8d;tKhCZ3y9_$|JYF580NRW|zB)vUP=Q?}ThOm`JuyLJI1N7ogo0PpDtq!+E_# zv#m>;mvd0v`ze$3ccxz9QIEZw(vjkV`kz=lw?AR=+8&V>nza?RxHWHQO-p+}tthLC zev|yNZGJZ3p6KJX?fk8{ zFKQKrH+*)3*pj3D_*h?ua)IM$#c$h*u#GzYU7M@CC-$( z!<;rM1HoAUMetT(naEpSh_xy&g17bUQp4h zhSs9)&)swLi_x$;?Dz*N+(3Dp(&IUojV0|BC7K+XO|gd&W1CgxwH{Dm)ZfioN3V6O zxZ*psRWS(rl3})pW+8Sq`mS71kCJID@tddEM!Hn$aR#2e17L-V)u6Zu@*@6&kRYU=`Nkl;0|>#hnHC4cxSt za%4xgJHD3s>444hquVFr>n|_F938^*SY6L+^>?RLm=9kk?b|8tXogLyH66nG7F!+N zwezTRzgTCbSjW%JR_C0(&NO?SeJz36{sFY#GnhXSXt(tpqODUI+IO=G5!Nn2d1Q{b z?wZ%?qqgntEzPzH9S-a88q6?x;tb;jdHRce9B!OBmv*Wi)rO*%=et5V^0z;9-2r+e z!SB25yHr-;ezdgbgUPb;pG)OG=?am`|5H{z2IWgX*pZ8QXg=nxRQpKu!`ww9aeKoU zsg~I|0qZteWm$!{u#$$CZ^*ltp1X)2d+`;l4e7@C%(Y7Vo4HnnfBCh;p|x(I@c@r? z&GVp-lf;7D3N z9p@~bXpc0;85LX@bU09?IIe;88Q9S4^P(|RPAd1|!?tz^`>@_3pJ!WRjhHk7H*iLR zZnJGo7BUGdtw3?56;?h1E3LF_@_|kpl+sGeD*Svstg=IBZ&`h*5Z@aBGymhFy27=s z*x7IYkgaM&3x^uK%7<1A#mx=1rdv4mK7E@?erU_8bC&yjDds+Ssh7K};PhML7Et!+9^*@kSM|KsA)fFm1tTg{TfVhyD4_KqzKg6@ZgF|Z zwN2>>PgHFcUb+6sC3VG*xsAS<>(kZn$j#}`d9fg}MwbnWw(hCb?dw*%RJ??h#D}ZZ z71IM;USu6EA+vafy_k~KVVq*hmqzz-?k~C2DP}6$oRmYg+uNoyrK+L|+R_#HvU&uoPYc*!?Px(!1JcV*PhjHK6plI+wEOYY}*V zvkEKQ=y|OJ-B(4^s*qNzv@+}vbWN||+g1At_Xl|4M6Bc0RpgmFaD$T~hB?s-22`wyrdh?lzU&ajVU6P>QX+~}&rXL0XV$1h${jc<(qJ|mDdw}_ zKi8z?)M(t>)b38DSFj)UHg=^3qNKV_sbb&+y8u5^ESG>-u0yy6ZIkcp5WYqPN3mRo z@D<*DXH<*UkkmXnPu(`eGcbEz|DK^HLvk0+JCF=5T>`dS16{wA3g5$`CN}S zCsmnt`jnx(OKA~q8=en#eXjDzc})dJe6!%0SJU1cSV1zQzRqiPlH`_Fzax8BJ@v)C z?X;=`x81kYQ+(!gME#;?jZ0eq>%fkW3%==`KBYq_ZhklVYOT5=ct4`Yuv%Xqj2jMn z>gz|?cK)rxowy6Pb_DJGTZPHMSK^F=@Y}7uKK1RNV^MEGb3|o_kkCwHX%2QtpgHW4 zfL`-p{Htxo7h3P1vqX;AfwPssi)>)}1_97TZE!7I)xG@fF(p zkk(xtLI6rL*={N#uP51-4&3bR7QO_R+lL2xj~q*W}^6<7#9g+wyW&hcLVul*AT2o4SOmBlt3A7|k|j^zOv45H6sc`s9xO z9mCTKEoS#-n;%|ip=gpcm(fIeUD6bSe>2bujS6=AqgOrN+<|j9H_+TL%(IN@<~7qA zv9{J$rllTsBDVJW`zMUflhd*&VqTg}vC2irE(3Wq%lKgR>4E(T`Fzwfzu!Ug`vk1X zY24b*Q8cg|@zf7-L5sLI;N9ockLqG9iB^NTL#(TA>K2mTf5e})?t@=i%ugSG<_Oc= z%tcPY4>y?wcgw(@S;#vPL;k1bT3)pvu zRmfR*7{3iLTGck)*?bXaP~L+?Su{Z2-+lnuh_tltvD;UiRafkQk9FVTqxE=h79V-( zoTb>icV?wH=Si_YKA!SZ%pO@xr%|vAEA|dyJH|pJ>dIxIN8M1)Tej-xk;D|L`B$;# zYV(lG*k=*BsyY;XZ8UZwHYz)?)6g^eJbOpqagw9h?uN#n;`)!hlLy-nz4+C);@>V| z-68ias!PoxzWR`2EN;plx|4I?ax-VS7zD1h*hzt}#!gBH*5u?5rei0CM(ugs1?k+~ zeqKGerb8&fDPjkH*@S$_IP+=UDTgvmweYKrE%hXk;pP*%uO0GRYR-sxYBSMs5$Pz+ zU+9iGlsjE>tiGwfrJi^UHy_niJLG>+b3mkX(e#1tphMo_n%C>!)4lERb~`vbZzjGz zH@&TU!y)&TnhheoL#Aiy>4x1+oVwJ%j%4$WiDXk{BH8RS?GnGRke}i|QBzb;<8Zsl z6(zP|4+EMrskglveOpaHmJ?Ri^tHpw_|6z37I%Z3u!^TQqp^za5biTi4>yV}mzapk zO5C>Z5FR!?ty|;3;moTG-kc$p%rd=O{|@F37QC;@&)dRBKdrd-?&8j9O(n3U7z7MK#!q3 z;Ob9tmlbddp4)*x3RnjC719FWn*hH z9oCp}0~`B(@5dsQcH;v*-@Wy=@%i4ri@E2G+b&(N|G9pvNb`(wqxkluQK-LGUnb&T zW33IpWLz({^||lt>qGhxLBl1E7ujg;CDjH%U)bsVZ?lLA?9aA*3|~@v7Y& z!io<0S5ff8##?!wyDpq+I@`qjviRy2FILK9MY#xHQJR81OO>+p zv6|`J_FVifk{*7rer&{O}G7KLpHtnyRq;0;_%nTzTb;?2s@1h;k%+w*50ze z62FBI0X=NP_gsv7Cpw|Vv4v;)weUp07FPCa!63E3wkfx|`FZaTKpR=cEb86RN*=ov z3l{rgzaq_VFzxXgc}1Y&PEF&5B2|ieil@#)(vzEXM@(JoPB+9>vDV39tI@dIA>*cidlSsXZTIBWEX8LNFG+NCC-_`0ym>|{}R zyc%t(6~A?l-5xWdHnq+JJM#3aQ5}M^K@q}Q&zDT*zr~(uS@fKm(a^I~Q#OBKQg+IL z@a-|W8c)nzmuj(p7<>(10aDFac3rsKq6oPlzGbbSl-S<;;QcAQ|936bIahN&f9M{% z6{>ZA87H6}f%#FC zJ7;gpyaoO2RQ@ggz39_5(0bBz{(ZjE*xWx$xAS*Tj8eq8f+6Zt~x`X?PDuwU0d>)4~FSprx24ntep zA=Ps!jDaq*w>$>5J6awIzoX^h@H<)_48No0a`+uB_kn+?< zIY^T^T25E0@P@Vrk+%QSh%YqOTT=&3Ary3mT*PQTn<6>{?z0L>S(PCbHUwrAXnTiC7LcEhjB`s11T7cs4g;!bX@`I zV}@q4V|@4+260mV#v?kO_!qwm>dmvVfIE9}Gecs)awOr9yO& zbORLF3E++%kx^PdQ>Gpnk8a!vTGCYu+-B)?{H^!LemxAJTKrB zLgNOTmR^9?mg;JdwF{3H(lX!Q*rt4%`Zl!96bQZIY`omn4ixBf~rj6y}ky z#wkj6`R8_V&!ZD(EG-s~YuErz2XdG2X-O{lVtv)1MWF;ON+9ROz~PbBxnA+|BV?>4 zgLA!+nwZqHx#WxnbYSFtqXe|d0R={@|J~~*Y9h>{Xp=DyYBT}rJ6!JFFpUIyZH%UK z;Qpp2{@Fl*a`U=&R=%i~E(g9dhvt)!lY_Y-(e2QX-BhXCxz=?@Gh}iHx&4r8@TO?J zs8&)=#t^VnC#~O?AF6Rzi^F`?@0zwZi1RVOd@Gb5h7I|}p;Q5QvG0gS$uUY2*+wEgwi z&+WcFZ&GCPisj?L53!y!5?@plU-8akDG<$yX39UQiFQI z*>MkYHerF91HH8PqrnZg7fOBAb4*$xZsWZ$%_Hg*lfmrab0+^T_s0F1CQ2x|6;z9- z2jWfZ^PR|D?bLGR%>Jpz&gK_|cpU>bDAS1cieg9AU47YWN5#veHbRHsZ<82bfb{X}l4PRK1rVcpZk3$VG=`3;^*<^=?e^F5`5OOH z|Jtvz2e}KD(V*rw;!Z92UJS;gww?TMv{>34C9V2hNsU5DqiSWniLSqulvRT^ z#-WW*3T>P|;D3n7@XbamkKQ{x+%o0w%6s#FY1wMaYUqW;-cD#&qGippwfXZkgs0_^ zk{O_mj#4{e%-~?CZ!E*DjMgs(nmh??b>LTDC7A+A zD%`!?C(yXxL9q2;$C5UTiO`Lpie-oY%qPZ;oIx2S>SgvBbeH?<>2rk(gx0Ngw@ow-CK}QlE%73 zCH1W?xdoYXB6~Cd-guNap9+g%Mx#VGl(;Bn%wd0_#Es_Be<(4%WCHj*2OyO@`gby% z;*yJy;UpB|0q$bAmu`^TYxc)~m07AA;NIvaZGT>X=X}VlV@`G0XHoZ^Fe1gLK6XnO zx0t&#`wxA9aT}rq*23JyO!FV8xpgYd>zI>*yG*4{IRpx0${5x7tYgJ!V~+e=Rg`fX{J|Tl-*ls(swNaqq?- zO7reGhp>lhb?%tiwk6Fz4oC@A4;tDwp+x_qZ%Z zsF{q4BhW7}$km$Hq%RxVLpU(|D8m5PBfz~=eq~$NzwX#f z(EA3stgfY|C(}bl)VHqxm19o`@v5%)VTy*M%ys?hW3fVPTvxi#f17|I``afEuj-Dp zGy4}EOEpCfOOrdo*Y!VjY@ASrPgg7U$Vae_lXX3x@GXA=`K^y3+Xc5DE&{yDR3rGE zKLlM3Prr{q^MK2TQz9%5E*y^7qAL9fbT_zExbbkVaBUw@R4e!c&ceM1R|;2%up&I? z;5i@9NqCOO(-W@ai2a=Yem(!R*D-$1-&K4@^b1bV14%2wHRE<-Pc7+B$J(=DZ+3qM zufk2BWUVS`x@d>EeDg{N>;+AvRF6~1s6*vS3H1BO8L|hIn_c6ME4>X_ zyu@P`(v`KJGkNJoL4vgpXk`*Q`jKRazxJ4tS#0|S|*83>ictvNbi&=+36LH+d{4TVQIPa7}e)oLPtxQ zbi9*dJ0GnO8K~%_9*>ew(x_0konF8`0nZI`pWpL3^aOAq_yz~PY6rNEZfJx7#o$Q( z0B2)~M6)ya?(H(o3e5oaIg;SUCRuNmoAEs#9C_>h#GLdT|E5g}O0iO!m$Oa%a z|AX0mN`67`YF9|aklW99wDe)if9^#CLZ=|p$K4`z?4at#d*qyUEA zP3;-L36hFnjR=Rl12ha_r#8S{5cH@WDR9VL4?r(Ni&?V5SvQY)o?c5|3uHR}y>zKX zc8kbq?A$*hz<_HdOPPn1#-BagSEb=f!O3c_6+fjV$yn%1d7~G#4GZ zdzKkBg^!Uv=v;8hoFWvJXH$L~3qI`_1*akJS24)B+kele^wMRftm_{*+R-)- zI_pHbP+{$nch@$ED&}b78Z^srlYB4EG=Tf0|2F+#cJ>X>c&Hbt{fZ)REBV3wg8U%$ zIMXZ3ylO=iv5X5Kb(i&mgxY1Kjy;iC$XjULMN0_Bzo6T)#z9 z1+KI3>QrS!<0Ek=$FRPX<^LhR3~UaAUJQEg|w@x>mR^7S>PEWcxMit*?5Lx z?pM`QRM#=^6CH(~3OsLuf5-!VZ#?_JLv#tQ5pF-+Uc?`VBU0NkCO*xXiJya$w)@{y z&Wh=fzMsf?Z(XDMz_#(pZ?cP3fsh0$PQYvzhcIU$UpN4{05Y-X7$T$=Hs8(&L>Tnb(`NXZZ2-owd+*8N?PXBN@Rg(+dD+0Ge??XodU=|J+4R;xF zD9`P~6m1{1$zCGW;{uLyU67;9kA}EKMIU1vn5W! zn+1C60TopzgzQ_EL(dt)W8UBs69#Y&mjt`D3_xc=jX*mhxi14UbWg*2j1tQ@y+aR! z1RMoK7sCKFi8%$2x`w;%C`CvZL&{o%aTRS55&slYQzvc*2RIMhG}i~BFM0MB7k9Ss zHEwhJul;3!bNijY-a^8YY$BTA#sO#;@+l?bBAxx>!K0ost8cCwc;e21<}$#oK-;LE zf;TpYQXw+iLB#<0Qy@(mwMNy<*F<7&c2c1sj0oXvmJo&t^@6X}LgC*4$=Ftj%v!aK zl<@K!27Y5^X1Iahrk3>;u5`L1=_iu(<5g5>lFjY0AHg5ep!t!Hsc|W9HcKLsp)=|n zG_0Nj)#n_}sOO+Z>KrR`cisb8)4#r&FUM`SXgoMr$Ag2_xtT9|DYZ}RdX!zv`=8ynI#y?xX_P}y$M zyYZ@3`P9w+4j?%bsOIG)f`P6Y29Y`u66D zh4%?e;Lb4A_g3csB#b5aHsd>+`F`ZX2D$UZNTQJu;ilyP5xTm8?(lCqPgl zvwi6oUMjQJFKy-vQL0tl%zwK|W(~}JYLCoXk<-j;@OJj4fSt0w>luKvN@gw3i!N>E zk0A9v^%LOZX+(6=aJRSm*&a(f}WqcQ)WGq=Zm`ivf@z6d6aT> z=``dxgB<%`YUWSpDF%N2IuYr1q2=`|nf1fGDLb3_TKL}1n~s#*kn;RX3Giv*`}a#v z!nYc}FG+nJY3Sv_yqU=VUfy`rb2=*u{-(Ug@qZ#O7XQI{?)d*EubDTj${F}Mau(ip z04~Q>&FqI!&Ft|6GQQOVKc~yACiT;$&Fs;PX10D|Grw7a^!d@csa4H5=Z@7ivxf?r z*&}P4`6Nk#&IA1^LaBMG33~&OB1kex=l@PKuSVD$Rm|RIUWK{mA$hE7vaXq5w5plU zL`)){(ReEG3`e{-V7LK2_dA|D@bea#b!%=j``*@OwpJfsISplGhs&&Q<{<76;h2s; z-puYl+{_+4)y${H$*h}l5%V=T1oLFp*K?oT+ssye)67;~Yv$#7PwYjXFt=S1SE80# zYnL{&WtL`k=N&*iUx}}MNUg%iIjv?&Wqp@2Q{cajmSo|}{lv^cm_$7qeT>0-^z*5u zG8N@py_N{{LZ0XwBDDBeHWaMc{O2YrQMH##A9}Vd$b(dL<>U4x$ zOPW!t=2MBQZ8!#U0DUiW6UCNKs@gECcRN;Nq4!sV6Q+1(l2S>3|B zWuBGX&Uqhnx5|FrHNG;k+Wnm%eQW72yHa)W)mO?M zuWV+Q7BsV(wbx32+SRh>V)^&zPoO@w`bPO!{iU+&<Ix7WT`87WQmL3wwTH3;U0P7WT~A7WU-U7WTBhh5h7k3)^_AnN_$qv!Q{_?3$=% zwm6}geJ!Jz)h=vi*B3Oi8`n0oZ)|O5H|v|(Er*-gZKuL_4RG_#gkl<1HJ|yJ&x)JH zP&?PE&SS+SnEpIVW96)ACn;iu6!HHt#alv(lxk9joTS*bR`vN%8J`Pfye6bzkm5nc ze~Mo&#Lq@N{~zNQ3-OPm4ZS4(4{dx#h)+fSj{lhdsrKkfDmz(Q;mFIZx)}64Ja*mH~m09oQUVOSd zN7naq@;}kT3A%0SzpJKH$jg289>7mzuW<&B#HGJ;gvr>uQSH@?lDxgXkl8l-?rIlP z0hOEZKcnI?okvl4g&3G8Ab0FL?pUE4eG~BZNUr}oDz#+ABweCfqJHX~sXAXg6V=n- zNfbiHz7wyTgAk7ui7SfLW0)-U>2@!w1>dv<-_+}Z%&N#G^|autx8SR{;H$UbtG|J; zCn~1t5?9OuwoC$!JHtx0o?)H!%8Iy3v^X%SBC^_}Xkx|az3yu4vs-=jGb`ty9#utL z(JWBiNt$Fl$+wMp=PwLd7vy@sy?*McmAD_Q`I4uSw!&>d-Z=FUwJ68EN(JpgL@)e( zE^M$GIH4LiAr1RgX<;?1*jmko61cfl1DjL>o6M<}S=|aLK++yMAE8-+33{2;9qAV! z{i31t%Mnu)_++Kb>QUH&ao&P)ZqKt6F&gY1We8sr)q;6o4-Z0kFv2}i(yLL`n1A;0 z9E9f~+^f)OxZV|8tJzihYIZT=)Pc#s!L!f???NRopBV0SK<;%w&R&8iQh5hf10z=h zBacTPMimBDk+>GDC@ok~qVZkt7sgdf7=)%*V^yfesxTdJpbF2LC4ZWOm8cq+v>KSS z1#46b)+jfWLl-JAI;ATPYYJ{7Od(|SGHg!Z^23~LhWbKqqFGI zS=RONS=Q~;&Nd!(pgY0I;d%~$=L_yM+(Ec)aI4@J!F3`(YR3w#eM4r;7NMSWoJ>RrJ0!EM zChz$&>vuV`%iwb(ElMf#eNl@0dfY{9{Fy(J02^__z0!P0#MMN}tQUy&Gn^|t%jVj~ zulQ%5t0)S-NWnJ)zU3?Q8WO5312rNC)QG8p&{{IS{PD8b@}zR6+@~Um;kn%`bN~vH zqvydjJSX8v#-&#dYL%>9-U@w0Jylvsq?0j=mnR0So{RUs^_~?@VH9qgdFX*8=Y&1$ z<i(RK#sCeeGh6Ll^nhE{=mWTF`{Fjb=^--` zq3w%;FB?Ak8V_lQaR}wPpIAD4vW~~?|2X{b?iz#tGMp&mBjIM)?=f0%TDMynOX>;R zq`>KJ(4tzcu$>qJFM3A=O0UC!kA}aQBL3~#oa9r z*#tQ_nr<5>H(cgjz2lj$0(ov~H%_=Ok~In~0lbrLf2}2N69AKcbm}nzsHkp3l*R+& zLI1DX)>&(jHkx?8fNu1j-S=X zgkhXG!{KIG-c+xgYx~DadkP(H!wmD~g*yjYQrPk+b?{le}&uFG-P= zGS}9GypB{=$e)fJay`*%Nc9A+_ti^v&qDT->2RYv89XnqS{QZuq`fPxxQ5k403H`$KYHGXL15N|`MpT#B5Fl8@Iz z$J~EcDP#5j4Ji5P12jhjD>oFZ-B4j-!OjhIp_GgkpqtdQvBXb57#gTaXc(^#2&5w$ zo9NKN$l4}^0jG!L(c{C^KKi9bN^p%V#wUwo>mZNX|f zHZyWvzw`rNo}QcnpX7sutDnJ$r#^tbZ+}uBxvjiD;Aq2NhuR?OgGCDx|u!ztJn^nUc#zj1)9|9vV`mdSV$-uC7!k>lGEy$_FS` zwo5A!8sno$Fp-fRdT-jT@%q3(Itp_vY!LHlFzj2?T$}5PxvyRjX|cDPnSQwS2+q2i%yXylGa0k)$bF; zwi^k|Hs5umVU0-)#}#&8zZDK?AtGn@_7RfeuXn?B9Cx{U)6E2Yi+kLs18Hq!2ehs~ z`sf%TCDrr3b_{mHk$K0{6wn+%#^3_}!y#zB2+I-JDRlU?mE$I2!)XHJ#m?)j8;>3a zeEpD*j9On%>DKe_r;@otV4Qy6K6?&!tZf@3i~;WM1McW4d=~{~L#(vaDRc_T-C~v! ztbm#Kli4xq?+(~Q-sm7RZ)3+=6Ayg{+iuB`KG?kB77rT}4>;o~@;(~AFHViAAo}fF zA;so@$}!7cIOdpTS;y?NEc2Llh{6u4G4H7D^P$=@J7$}tut>1!^jzC^j5cor)%Rt| zT-$v3sh%0@=i0Ia-xmmz!MCpe=fiYJ3g+ROdk?rPr&`QoeP#jPSMI)Z^Ci?{r#|x> z_uvJLVN#+ACH{BGLF>BY`3bQ-BJovYe5EgJe9~fH_3Jn7X{er#5~}ar;d)QNXRr6* zP`y;om6FH;qFtZk8oO$s1%PI*eMq!cFJ2#sJ<-m?X{bE}--PE*JeZvZh>w@%zHwaG|Egr6{in|6^aT1!M;ZAT-!Fm_ZEDlEUL$-C2%>= zJ5MBrzRvfx^AoVY=sT??{A0@&{*|JdD!&0Q_g>r)RfGQ?t`Ke&oceMHxYk|J!v*&g-04z^ibvd3xSVp>q1g$2US%i)&J)hw=bPSPU#+qmjQ4=U`#&|HE6hUe^b^Tb(u-Ig( zCvklYp$dSK{(w7oa%C{#XpgJ(RXajSzCz^t_~gnUF)*JvtlLB&vOU2g>e0)h{qy;- zm;jacY^rH3uH~owAMPc@fBxXXgF3ih;2h(n23mc|4K7s@gEPi6B{jWM#MeHIihztQ z;XgY>*8P+154f49#FO4L##ItNHqx?3(K5|Rl5#Fk<%LD;68< zUwCG}<`}FHo<#dqdlKU?(%1E;9opPxPet`?2878-05`&+31rU*ZH$D&@i(sjsg=O9 z#7>-T;-RVfAYFhOcVfUF<4@YlSTR)7y8cHFO(FXn;meFUlvo8#hEwcc209Gq(J@mn z_ek6PhI1@A8X@E$d~WyaCRGuMf0E;xH_=x@$H+}WJowdS_IK625P#n1#~CJ7HijhV(7!t( zXo=~;?AUyAD)0a>GWSUxonVLfQj~h^gwQvk)H;-kzQv+f&)Q2(tU6)(_wYZx!5H9*R-Ac4)ExIyH|!&xq$hzJr7jGk;F=biTzf8Rfl26Z1U&MERuR3f zzo;%i7lM2rb{}b58B9m5v%U2J_7?q94q+cRH0ycJ%^U#Si~BF^y#*p*L$FNEjcRvB0 z1rZNmLHfjKjIOad-y#mW{mB??xg*slVfVtoCSd3ZQroNDlaXgt_c;6)b&tXS^6uT~ zyN7P_e>+7I30jUj&PHRU`D7`9#re)Dm9SXtj9?5EAk-3Gr@MK)xp4o(7!6Jm=gFZIZAuLvn?HlbGY~ zcZV|baT*oM!D*C(j=kcz{VD%4N-G|1_$n|SZRvzl$1ukQ{%($2+?@#M1PL6c z54gXbn2lMv3NvsOd}PgB4*&8KGeM1fFf~T!t`T95(yx$_TB)RP2`@1F&`Kr3eE+xS7wJ8$k z6nR61MjF6z`P~!IinqD~@V~8VEdDolkzLChU1U_O@0x=DOI;K2A7F{V|MQ)`_@Cby zjsGmmoi=+d%ezQl3cH$3gQhRQ`PJ9fWMbR;+HOM%%s0&&mMOMmkAnTz;;4B^jxmgla+7ejl(cZK&m3@H*Ca`hM+7x@6Z zscBkx`-aalyNuq6vi%YRboI=3=(!EtyRG$LuiE)7thz0rEvXYt%a$xTZ*~qNbf+~X zDqiEE;?>0}K5vnvH%{zS)S91V_VdvpeWUhZZ>o^<7ILO0zEto_&Ux_mkeo}9GZQ&e zk#i1m&OuIfVV2ob$oUp>#t1nZkuxUIRJbJXyxB*{sYK3rAml41HNKK%79rnLhHYr?huSbr+bieI zkNEuh5*0DSpaK>euZE1wqT)oSqMfj$LHNc3bb))p&$DeK?>dD^naV^oDH%zxpNmfe z$5E{7iT5n7IBgQ0P-@KYAaNFSWa_YbEjk7`inl7CFq}6#`2dp9a^}Vo0zb8Bn{p-W z!`f>`t#cI2ITLz<)PF+iF-R>(>YSyd2k#&z1~HL{8HJb_QcfO$$*YJ-Ma)FRxFaT& zT7+OmpotEA}M@pL9SBr~i0|!pfEIuzJ}A2N<}31iuY(@A%O%mw(&djam-)QRsmxK>GLB>- zL6uZ{E0%NIw-)L|Q6Lq8aqM*SDlM$Nmium)&2n0V+01b_?~^(2UCVJl-ybc^d18eP zXFG(e=^%uEe;;#QQIoQr->i@~MKejDG-v&?6{BPjvuAa52zcSL_*K#SH2c+L&hFQ$ z_*FqPqvDG(k5->{>8%o%fJ3Tg8OBhMP6>^9Vyfo@Eh!v z5^7PxBB6vll%Pfl$AuDHdgEzDfli6Bl(^17^54>iS^5k)VuV4E3PTT7!~Tz6t59-zfQ15^uD|sd0BjPbjZu0FH#Y&B6qYD?i~V;~;ltqiL&hIr97l*U%i`UF69|9yi4N*5}X{fgKU^rs;jiR*{(B z&ubfY79^~u@J1fRi|PsdRw3oge&1uHwGXGgjO zr_Bqx-bUm0gyZ_|iYi*T__TzH>h@z(hW?>@r&REwL=LwNTP-Xkp%oipBNf+7NYc)&HGmO5~9 zMjVw6b5Ms3VGNORoPaT~Pid!`P6ICxe!OqN$E--F734;9jq1@1>f=qo56d76m$m`)K`>N zPN>(!Hi~rEGLO?xi)f=uJ@pyKsnDJ(w1c!~2Ay^o+eUwI#oMs!yl(Ox z)&<~*y=n9kVpn(BAirP$|El*8oWFe?`Xk`Bz$w9pd2=IVgC>acU}5s{4zkQMpXLLOpeb-FhttdyT)>M}U>k967A}!)pls z0gw+L1v^qoaJ17q=&2Y{EM4)bX@w>PT1{=-5%yoEM~0;s9JxaA1-iP#_)5C=F~gk1 zj@TZfjZ5nG8RjK+gx@rJ3SXcR_K`WrcwaZUr%I2IFLspG0?uU2zx5jS>2POpm%I&b zIo$JbamC;-hWo$ZA11*6JNAEqe?4d?|2O=d0Dtii{3S#1FJu4z!v9A5!|=b_{{IF3 zeVxCDe`n|a1pi5ZzYP@O{|tX^*Z&NE9vqf7$p8Na|E^97FedQ##26Q?$2`EDJ-NT{ zs>QuM-0?Nw*@goqnqA5qPv2dCJcC%+k}<@(mj4hoI@zshIF|mw(EiMSXpANGe4-sq z=J+OO)H}ZGeZgX-4gB-s;76IvtJFk!6Om;06K?Q`^l&6*i-MshK5OtgYJ(g^RT`mu za$MZK5IdfM3>z7JPk|<410T3pM}?6*HfT328%i5Ilvdp?6>JQ0++#xOr@C=lG?aP^ ztn1leyOKb1YWK$Ubt78-f{{|#I8Sy8Qnhu`Atd#UPLc4u-YJ^AuZ4s(vehQi&fVSr zJydt=U3)u2+r>iNCotaI2S{5fwAJ3yIbHcfslOUZ?IB3!VgDzj?7%sga3kBe_%12h zcSC4vYu8~|ceB9)Kq_J`cP&VtKcdZPn41cg3QcCHvJfT`a3pO@?VdMOTbWRs4HhHp zFsu@4JKjZLNR>x2$pRejv&>NXHACr7cRS#?LC8^w_JuH1IO^FMiMHHiv$5+YxGz3^ z;)phV42&=xvi>$s+ckCAzO!R|^cdb1a<1rNA)R1@HaD~Ip5L|2v{mrsb&VUgU+Bp7 zgJFx1`gvg|AVGZ4p;=JK+LT(1-b_%|vF8^WaXh*6B!&0mTuVRdo@xK^PMG5#= zw2*y*I|x3O`FJM6^?*<1lXZ|=fLjFrQ*f?uZSR7oAI_&|ju&H0>hlS!z%AFz2~UAq zd1z$-L+(8zBXAopvftd7;ufCV+^;;9)aNUt&7TmBw8vJ?wH+3CR7j36a#I>cg*j4R zJAqi?4mBzw*g$R!q)~oXYCv7CPmo4=UfI{{CU%XIUGbgZ(G-Il)}q;waO4>Vr;R`J zVbN^5_c4k*qex5>nagi7MqZ*_kMHQ*iW@U^%%90OYHXn6R4FziHLlhoafS9tF}Zim zB;4GJP}L}=Hf3j%QZ;`p#~mKXWXQ};VW`$8nRk^=S6&J3K^cp|*`;mld$g-?*L@M@e=^a1{>^dL}|noCg>!vL9zxjjmXM> zj5dixYAP&QEkmoE(JCA6<57>$qF}?g)g*nH`JW%|>s=xq8#Pmql8=jvn>=}PWMt&H zapM#U#c2Ej0|RCFJrP1?M^`6lNh@|e{AZ5~AvZg%rg*{E+Sy~8F8Ho?T1?Xf-;bSb zrZ~Z8=={YLEBLXKiA$rKk@mzrLi@1nc1GfrJg!h~KC@L*I9p%J)jFI>Ucn!8Y;FT=Er*G&z!I&hx zcL0aO#+U%F1OZ-G2WAZQFbF*)W9HZUzqgrb1HVS>FvfKBD+XiL4le?w#(}7zG9Upb zl=08|q|cWvzYM|g{ekeI6z!d?iR`7%2z%+z1jwDYJeux50yYG49s=Y(v5fr#TnXeB z3$gE6eEtYm$dTck0$358nF`n?!rjIGfIK4+?v3Y3yeGlUfcvrr@=kEu;Jh&sDMFbS zv~>{5yp5aFDNyEx5JH(Jy90qTZ%+ftyp5aDDNyF^X+W9BZ0&rQPmIh^1>^mhfZOK2 zU;i`jr}D(U)}JX>(KCql$@PrLa&d)@S&}W)jN1W>LeKMlOR4R%lt{3LDV9PG$De8) z&-^uL9aS7Gz2j0Vy(4)Sw4RtB_`Lc6W?@Q1(*kBj!-VCa_`n2^jl0-E>0M78u(*S| zD81wS-od66CJ~yB$ZRjVN2ti)7odRk;E#bn2L3$wQ{hjAe=+=O_|@=d-y>AyH{e9z zDm!(p#VpRYxJWLEo;+@O5fW;z!$Q5>eHJ7YZQPlA9*1$h7AVFx?!-MGyu}DKChXzw z$?=v-6Uvf}JA5w~Z=h5QZwK$`Q2uskM5j?l((R%W$W_!Y4W=G*w*2_&tKNTWC3GHf z$rb2qN#`ZrU-1&fAeiGUib=izgx;0hm)eDOlQ zAGLM45xKAAN_#Vfe5uIiBjn2z7l1PKyx}XnN4|W8&qSU~APb%$awyxH^$<{Y}aO(2&!a(1zfO zh~+l!y4m%_VT+V12Gv>&c`rAMM5^uEqFumCC@EIRd<}tst9SwU6W8_s85Ab9fxu4= zd+rVh64>RKYCuIi_7J_-%JE$tg;)4g>MMSZVpCRa;XcrmI)?g1O2|~y=Is%3?i`Wx zYF9p>6@#2{$Qere5MC7WG^DlE>Xq{8^` zxC6az!sx$sM+_es`>l5*@R5;!?M^jDWHv*-jE&pYAs^N%<&Z>G7zIh*w@KM`%)d-8 zQpF+kH2RLDhQ8ypFB+U9A$MMZzN_!x>ftERe{Z(YRg2rmyv8i9``BdVc6L)u-@aqV zTksM8}r+nagxUtTA%+cHU1R*$F)q&$%Cy==~V6t`zao6+{M{Zk6ci zxC6?GSD+_jx;HPWIi+;&rJczB#l3Qua?E8h?_49*yX_M5PFk@}{O8HgCkGAPQ8%tg zbxD2fC@U9^UHdf?74fY>&IGm6VN)3Uu0~pGS~z-AjivP&*wj5lV0prdqnQt?IPs1LTh`jMuyz4Be&;> z+*{W=>Yg?t_p9x+ko!mE_Kte)N{D9Eh`braBrj#qpO9IgEk4AfYy%(XP5PbPP6>G% zy9qao23mlvoKM#zQv*LL<^$wuGkx67me@GTTCa_l!q}&_A4qpSLxt~Tksd0L*Qn> zACKoVaB}!Z;~5QS0}oPv5o`d$--hR1xDed$60INJA8*D;r$PO5?53B3x=Q<=YY0rG zLRYJ-9QL%ovyN^BwZ=c)cW4ecc6wuA?cDn_@!<+(k3p<=WnKuff^yq|eVY~X|8B#S zVn=#1|6*7x_ZGVbZ6p0zfwm>V?+y1q@Aa*a$9C*p$zC70aOmB>*GFriL+JN=eH&MN z*S^;$c+kGre|_NL9u;-}?|Xe4x8SaQuW#d?yKCR;TR|zYm$rC-^zzlNk$ZhB?*ISO zUf&AKR3yiuuK%>xw?YGFD|o{QOt#@WY2lLKzJyzj@a1^E^$JC8h8vA{9z11)vOb1M zPuDT&8E@7Tde$rr!Cv++It4buC5*cYJcx-iqGSe2F>6?VuH$>GFiHjbbz&ND6SO2) zVcF691ewu`F2|>NB8>3WVV1M2PfbgM=7%u*dn=n9Zlv%*Q01f7JosD~nCvTTnT2XI$6eYBn z=rGUFsG^!)Pq7nHI)k2LKWZr-X%pR_+kWA~Y_!5POup zY)XKRkH{jA(A8>r5&DvF9&4u!=i>JOGXh^No{fOxhj5icE*sB`^f?&cMIToRYXGqo zK#7wz3s1}*)_Og5=tTHm#(?^w&m@csT7S7SDb1ypKxqrnYJin#9`C6mcMdrka_d0! zSA}TOF3XViJKQz+B1IA(m*y+vAvASz8hV`f)%gqe4gR=qutEc%Oy?!MdkOCWT`oGQ z@GceJeY$8JMqj6WM1Noq3!%pvWa7x`^msiX9p^v~e1C41iw8>M}d*_(IU^ z;FnI|KlWmrnAj_@2U`sLuxi+Z#r-TS#8PxPX@|RDtM<|FSEf9AWrI@EE0G+5CNS}p z4ENlq-ph0x*}qfcqtqeHa&-hVX$3H?B|G&~F=q1M_dk9!w#OVc#t8XAy44YTb>*mx|$8I^q3BUd+X~w*XWDT~1HK+lA)wzPr=$*!$*2`Cv>@QpmI!`ljbjYWXi<%b~F z2jbt)gt9$3GlMEVogu@cz0D!ygdcEz5d z`IFR>2R(o?>QjKo(YW1`<$=$zLTA;snkTMok}x# z4-e-9tRN@y@ZlWSGT9C*Hy%BGwhr1g{$_I=1w;G zCW_b#IGI0}F-3g`xacFbmAj97<$i8bH>qJkEeUZoKa+uS>Hn@B%)SVVma#%@eVJ6) zN;PtOV;wb%u-0nLpS1ZzRvA?oomOtTnTptLR1UR)d9c$IQAhe!+_4!{ZJZNeHPFf} zHIuMBSRZ(7Xy@!0$)1LO?npN&H_JRVT`?lI$Jo!^?QStm9KOAF4bj1KI>o!kG4HJ}T8 zq+}g$$5WX{Q3gCuf`PwB1A77pC-{0bTp^qWE+7Z?F!0T&8_;sw@`u6eZ z;X|{^eQ5QVVN7LY0^LhAbcg0t8^DNxDT}(C^rDIjCMTWr2~xIFPD+=Csj}x0>T%Ln zyoa~X8c+>msIWJAZ^fISHGF9Tj)zHOv6{5vl!@S#<=wy0oE){%nCYLe{hVKy{7w5j zE87fvlW+ufGP3)sOSc^kN$GoTex1clvZ4NK+o2E>tPi_zXArgr+Bl!P zd$6Mz!^k1c?7|WHOEf4c&Wu8ZyFDMY$7$NUelDl`>y%K~tCLHfV}K8wJzMKE;4q9< z@!moC8u_%k6vR2Jz=sIVPKg)zo4u(Ta6rmEA~hc>+l}`9LO--wnLrJdXhEqLw9Gjh zu3=A;$?UVZ(fypEo7O+7`o>JfeZ#vJi3PYi3AkxIP9;xZY@O-uhwTQcY0(Q5bv2y| zBmH$|CPGgGG~-#H{yUL6*r5I)5LtL zx13;WS}(4AL8DuyfGvY9*e!Y_ZVJJXY z>S-y@Xo1#?JK0pEJN6#rRQhWU8GFB~!)qbyds~r9&Lysp9Vc``i`GpQ3eBBlmoj58 zq(B~eBZmqbi;+%aq(9R|S43b`oX5zz+m zIx1?Kp_G42;a#Tygim*fg?PCtd6{pIlh;h+D6Hx?4c_{B!3!73q9z-DG!uIwOAVxL zVzqZgKWq)G)W~C3s()YdMW~C)9`R-Ku--8i(mn~s&I{>c&B<*2vU2bmxP>+u+(LA- zMa(G^9ZK4K+Cu8BHGE+rZ=bO4fUH#K8vCoTkFZ1XKpxpm98mXj@3C%ri4cn!$Sy$t zoGMkkxSm*k+^?RG@9C=FoEcFo!cHVqcvtZv;JzI7fxLd4qffPY*OApVwd)n3zSnS) z?B{kv?{q)Mn`4IgK^$ZBNzC>$I9b!c27_i&A8PU;H9F}J2s;a7rbr(q_z+r3h2^Tr zPRKQu)YsQZ`ZNc8Yn@oVe{1x&I%0V`x3c z^CFxYYqVnx*TGNLa2`B@HF!?K^XvxDL!Ps**Z+AP#4KSS-s5Bbvt%9Yhh`754zAEd zHk47g!-qxjew?AGunT5UtbM;P;JA}SE>6|w9eT*(?!2j<$i{sH94EdFogY5sxV4Kf zaadR{VakE!e3@dw#yZ(=_k&Mq<5;>BXCv{3c?yPLyMFK^bl@Z+cdjEcPvQeh$Tzv! znUC{IjLQW4$BV;q;}LeXvjdV-sjhWIeoA~GF9~6W&V1n(cLM&wD6zDkyU=FT!&Ua;T8Q?~N2lzd-gvD&bR+V-9k} zCuXFqHo%W`F-Wh%GY;vakscdvltH98Bzz3g$05BUx>EU9q>n>O_Gk);QgRN2`@+bAf$JV-icdB_@hHLDOdxDtOSvwNI~um%FtpbVtWSM-SQxMNjHHne?ur z4l{t62ht{?{oIf33r$2OBu#iTw7-tGInlF(w=dh5;!P3_-InDf z?U{Cw{vbkvqQ?$}G$Lf9=_gpOm7MT^48$q$<2geEfva~m)+%?bRck;|5bM7(Q{lcU ztmiQlySKEl7N7@LdFw|!nKEZJ$AcxY(1(_j0!gO;TlEohVd&{aV!?#dViPT~pR zYwPD;x>v%~G#GfQR0`b~L?g7!uzuLen}a@^)bq7gpwPY@uRtq0pU|vl)@UfK7`UC) zJ2T1ZOq7*x`BmfG8&3Bwp+cwT&>?T|;R>hP9BAHwB}4iW?+3j44|6r|7jxjmCDeF< zkJG-ukBgC7UU#9QG7W*6ST%VMR+DmqC>pr5(d7INJ-NW}X)pC(FI;S-`awZGiR*(B z)c0x!W}R4Eeu;Ojp~4QRi3VDKgPu?>UKeTkdz=y;Xd=#jOLJc7? zj|gd5qe3Ir3wvzrnQ;!Xyrh1DIggf+FLB>Y+9zXvYvEDj0nK~rSanoGcEJ)2=Dj(M z4^fla5?~MG0Lm8W-&G?lCQ9Spkj6)4Ze_kUecG#?>+}7j^yne1>42#MYt5>TP=*Rq z^75HG7;#ypX?%L`Tjc3JBhs+QKi_g5 zuqP13o~(m>sl^@k98)bG!&FsAyDlMz$UI4F$K9>q)7u7K;-zruaO2_n!E<&_)AO-k z)H9k5^-hczqqw|LQ`O))P23u)8ON+>@MHF42ge&1f3!q1m5B$eZkQuJB5_n?k1<~3 z7^!4TW_3^sF{qKQ4~3?86v7Sw*-_0fQ@h=u)ignP^SbMV`;}V;Sc^j*s;LLm%IO)S znCaxjW|A62pfI}9A)tC)S%wj4zG^}|R!D8TtA1sJ3(`g)t+stACH7JOTt?<@ zt69?OJ5>AX2PDUS^Jx=#?lsf+uQYoM-%UAMATr$MZgh8J4NU@FjGTuf0Poe9?>6vT z4bB678&9%_T~GGxZ!)$|Gd&sDFLFxjOACSIxcc?_$WhcCQQw)q@KIZ^qFvI`kaaQ3xciZ_~nhmf10N^#(>YR{5L+bc!YFagTfm3hQ4q*vXowqSrydz4Zo)xP0#eFaDfJ|cO^12rzm#PbHyu3c8<3+LI7jQ!1>%&5y7Uwi_zU~+7|82tQ z`4`A0W48v&d_~jtVbv&d2{wd*OOfI|5;W>u%_-$R<9-cUEp9_+*j`xbo+tQEvL{TT z`DCTI4JyZe(~Xyj?W95bs_Ebyih4PHIc7XY!|WR2 zw&+n|e~161z|j7x3AR{#jaInLwB^O*6FDGvD;i( zcOmZPz~vD`hk~agMgiGeRgAc9EY1TO!G4MkA+Cym!}4)#lh@ft;Jm^A*WSB_HGO6Mqx+kD6G9RY@lr~uji440HC#kM zs)!KrQl&~QwYG+!uuW>M{66cOU~T7p&-0$=oIlPV&GUS-Z)@LgYp=ET+I}WZSmXV19>0YfIwOSB z`AETaqRZ3Nie6U;F34+`THulht^-|DK<)M~df=Ya-y`ld!oN*L`}QBkgBv*LkluU^ zH>J_*1IhS5F%Xac<^lP=`%=TP#F*FL_tQI^gSdwhxyiM@UMhpWcYJgP6=5%+d42S| zslR_on{X6wGI@OEbWT)i@IPZyq9^pNiC^{D^_8>lFQ26Sh?8oQ(A$I1V*i!%`WSle zoJNe-ch$JdM0;4u?W>?t{7i$!t4IP3I=+HR`B7iCK!d*Jh`SA)f5IE$*u}g2j&K?| zG?@UGhqV77Zh8pBz)7WE!CoGO^X>ucLW9sX7Nn!Qw&vVt zoFbL$6k2OhXcIdrqXFbC~t0KzMAYOi1pm`EI(ckdWI*m)px1sl{Gfl;U&SM>={u)*EI_NLT z>KI6)4T8^^3>kL5de9Lkydd&l79RR3JZcv-QVA&6*#j|}=a6gcK)F!HJw4=_aPvw0 z2i~OejJvr2{{gs-f%dui(V{ht&p5^EpDE=Zf>KUCL@OV3=x!=dQ&aD`MFj$!%eSci z?~DFOZlAM@+Pb;%;lio;cnS+FcE=@}JC#?C*d6_?_g?aD8s6)1x78Cm&ZY`noVdfY zo1}(Oc#ovbDS@7Yg`1SMuQ>0hq;<=+KA4%yO9pXc1ou6#Dj#rW=;R^s_9l{5ij{=y zf~3?^tHhHFiE4~)lD&IjlcZX#mAxw}hQw3I({1!d>EF?2VyCA{T$iF-2w8d7D^j*W zziZ;5ok=UfH~*t3GT#^opeG$!j3wtWAW<_-7WSsreQ8EwVF&aEa|bW>e#gAY6CaP|e`|5hJHEgOls#bYLF!O6!A>c8rY zWIk@cIKi(KegSNR+i!y42WbsRV|u&&l!D&@?84ZK!C%EJ>7g-nuCJ!^1FYVqy;Q@~ zeShox2V6Sr$p?FncF-DmqEFxX=sg^KxW-%Cf`poV*-d>_-}hCg>fX)DVVEtqO0gHp zdMLus=s8aD^g#4aJZ#1y`zf5-fdSyuK8QC+ zX-qcv4mz|w{os7jdEF&T|Hl^K>-&`&(zCR`S1y@rPsk87Eg5^=6sQv-qCn;T2L+0> zhKik(Q(50jI0pp-ODyQ(%yppYq?9XctrF1JJ>)hMs6(I(HD2tNn!7{hfzrVw z3RDUxL@7r=eNrSj^W&fo08}EPLZu;AblfwD^#)?40h;JgDKLo+6^&TYr<0ti0v!q( z0T7F5QSpdHv?ykM39;fsUDT*(m_&_Ixv5cc_feyQ5re2v>7Ygh3)CnTpoghZ6GAUT zf;MpbO9>MJbt5+kuB7{DQ&=5(i8l4pJ=)YD?hz4fs^T7PYS8f_d~|O5715?>6+yeZ z=~rcfPdp#=3v>otn+1xO-H|eI zr-Nu?L=Ce83-rcWhHv}=_ZC1)HY;tdZf*=wxLn+rL5I9o(F>kfH#w`Iwae9 ztblgBVNCZffCu*sIxJlm=D6fXD~w5yHGv-2!1u9dX>l@CG5=yQ zcq#Sib-CLTmRkJQHl(XEu0lrOeNeUA(?MfpFG1Q~Ou9BQ{qwdZXe_3@z|8v0v^;`Q z`qFtd1u)ToN#W|V>hiZGJZAA**N~;kzM4-kzP{~PLv(;i0gR4Q<@gtDONg|X3IcQL zbBsR0)=fB=wB1mk7#>!PcGyl zHYN6IpIAhaVZ+p)cPNmwQ6Ym-X1x8#e(S)P)@i>j+9cF0(u;Ei(To9;+#<@6sPC?vn zx_IiXayIq0C0!SyQKNN2@SfhFWdd@#VA-#G9j{yubpA|Vqa5qHevcd{BhPIEtVRwR zT@|FbD5T~m7JS;`O4Cjl7PJooV+WQqty`y~^D(^yJ?I$S?F#YfwmW)m+8qSFh( zh>P80BbVnckU=M9?n@CkYu&&-QuN}@2%NQUO)}@E z-8*Z2hIhhUXRS+}Vl!7qd-Ij@ahh>W%y?YmHyauwKzGHe)|U|QtR*49r9#4#h{sT z`EedGqRN?x3!F0E?vV9y(B_j=&Y*2h1qoi>!pyZoPpW}Q>`i#J&4aW-u04VMc3t^w z)KT6ZtYg9~b)_57wK-}>Uh2kzM%uf1)jJK`5|ZvbQ>zH!0ref;A?k73)CVV zZbYdzM=XLo>gFiBqy6TJq&;|R-442mt6#k=-0R}KQ|{@@r~29*2L}A`*7;x?hc{*= zb$*&Qf4ie@0Pk)_KHHdf@4QO5<5$jek>j=G2mYzn?(iPSLrcWd>uZr&0<6n_Ea)`# zkz2^e=PT!)NIJK=xV`&uZq0C~Kq=bsPUooCUv|p^DaBgck8)8b?T)ko6*!)DN9q8Z zdb4e$NhwVU z+aWVDNEZep-GBkQqb@Ta)&^@u&`^z3d*P!F(Y@axF^l)UnJ^bp9Wt?66QPYk?-ksH z90w=fwX}oAmRQi^eXe<4Swg^*(5?J#v#*nzvlzCwo0pf7d8+wLM~bGclhu0Jsy&mD zem-*K)p^H5nidH1k9No9K2a@=CS`xhn<9*GDRec^i2G9q56zEu$EIGtPR{JzOq87n zt;GC6Hy2@t7T^f%#U(ni@lEI(^5_^I(OYi4)=d3fI2mU=8_EaFy>Db z%*LLmLrY-(I7F`M{-;*oHe7k`8 zCdYg`l>WHRjtk_k5F~=YsobOlfXXF9w2kWGBrUum|+N|1EE#9jKjxapZ=UcFH;PpfAX6#FS)Z1Nn zxt>Oe*j$2<@+RizbKNw54)%=N!$SWK$>jS-&9|Ug*>RtoO5Fp^d3Nakr&6EmVuufoCT!pW$_lIxoj+MQib^c38 zx1rAiDemo~boU79n)(_+&sV@*( z7O>!9caGX_@8&8KvU;kio8v*662yzS6-*^oCS^DuZl z1d{?7<*2oU!viK--I%pMe|y5ymcVsQSs~ds@(D%<7~fGngu??SMID?IRIoi^iKU@n zO3vY&i~@qu1IBOETF?dbfYGTN*X%Fco-hwmp?X!*nt$N`Mj;D2*FA1j59kEdfYGZZ zpbOX?O?NMY4sa55fXko)`~&ts!yXKr^`u%1oeUW|()@%I05~<}oi}n_u4cHlcV^_d zT#az;?!1xja@E7NuQQ{-<*I}0Nau}0m&*XxTb*{?k+ZwFJ4=s)yHjtAmet!*r1g*j z(P;{yQ*F9H|7R2Jj!C^AwO1t==j!cU`g+Kc6hTX03N-%_eE{chr9!gmU^?V)H9HmtE!f)vzBiXT&cu3Lqe>d?#3H+K%Y z6)Aod;tN_!5udb{)(i1Xh);S;ne|g>JoOXeFGBoDi0_B^^@v|D#Lq!|L3=6UllIb9 zA$|+ui-hA z@xpx@axXhAh-VSvMU<=3_oruL%ykKI+7U;NIBP9csO44tx$bD+z`V=OF2v{(V)&KU zX9Q(_3oc|lCn@4>PS$8^mDwHRf4bZ~wy6g6#@5+2&U964++}A#*tzcFrb?$}WTmrh z{5j|4urInpd;urM*z~M}G+8<1PJ)j?wg(yq7av)v`2-pfmO%q1^%<>=3w!9EyqvM% zq3`{U5#1g5z)!T6-R>$}xX!)eO~1FdU(|;QCpK!QCOx#RLTdk9_tYSlzSY9cs-$(6 zpuBicu-f4t6Lb!5tC~7@CKOxt=c?g*9=;JllhW6Bl1$I`gbkK+xF6*Q9cg}X=bU>~ z=qWYz(KLjUe%45Y>xFPN!YdJ8h45(Q-Hrp$4803HUzujkt*g*=xHxo~pp*5XGI5c} z@}S0sa{~F+7u*oErlu&*Ax^TmHsRlp+F1;(uKRLsn+e%(K7-M9=rs|zr`MBPi1;;sGq0YO)4MfrGbs`F$(gDxFrOTa!Y&G%cF zb*)O$mD&O-+R1#0?W))tXK~PHAhDhb8X~ifFDDHcJInW{r-F7Exb|z9rnn$MQ)&R_ zd%co$othAT58_92;}G8}cIip2Li}5TCX1=%LC}y|>DH907c`|Z>j3hv65{I-zcL?j zzpE@EO{qm#@vvKnnf0a+->KgREvfkdf$RPaQx`BEx>6b5nNM^U3FX%zety2>yXq3} zBGQ$bCd7waqV=E1INzGgwH$Bu)}i_)L$p zfKRG(0@5(4&N*vfS0NP>QkjcXf`wF6NM%C4cTp-RlcS-4m=$CQF63+F9C@QfQ zR636%_DP)ocbw#Kiq45ZX1~SBd9igeA;|0yLDWRkh zHVt9VAuLAF2wNGKiN2;jM(^Ur;Yft6v$)33@aVy~LC7~9+XaoV`ED(^x=_*xTZGge z==?KumyS7xKL3S|RU0rt@*|zFTd`&o1&9R5_GXN(UqO;wVWptCl_0C)E_P6w+W~p< zSCD4`c~a0FOOUMrWddXja-ZN{^@dli!+-=G89hvGN6^6m6ND0MLArZ>m2M57_k@x@ zSc0sN%NNqU0Lau|LB0scR6!#xL8b-#Re<~yka53)Tnos!(E7p~YX~wv;5}&d0G$tO z2(2FDG4t7N6;|g9{THC`_1e*&^}U9owP>m!CPBC8lsn0E+i?3KeynfI5hE8ERy1# zZ68Q)eUj#-nGd-|mnLc4Je>6=#?3$VJhXdCjgr?0Gh>-S#lR&!E_X|#mCf%Y$agdA zS-spCv{q>h1g?lTkM+PLWeG`dr28KGI-M{|pVu<;nDwOI$Iy`HYiJcxK@^#NmwP`ztw-8PuzyFhQM`xhCq_cl|KN;Wq`!H#I`ceud@iZ#Cy!unFY*R zrw=eR6pS-GY@DpA!HJ7_MA~}joW}i(%pAfn?GB$GKr0nNQjv)bbPANgtp+BbW+LN* z)b4O6!=21H!Hp-oah@WbJ9dYiG~)XNYd~-I;Sb?F;uM?YFgu(glMl=rPR=wI=9i>J zADV#e(19OdB3;1ANpu1fTSyPE4IKHgg47FX0k%1!2Ydvn7t#T2bEpU8g47FX0Jb?o z26$5%q!mc}uMHHGhZg#~v5jH9zmK~0{%#5g11;a?i0cjOl-W2Doy2X9sNPwfoN;9U zQ73JVX}z3TBe)kp9>oSMl`}6F+)n_fu{p-Ut;G(xwr?}W5$%tcpLEH#eG0u(M`m8^ zmT;c_UpWtW9RJQ)SeE!cWc!v2`(*s!pUUYKkQxoW0}^#uWVqPv@xII~ya;mJ!@RU- zt%QO8wWnNCM>>fl6E8X2i$svh{j}R}>m}#)mRQYS6Qt(gcf&RNZJRvqVO*a|)ISI`v5((i1}atPphSdjikv|NI$f>TZH$ z_cPGJ{fuV6CO{)@e-eJ1AImRToD?YNQSv{Yf_&l->rgL`ST{d!N?N7SV@DL3{{?!v zY)YhYVbbSxKL{@xL>h2UMipgf$i=)d%`jr#cyi{2NwLOCr%eBKF0;O`k2M6YjWYz2 zl)C(!(+_WLS8iOEG|PAn6!^?M%pN@?hIi3^7?0VL;F>)OoW>egCPB_<(_Ew#jah?t z!1pohcD)8OC)qF`dFjOOB;Z8Wiut1V`fkq)c;EYYF-~KPUt3}b%K3S|Wa%;fJup{r zBP%)V@!dAZ^FzZkhR2Mt;r+Pb86(CFu{qWZ(QJuVYM84>V>w5GCy zGty{WhS;rlX@m}a|JUYakbb88kKKhH{m&)PGHP=a^)z=#faPJn^&INJE7ib4lihT} z<@e4K4^%uUtn(gw#z4L+4tI%?4|(p2!hNBH!!pB?L-Jh@G~u=R`k=#{ar!ZlA@Y!N z*E<^SF=&XA?E)41fP9?h;bTv>M;acei!#hGdYCVEkI9NPe$o99B&b%!zl}Bhi}F~* z!*y|nSwx1%mLr`6UVXn~=q2p^b2z?ZxJK~oi^jNvZFu9J# zm>i*x9$1XfsR%s~zY?LQ^2LVfbxRD7V?}=5`H@;;qERKTQv!DC$yc1G*$3m=z}3j}lr9dwFvtQXCU>BH{Hm9{u2j*2TWqAd{^VUtv&81G{4@eKEo}e% z3EHx1BaLS440OAMYDx0J7OWJmzQXOWTJ+Wo4>Niy#nop7(Sdcs)n8)VPehN+kO87J z#no>F@iEp1SD%RxvLglkHp3Gy6j9HeK=>)F4EOa~_Pt(9q4Dr1{cx|P3BAU~ALvzh zQqTEfB|jt*Lz-FW!S(3Dl-rIIn7ML+>g}4dANOiZo`TyoYd`3XH^~IIYu=vejWu}) zZr8j$)f;Kz1-EP7Hup{ycEstzEN<+5RM-(G3$FU!@$NYuB)Cnz51CxN%ZCMbb?+GW zn(%<&uIhcuwt2(>jDSYlX4zreX89J!f@TF~AohGun`7%wJ|?=iAQ9HGEkBJEX5pNqY86xIwYUKSc<{vI^%l>ri?)vxEHe1z*9-oY6sXy^K%5 zodWlw4vOoAwaE$z055Z72gUZn`eucGaxe449X3J#KkeO%v3GwDIi;_hjT7;Wamlid z`28mE{OV^w_9c5`;>B*xr&+j(`--rShg%{wzr1N}b9D9m@}{-T@nz31Z(7?NS9*SV z)7s|vsOOhAt!<8TJ+7O`BJ*=v(VqE7iM~v?xPYZ}^R{4d@DYjNQiB?7a|A%U0wil- zn+W|Ca=cW^WSIBRSn`3B*Kfs+Nw*TGBz{$>Y>Lpb>C8H>d=~hJ%(}SzHSiw85Et!z zbC~y-kn3xeDB`V4%S(h;;wF@@)DVZz>PWmfFTew5`-c$XWt$)m$A6>eO9^!IggAjj zrynr|FAmsGfa@1;ttn@9zGZ>M3pJV0sv>fV^*-RvQ9VBBQt4=SBH2>xa6KiuO##Hw z5m)@lKSDQRI;AM?6)BKn5wmY9=cdP7i_6Wcf{GVu)*vn1XV#C!dj~d0!!J^r)I+?P zB023?dwYnJLG^rF|AJ7HQ+mQ5)J^--qnd&;(xSsg0yM`Gbu@*}NevhGc~ z2~9CNm&7Xd-M_loo6jVglg7Qv*R0Z*H69jK8Ct%d2R~$glCzE918fuVmkaT`=vEeT z1ux`HGj<47c?RC+8OJ5BT zb3?><{nH99Q-rx3>8AbP>d*?DuZZKcFIycS2w{7>sop!fXjC5Vrasu(MSWD+#jtPb zA(uWp64~@ExBk|=Yhkq;M}OtsE`CjK1-C02Y3{u_OSf$yS8LAQmgbTno^$IExM42N z_WlkLaeeUqkyvlh)>V zvFoWus{`){>`7_N0TlUK9aRHai}D(8koJo()G&04Hhs|{@I}`O@hAYG>2u+FVR=f5-xQl{x zn>u*oN{tI*v<^t| ze+uU&E2RI^5YjS0`F+%t0{h_s>Vty=450@GX!h3+&^n>(550HSYq-}&S*(y#?(S3} zeCGi8JutTo1l`lxJ`C5}W(Al1YNyo^(ub68rghRtDjj&g^S#b@I!P*(V&)H=>l~Bp z>E;-{;^t9ZY#X^?q`)!4dfvCMvj*~{+wjr)tzP&)^MVo{z=k{y-MXtdedEjHCKV1UjZG!8$5qhl&UetfdBu1{Sw-J{eZ*d!tT-lY;$D7 zo-AkpwmF`K-K7E8=6DMBGWeGP{t4KtVXuaL(GNAw7B%s4E`w&WO>7F@CrG+PXuITiw-8bPkK4b6Dm%SD5iBHx;&_2-2Fnv?o)} z%;u!{!CllQ)wJW(Y7PlhUbK%`{G;N>lkalSL+{b6;ED41cl}dN1*02>8=p2M5D%VN z=L?k9FvwI~hGgD+r@|*gd&2#y)xz?!Cq95L?O-_liS@YsS)Y3aGIJDLh1g0Vwi6r= zsc-n&;kT?p%UjaJGCshXj&q?9OOoo!I|Ztz-hM$( z?c53)fc(2Jxt*yFF+4;h?5P55z9ZQ0WdnASE>t=L_$dSJ_~ImET8ULdR}Yj9`63JK(A7p`)zNW-+Uc$}AA)H3RS?BMz@oUG-rO(cG& zH*>_6Th8XCJ&X9(@mwVLqoN4}%zh$Lw$tTUk zeHK>>`e_2QTe8wSpG`{tRh;6U;ym};Q+jpY40jyrD?d#`raCheapwLiPFjyW*Zl^S zz9pBrsWoqBl z?bnt)aR#>u4t4rz{*Lco_`ajLQ5~sS*(uZf6MBZ5@%@Cay<>Quv`(->!k(G=AH}8f zvC^&V75brcE_l~_=DXIb7Ra%C`d4DLQSq&l@gG?xyht~-U$p)Gv>#d?(mgNWm}3m_ zgD+!-Y0nP7VB4zt(1%ULTg7+1dYOk3^XQ^;ReQ5dBqGh`OM5ar*^i!)0Zr#M(CZ6n zwBRNWV=Odo#p4vb5I2-knnoB`;7qp)XS$3gU!$&Rl<_T1K~v~Fz*~{!{?KU=V3eA%j!83eRmPy)#BNd2n+X$(6bNr9R~h%`1{xLSN#IDTrQ>mC z&Q70X1Wz)2;)XX9pfA_Dt$dO(C@;HGFkd4LVd!&&3H4R(y30l=xnK$1L}9> zp~n6B({M7L1U|S{Iu%f3!?UvpDmf+mH5p)@E)U1~G7=~6gSe|%CXFzP&EIB612Q1I z(y2{(Gr<#3@#WFR{e`hOfn(0eC#{Jw^5*O{vjG(t1#BvXWVwUO;l{2UZ}c|T^apSE zuane*6Ih>YJn3w#zwA7s-j*sA<) z2&+$d(%?~dv3t_Qk##E#p>;$>_=|p}VOrfPgB<>$uRde&1zc;2)(~DtC(hUPT0>-A zhCx;*u1zEu1(Da7x5E ztuMzkN^t80cR`=l5nEOX?&tbaO>~b%Y*`_=SM)70(H$1CB}H&A z=}R_w3+{!2Thr&daq8dL8Yi<2MOz^O@@9uWu&%4!vll+*Uay{avRX%2#=C>?HBB{?n1>^hlc<&;J7_d+#z+_Zw;&jm5U1>uNiRM97yc2 zI^w$7yCL&jYX*xKaF)3vH0u|bH0u}LXxW%Jmb4u<{xfYPBr4K{6~pRy5t>ydBbW7{ znMe;w_C_{tPYAE3aTAVt9BGu-v7m_E%H|UZv5gYkRP|HyyAk(t(p${eXG1CDGtlr@<^) z+&FgkI6x!`5Dy>~t$Jbg!{%bkLc_Sa#h4|_8UuDu0K_5z;$c9PsZ*+h%sNYoVM5(9 z%#yUmz}+E$ctU^(0z|cXMfGI!bCwl`kh(O(Q%0gyp z=%}+SEX<61Dgl>#lsFHpHikD%-t~&J(dT0SDn;;at0Sv79OLRp7mxqLUE>!%;vQY; z?$H(AmLW(ei+2?V41oVHu3arqK*P{O<8U7#_nvDkT&4G1K5)Hw&n1Ja>Yhskm*Jl4 zHsm<>V3*KzeLvgP&kc`}9+?v@`H%CO{Dpku?-PSGqUyuoFy-imana?Vm*cbyttcWx zgN`={6a`Man*~;Za?Qd!a^+2d#gL1%?$igZl~v0H4iiZ$dG01@rELj5jX6XkS9_!1 zU()Z-^EUVx8z7BD(n=!$lLDBrjUD;KT^e2eyd`MeXv0`zAY_rSgO3^m2pu2-8gmMW ztK?suZ`ohqZwN3p2vSIXqaFf;9uR?z9fibAQdOs0z)e=G41u)r;*KWCDvbw}2~fd} zmz_0Ql3AKmy&P~R^&~?uDEZYsfOFQUC*yo>0*?w9aL}W>u_^`)%QGE?Jk4~>_`5#_ zYea{vj@v(q8V4Ya{>Z|Ie}&mhZ3~BHPvTTjU(SX;smxApm!IH@hEAt-a8XD&>>J(o zP}nQo_DQh+m)ov_-R!pe!+xl9z>x!42_N(woky-f#*EGv?|>JSGUFwUWS0!QpyV+v z-$fVF?ZAh0u9+1-7+FDgszzz(HkI-)Za;-d%_0NQEJjv%)V2n`FWj&CygTiUXMAvz zYEV+E=oL$tu{8!ay|!|@{tB6#_poQgR9KQW^m>S0ShvKyyqjM@nC-}lCBXdY&57uW z#H5YAQmG4q1;<vaS*8TuA{Yzd4Ztn>kzXf--cwb-< zptQdFNq5K^v!+GEw>Ks|-zydSUu%s-->f);(j+C_g63*)a_apx%LVD6*yEo&nU6|G z*l8>zyy?9Zk`Vgl^Aj44rV$(?@$2B#fM27mZ+#5-74&6>1pNtV?M_fyP9(fD*Hz~8 z$6Fu!ImF(En~(MRx@DRMfm;d6$nh?$7fB9y6}-(M-%Cz&rq$$ZBC8RR;jZp$`D9 zd>rtY35{=%#2;WD2F&7WVJ1}v0;XLb2%7l>U@;+$kCMb6V1fXXRV~b=>R`Zps1L?G z(yK!RJVxF42BiK>fSU}s&DHMNR6Pxl$Mn+xV^XVu+q9@AYjA=TxV_boTS@k~=)7DH zo)tJ~HPzrQLFU3#ebjkXHPbkKH{=JU7o8T+V-&Z+$C42znD#jSHt~Sx!Z!3n3~0m2 zsMc*d#WJE!drG9daLMqb#*}16*l_-d^9sx+X0Pj<6^V@@jC(t9=gPyj7i|X^jN7 z{X@KFEarae57C+cm?wWo(*(k7`GJ{&VIKKm8Z?ku9gRQy&3V;F-uOj#WDsN^eP-4| z8ZroSkUj&B!~KSi+5``GZcVt8BL|)G!%mkB*X!8-ND53;JKzZHQ`80P*3zk=T5f9X zEDnglOc~p^)NS+ao8h)8`yO`NWPMV%P1H9a;0hGyPVZ+OH1=Yk2ai^sTfJvGq-GUl z3RnwfK?^ra0!oh5I0W7ZXbX&1kB7csW(oFj25Izxqmn(Ihd~KMTKWM%h+C&9zG#hu zO%e!S&!#j@Yute2Qh)2zTh}8NhPhY7829eBqHUJIFLSK|;TB;H@NmsF%UiB>BgP`E z8t#>0%dNqqlfj)Ez&nVxZ&_WQj_&t=-aU=8IzDrr9r50`SS2_Lzts2dZ&A`Z+;V5R zx@FzdftX8`+ZKr=WqWJ^ALRB#Tt7O?>Nx<8jtn$TolpkuTL7* zJdp%yJ+FC5OZRxba-NUktDkH1+(kNd-WPC(MBM2aa5VHkXBu!^fTlcJ=ML$?p^t*j zg)-=wFUvaeLL%-OBK%|A1j&OIzEK>}qntlN##_v$tiZco)21x9to~C?^K-AWpjVAv z-;LdL(V5b)5pU_Hg{x8TvHh=_8+*m{s=IyUOR>Pj$hWljRWoTZyIlc|Sb^lT7Csp| zf+XGc%>Gpc`D%OD9_0jTyv11~@N#zpCmwK|zUh06jW^+j`vC662Sba?fTON2_^nyF z;#)=Y-uzC#G!1%%@&)bobOQwSys6UV!2Oy)VFxs{-48f2P%mQ}*%JFm#-3&WC1H}~ z$V0=Y%gLG>KI;FVoz~qsiIEpS*jz6CE;>t1GJGN$b31zfj2WX6Wcpeo2XJfp&k2sU z=dl0o=*PYXPD&zlf6%S7_wP}6$5+r@jwFHRxmGtt_q%FnROViBp67}hMaJT$BBR8B z_UilHy%%&bhM@nS*=JXXYKxHe$34FTFOtpkjGz}=CPH&Y*JxQ_5j0p2IL`J=(QRm4 ziyIUy=y{{aCP&KcVP#Dlj8cQBdH{4ok?^hny(%zQCv~UXUoNQ?p-t+0M7VuKX)7W; zk@hF$xcxO+9w;(V+J>GY6F+{y;nypz-rOWHj@S614fY87m7mecjc?w5Y490O7NUHY z1&Xblh=s&k73EUn2=JlDYkUBEx!a>oYQBWkY*)f)=$Zr+MpeA^JN>Ij%{79|z;KJg z_u;=P{0;oqhabg%YxtY^w}iii|E}=A8}~HT85^4Fjg8P^?ZXZlo12apPd1$}zTMP{ z+h;T)FZQ2N9Cfk?1-|pnhGmHc@IRC_sTza8|G-(Ni})W6;D0Fh zP+CVCpFsRJA(fmyg;@hVQ64zQauH~|QKTnorT_MXr9FYZq$}$0hC)G01;t#X1OAWF z$#s8)j%lmoUq3vdIe`*232DXm33CYUQ_!vzeaH`G`o8Cj?la+jZ++3dBK#t3qvpxl zilBRSz|qs=_tt0K%Z4b-S0KzV9WdTfL8T(5!N;7VX`uI>zfN zpntBiNm?z|&g~rKEDGIki{li=)<&w~0B(jT%vFaJyJVW>crj@?v=DAPRJ9A5lmn>e zDX%ZOt9)dMRS8iRE{2Oym;x^NMo2SSNdRDj))4SzPcD5Y1#N_7B-|{l=1joB- zlpNR*amF9VJu=pR6;y|jX?#e42p zrMl-Yoa5fLhSw0WWx&zW-O>38_5)>4Z|CQoa~4MZ3Z}np7H(}L*RI%w(|;BAmGHJD z));7Z9)Q%>IcUZ>)p@M*ubpA{^c@f9^>O`g?9zq)1o#U@4wpogs=(Fq1G|Ob)Gos4gN(W^euVd zU1r!9dqG!*0`E1e8S9yjH*PrS42O9HW&=z;%&jo9VCKL~gt-uAFwAK%l`y%#uy_B~ z#l_<-SRySj$a3Kj?J^;uCAgJt6W84Z_e{6>fZIe;g8xXj8R0g^xJ_TT`H0)ZmMy^h zxXlS}GsJDe5Pnmq78Pgb7p7;yRkE&xWu%wnX09$NEzT`i6C0aeRFqvnLBI4@Wfm3y zWPN67Zef8cr?_yPs$hM7zACpwRZv)}+K`@~OOZBYXOaKFd|+f>KrRy27mNb*jRgoc!E^?8y}V_;Tb?P&yv=sklQ`Qns#ewE$Iu7DrD^ zgG2y+)7O_2PtV9LnEpQiOniFk#C20AW~EL{j-B{;?8N00H?ipyy|hedlUN-8#t0XXX~= zA`Mk~L6&NryVoeJAPYl9MfE`sv1!w$u_cAW041u8*`+m|@s}>5MtQzC7eg<7xKUi=8F3TRA#;ph zYGJI3OsH&Rs$jS`7G)0utAf>2V?tFys?79~?8(%+t~Pg-0(C7;&!LW9lI`km>JK<0a%xjUCf@(1wckN#>=`wWJASem@hfG#p~G8l%yr9g6!vG;dfv5E`Nes zyc8@0%mvheU|fwE%O+wJl3yw6xGuY3J%T9yy=5Z5u&{{yO4D=m2`0aA4WkafAHIy{ zM3Jy83HcGcCbu{plQ}D!M#b9n73-I$7nD4XKF0jlpm|hbGm3Dw{$Id_3vmB!BB82# z*{H&z1h}9a;m3lqgdYov5q{9@9GRt#$YDX@*_oL$!&uOatn{qxa2Aw3Gcq$GlPy`A z!cv#cpT8K5RF+ko{yf@y3d$#p0av%OMcEsR(zB*!73XfiVoE)Ae@m&>r59keEfywm zc2+LBP?cLyn!Tnt9m}ff`P@>SYB^RSj6=1YO$(hf{?Vzivw|nbPY**rm~P=PSXOpU z1et4ex!5TgTbq}U-4l8y3kqr5!8?D&CA5E)uHO(%?&r%kZi<2FF0;@LWm&oD`Ps#S z-DO31CKhyb-f%y;o$z;$Rd+yHPHuj-yEg?ZrJb3+F1t8gfN)u{b{4NM!1|e8JUvW} zA4^M|zk1n|OHvm+p0qk~!7^d(qw-D9%HA-YHZZd53fE=3B2B}Fm7XswzW1%efcfPf zS+YI@dm*JWu_RWtdNsBZRq*q=+)N$qhZ8rgpRAgVbs@K8>g7R+Cry!7!TCj7yF`ZP35PVO3EZYX?@b*?Km;?a6PUD#|~|J3F}EK1W=>k@1a+5b0yKW|6Wd#=suKJfoB9jXr& zq-+e&ELFO&tpDs5FbQFO!#3jzn~rgwQ|j8y(1&5_aCL+_QawW*rJkvdR>y>?!@|PC z!y>{W!)Am*jtGkgkBEqfjF=G-6)`g+ zIwB@g9T^rG9vOkR5!=l5ZBcdatXGBLu&y0?a zj)_4LV~~9el8!;N7?I zyQSr*2yM)bPUCNItcY*t*rw=Kj$P+?#`?bfIXs2G%&{E)5`dzB`+rQ~A5nNqBgJQD z$=)QSrJN9*!Jvbm6)7`VBl#ckBABz>35s==+!pgS3Rc1MRyli{hsOsze@V_h=J{qh z+a`gBNy1mlS%ZYX>B+8X4HPb_XddSfyyf_j07^QxAU;->BgBh*tvUu9*KAb>?}CoSowN zZ%}jIyA`qc*s}_DTEd?Pykxco^j#@`Rl%XwHxyip2c>_>LsqF|6|#>wIIei|$lyy) z3OFLCl3b9ZU_Ek5S+68-9P5PN`LFM8IXY)F%AdqN77w6>{9Yafw}{yRF1C(mH@FFV zcvd6w-X>|P107V$U0j1d*V=d_r=E@9Wi{5KLBC>;{k$n#ZF*2?p{ zrL0auv05c6#JWnugCXr>bG#|-W=ZM}WPF?B!6>bvj8BR9!*f`>$e(mT@P^qmAaM*9 z^Is;gtvtA?*LmKV1f|RHt(5S$lUcO{>iO6n3IB02J0Zd0v|74}u>&4_OEP&uxk(VAJ1WX$MMd&tYsXpk7tJ;Imy9sTgBg=%XW5`LHzaktS^YFGGWP?`K*27LQJ(u{22}Fm_$wRXx#1j?AD{O?g-}Jp3mxo`O_M9 zB$z)N&%O+P@!D)=pNzoj5dKOMI}ifvkr4jsY<3DBv)OwgeDiE}nY^!u@YS;JDO?M}XKlKMOEix@xE{^7&Sy8H`NQ*>DTaJ5#UOiY4Bwi>w#CAFB$nT;VFzYWV%KI- zhIeN1XBV*Dab!Og$G0wEm*Y+&!-I3E;0e^;EU}&Dg)nDAli{7lTRqrbuAbZG!On@R zFv50A`O6;c6s>X>qvPD=ReO4cR8t^V`U zfP-GFPs+C{*+CCKtlJ(uc&Anm{;oG`kj38dX18RqXS`X9r_WC82A**!yPR+EV)b(V zE-8eyT=Nb@{L>>SEvBY2ADcvFo+&I#aTOk}T?>=> z8z~kE{!0&bN%ReB^R|TF>%rP3K{#3O#vwV-w}IUXH-8JRrF!)^)Y4E4L7Lrw6lYJz!B%^#V= zD#Lu?(-1~!?hU8V=5T)R9QJlNUo(e&9G(E5-4XomIjkX~M+%22mam+{4#e{3X0scy zf$*uC#n;bardbE6-dkx@e-uxZ!7u-dyIT&)j$>~b$;o_pHAnN7ItITKgtZ*?rT%>+ z9Nw{hS4B)0eM*FFhyR|#wh;*XWm>)21cGhy5n#u`V>Z7-#LD;&MC>4izb7I$K;glh z*Z=ph9}#Tx7)tjUh(puV!QQu*^FGb97LLD)O^)N+d1mKuEIcA2OyRu9+sdHSk!;e=K1I{6|1^IR1i!?dJINKzFcENm#uE1U39rLL7{R>WN&y21MG)@mqOd z%UM(7e3Fv5$pnPG&%qvAuFzOY!Byil4I9|0Y~Ak@%adq zM+-rEwt>GZX4^Ra4k3d4mtr(>Aj)AP*ycy5?EY&3`yzh=NHSVL43+}FRm}8afo4(! zxMQKzm%r!M$MHMlESdkv6NBJA1*^iSRMJ?lQqoxg*yu@daHE15_;IkG;_Ep$fb_#r zhpk4z0q;5?XNP5c2XI?iI6_-I$zCO=fKmge6Dj_=~wHDoAzs;L_ z&m$6$C(&YF>;oBpUKw|k;Z+1dSh{0BG%D9H`SEsN`-z#_3XDGKfm0Qno&!40^ox$*x6Z+jDXI&!x ztel+?^A!p@G3aq1DY>(6zp{-K6UCy?8Oh6L# zGQLaB)p+t};E!&Xvu`|kz}%1{uY(Hmc9-VP6_h0rWf|f&sQC&diwgfhiG?uqjFM0X zG$0Cf8v{n<4gV|RxUF8SnUDWS$?Uu@PESX0!cwvZ>2nv9Y==j+_>O{ImGd~H-2sBH zU^^9Lzf0q6uTq6r9ZD5aXz-$x&v>bj3x3$EWIqgTiHAwWQUeEBY#rLN7$&)|!fa_2 z>#c6Lig36i68%R4E~n6|Z@_(s*B^nYLOc`BHPJB3aL%Oo?J$$!=5a2kboF#TKP=X( zK?|Vp7NQ9>d+4*eU>+0c4|Lz%5(l_jR^URmp)K`;hzB$JwhKNI<{h|O@7&#zXdl`V zdY97k&|im{0(YcnXv+bZ!H*81oSymv!9!b8z8l)o7>c}Mc1=f`Fe9T;$M1)>tcn}j zQU&wssv%c>vxc^yYxUafp)E=$;B$tys9|b#Lt9c|Ud=__VD{y^;A_?)pO$95Pr=ZZ z^YE{Sc@<_>;m{T<%pFBTTYS*I-~7%6uiJq1;6Cy^;x+l|cWgr4;8wkW^1w{q4F97t zef95=2He+Qbj7=~WoSz!-1&N!`#?G14s&{Kh0A>oW)Z?0x4PWHRS0k7^qXOxg@4N* zhqhQ?)@(yrV5)bz;5Nfl-A2B^R=NZCt>!PhPGUW znf52N$B(Eh%ruxM>rph3jYk}Wd;I|g|tp$E-f!|u-w-)%V1%7LR-&)|e7Wl0Nero}D z3w*eOvESi4ki{`;CJ5FrPvbj>?=rsY_*ybJ$e(g7@i~t5!R^GyvN@*2N59bR9Qz%l zX^-POBuHg~1PGW^d|CMN@s;A+jIR>k4tzEE_TZxwC|w!so=*wM{o-%pDaK^*v959D zMgLJ#U4+C%Zu42Und>&!yUj|sX@E(zs=qH{%nRo0&vNWRm{r?2_7F@ExENUFYzN!{ zZufV0hYF*SnFQ|YQH)7pg8$FtFpnWU1xzA}!i%MW#Q|0fc;<|ahDkEtBnPgBG#J^_ z<}v0A6I5u1q=fp6bDKX74HZ(I?!t@)9K?qNw-sjmTyXVaPC)qo_7{!582){P`u_I) z)&{?gf&X`7V0b?Le`;2{*1q}k=EbUl=jIpTo&n^Sr-e^bPj;JZt{OSwMT?AF#!Z4% zGIQ!&CY5{4m2sXTxkM@QQBX-Gty>mZJPpHZ8Xx7yl%! zP1h$1auHORm0p_8rp;aU_%wJ^{w`~7RvDX?ty`T_3~^sq%+=||#pxSeF^BCGTga#w zkGLVT^mVzJC`chPa3!39`wftuT?cV;_)*&FrMUBwvA&cpDf};gv}WU)kg!&d#xhCY z{c9`j1N5V{`FpIpw5HP@K%WT?TI=aYaP$$UlF}qN+8gMDbchf}umnSU1a%|1g*^fr z0PQEVhYbIayznDNBCY=fM{7TQP6Se1`jJ02jK1ebu1_AL5nFC(}y_=e$fV5jsE#Li-Gp^x^%;UB@#FCE`7 z-0<3Shca;g2#!9I-yViL|0JXe@Ll#GAJ=aQAK!2o zr8#V`haJKULc0>~LEmr~yahYCkKm)?Q2P^3Lf?M}*NSke2fKq6S5|7$e3DR;`Ds)hJejSE{xLFLg(-t;bpm zj;#S~YkPWHR1|NgA8oa0Ypu1?7p?8FMGust5OM*ez)s60-pc8v?yUHf%hzf%!(J`eF=q)RqFq2l z1*a}W_%~p=xIOr3DlYtf5D6nBKw>9T70vhYqLO@nvcP6^3mT6DjdcWOY!gnPVsV&TDwTtub<3ib;nQvtsITz@x0Muwr@2p{M~Lxe_i$_# z`ru>ka{5;h{@i^9CB$JK5wul=r+aLs_TtkXslNXjqWBK(^O!&-;BlgQDi=$|5t_r$ z(kd8%Xs*Kk=yeE>i9kpQVL#->b@2n}Ofp)2(3zybpVke8CCC8bAJ$#iD!%4^VTMlv zjbHH_>%DT-bE{V8u6!YPP40`EwyeQ@{y`Vc`OTwnU_cfACBPpy1iS(?A4o<8;M>Ff zeJ6WCLGVYcWdz_w+&6rL?=@HGmJ9FUu)t^rM(F+<2n`>OPy<1be@IY)kcr?ZgscQ( z5o#wm7okpqdW7r*8H9QX?nFp-2%$hQr%-~>W;sDHsc3>=sWAkh&0`6|NGSoCKbh5h@}$ z8lfWuV-PYD9D~p?f^i5PCpZ?N4+xG!sGQ(pH03PVaT1%{O1G#FBX(_u&n zroxaigh_)jC72FlN-zV)l;8}o9T?j{HJC8LnFxspY7mkToCRwW!Ayh#2+jr@AgBc! zAUFqXfZ#l^0fO_v1_)+>4G>%amw>1K0q;jbH-=H-QZh+zd8Aa0}P~!91`5 zg3rVFpC!yzumOUw3se!@4mLpW1+W2ve+3&Lm=88Ua0l1`L6~;bKT-8%6P1<+!y#-K z_ej|A?xSH1Z#0P7KYtVe<)G_tGCpf$8Q>X65Do-@@BQ@;p-vueFOQe}u;${B9nfLTY3CL9)F+5-{tYQ zc>FaUe~HImWO#uJ9{&N4KgQ#a@c4r~ejktD&EvQ8_>DY%jf-c9WiIC>EavfZdAyp( zr||eB9zT}HNAvhl9v{HtB^{UM4NeImFQNA_ZwPq2mB&Bi@%MqxpVillGs7|mE&4c5 zz{ul^c>I1IZ{YFyJU)-d>v_D6$7lb+GmQ)W2sCE$_%t4`;_*rzAH(D2JYL4*eR#Zx z$0Lq+S+u?Vk1lNI@g^SMz~k@n_*x!+gU4Ut@l`zjERQc&LV#{Rf7w0LV~&S5U%g9R zn6XnWsCAq3eYW77Y!)n&)pub1ttABO@;&@|#AspF(T|Qe*cGjEkj%58NC&&bMn#g)LL1HDd>cLX;R6zL&(;8S9F_?lt2-zV0eNO( z_elA=n>G)nyxjwxwjk+7ko>|%Yfz*fI902Iy~|5=u(t-&Vq2XWT5SQd<(eH(!|z%n zH6+)O)?NBsjZE)gyR9fjSm!KjEq*;R(tC+533ksL&`X^j2M@BN6c^ZiRwSzkD z!)WF6Qb{WZ>h_(hg@b~P{6!7d+6tFk%`WA~u;6)x@3gWB&~2ec<}+D(@E;B1kG9|X7bJ6sYy z`ni6~lWp&|477bcXm@`?I~vpu_23L&ZjI+UpLXfKVI63>d{Fm~W-)$BF~YC?vV%Qj zLDh%B@gsGR<>L7xM~&NO7KT?~KxuyZX`DT;M}uwIR#1V;ZC zpnGw|s0hh0%Nkc1GCkIgs-S!@JL=2qtt}5)X#YFSRGHwhN;vx5IlW5rO^AanvOtW* zlfK@9lFsXdXD^%DU-isQ)=&u!HoIj`vjF>O=wk6>igvIIxH8^srn!Yr--4>!)39HR z0?yJCVAtv6t+bl4i&46{cgo<~t z?RfZ@(IZg{UF03(rWy7VWkd@41gsKfx>Qi)c6e9wdcCtM$MLE$@zOOdF;L!Ov!EO* zgWnx9f;rS8)B3vRqIcQSw5)a{_~mv0SHXQIf34?`wC`_wb7?P{YMX~~+*T8+jsXvz z3|wa#LN|eq0F46g{t9^d$AI<$t$>4(9xww?1vGkgMu!4VjGYkiZ`0itDpIb`>O8W| zPcPOZJ&oI=YFf~uIH>JiTo^mgO$0e_;2&ZqQx#YmH#>QaX|-Mw^`2f1@_t;7`B4bLC=m9N|HD&1=3=V(px33p>Zl$ttrgx5wG_(VS?wB}R1YV2@oH~#C`sDNXp ztae8{iPf~ANP;OX*hd*4fNcbSH8#@MWJ)x;mlqY0%G9j+W7MRnls$B&$;Xm!`n z8c$;~l>VJ<{98z|SxxGcv;GzPC3(1>G|toXpk*9%LO;8tjnr=ViJ+58O*)jA0o2b1 z<7pG({S&yh5UKlZq*MCYJ9zJe;gl60oe)VG@Fx>y_*+|@9oNquamgIO-pUcw2Y9qH za<-}sdaY!?tJnJ3`EBEjp3sY_o!T=Kpdb5Lb(^{g#iVv#KI3i_HArC6j5*QICbf+z z6_-ssoLIC}69jrixL6rK?u>1F*uOaP*IVtg*O8owJqi)z5l@gqlmd07G$64*Mfyq^td zjnPKC=GrvZJPfUcR2-iWGP==5B)e^)+Q1<)jklrVwmZ!vy$Nqi7&$Q?E+m%2WyN;5 zxVQ+H7{`H{;K)wq=MlKvSPZ-Z$P>s1!X`M@-@r8q=`fVui4&InWeaSWxx zU5UAr7OzYS1G9T6DP*d~;sy&KnjuN_j7#gtDcC*ROF_JkepY1>8i@yV$eurEuSRIx zrLM}@-|90}Q0vZhx)1(7X%)15;>2gD^Z1R45!5kUIdKlmg`SBoEz(0R&cGE6spX4+ z%YoEDV}VR?Me_yFc%V^05)w`V8KAd-76Xy%oM0e#ATg&e0Dn6vC@jX}R+81-zwPU8 z$2O{TS#W6v>ToZZ4SPmE>xZeyA>>YS@)+tzJZtg}suW+H90V&&-Q(F{o)2#ygB7!% zJ!B%Axv)W!~xPwn)tq`6wJXqm2!`ctZ~^4BI(%LVv7C?^e9!!rRtm>R-d zgDW{dxQ?p@tc7bjC14}qfv25z5DmO1(07ZSXMnc=^Cp0017-uI0Lg(ofgX+rJAn(X zTRgq1)Kyp4A5^8TvBx|MCeDLDxgxJ-9RgV>g`vefs%Hr$F;Q2 zDn0vsc8ER*ldVyp56ge)T)n*<(vL$rabbg8!<*LLus4|7|6!vD@TwHTT1zHIX`h#o ztXKW)UwaK2=@~C>1DBRCWGU)}od|iOUrYAZ+m{D8GZYMFSP2;h#EEp1OL`MXC%L3I z3`%DXk^asloet6>m-OO6>3C*{c$G_h_+I;LXGNwD3Wp4lecvT(Hnh5AV+Lj2hR7at z$yOW4s(;rmGPs`#(ok}&o8~U;V;kD=`e|!@x3;1f)QLNb5DERg@2hA0WJ|W zedOvFTiqJ6I)B&ou_hZeO&DXb%X?9H}+G`*ae)=g1YIz$wi7yE2yA0v^Ydt#+ww!2~n#2jc%gJKT0 z#x=k6gk+ve(z7z(CApoG%x^`_+nr+i{+ZQi* zx!vJr6APQEk#sZHWv%nHlU;LtU;>2Hk^#!p#t(`A^)|`T>mbjYt?Ak^L(>0qyN?yM zsu)QAv~`MBF(kRY_IplcMQf5aWJp?L?N?mdJFVlj0YlR6*8U$Ztq8VO>5#PRwI{f= zf>wpr-Ic}+w49h07UJhPxF81F5A<^^tT2FQ z0ULl`anW+X7@!28>+@hW13Cnh2ecSS1r+KA4>S)aq)lJ=rafl^ibL(M7PQRYqZU-= zMAJuzXYY1e@FwX+T`OIt&U^OrNE57XKg?_Dr=w_5O~9QrNOLKnGfNKcYpl-cOA1n9*`t{1Il zelOmI8v>@Y>P!ZnIU`7Mw{P|a>fF^$O31a`=pfhT;zDW4~}!zBzDg$Q`XC@?UH zH)!E%3aDZv9GHNJjBYmYG2j{j|7j*(p_bE!EZCq9rt{7Cm|7;=2XS_a9el%rugsMB899L;A7yBq{eIDc%`?MO zSC~&}Pq^mZ7}p-^Tq?HqlHp0Se4u@ANIF?6_Lxbk63^1aXRd8I!nrD|;h@~d`dEs! z2ZrRRt-Zj_blUQows1(=7q$Q3(mKufiYAzDGUNN21S%MN&k9pZxDr1#Z`Q6Hk}I`y zXXSD(Uxit({mY+HH&o8!QjeK&-mFmikQpBW*ki^Ovy#;3O10xbv90Ldfass$(%cm(utCddJu2Ra~!(*oc|z&yZ(KuJL4ZKYie zs~b>N1o+{ArGW3K;hnev0(zh{h|mHm07t3u_}S4+=v%wgW1lI?h}PHGqcg#k5(ewi zf8AaHUe88J7-ccIq0xKPi|s-$<+*rh<)s!BBdVU&PI>$zN9*mXx$WiuuIxA! zjbXOyk~O>4AyNN^O}vk-ZJDZf(AFy?V%ERk@qdp(aD+^9U7IZ6EL?d zy4+Qf`={#16uy`5dsOu9NnL^_X4Q!oll8vFblr-@;qS;xzP6()N=-Zz-p78}Qg6R8 zr}rc&dbj$5PN@q!%rEk!&f}Kom_-+}DtFb%Ra5l}eZBoy$WGl3b(rxTvJCh8a$X+- zZ^Yiq2*ZUB`dDPzmyy=~#>>5IZ<}u!1$VTds5ksrR%hMwa^RPn$Sp|S^L=a#aB1B% z=X3P3v2C73`xS0*D=h8$2;87ca2Jsjw^LnXPa4_Bc9@Vt+L82>x4e&CY$6;?K;Y+_ zki3`O)21)dyH^m`CIo-4jSgFI-!AgGZ&&I(a7~MFBstR8*kui}sQdQlJRC4*wD0H| z`)REz_JesI7LkM~ zM@ReEi>CEOD2mdouatv#H}YsNYi`?6wBbZ7Q=F(t*2ii{KYeQ2cv1k|Y)#x@f9Q{F zQ!hKWZE}$Z3|x$9Q_-eV_4Zn^0_UrH+3{@(=xJ3E>FZ(KY>}BZ7i|WKi{dCwBD^gM zB$7d*m+fyObIjeerD#iKz5R%I>`_vNq-{zO1BHM|*+mq$` zUFsSe<5gobc=fUdxZUu9GlVW#+C}dmzG;Hy8yoW4r5*!Fd66F2-1aiBln5wAWkuV5p2P@Tztk>siR=fFzk$eHmm(o3^4claCxA1Ij*rpY=PI@gx|9v6G`B>+ETADejpsWhS}m;JwgU2b${#$>Cl$rSlZ~Za|MkM+Bhs#$yKC&qVrf_7 z4oNW;hFNsWEqFVZg4p83VFh`%T8csKZMTlQ;j+m@ECIHG&A#=aj?Z|%uBDsO9l z?}1GRIai0&*z?}2v2XvS#^wiR8xZoqwjAP_6(J*z=2b2@T4Pri*Vtr`6bwlVAZa0F zNx3R1gF>!8u+4>-`5_S{JA?6pQ9_&v(=gpko>OFnnQm@7)fxN>)+y;giENroy zioFZ(4Ji3*_H2|59-_`3S0;LwSo=42q*Q4lnX(5qN!$b5u&Gnmj3^sdGQ&oDeF@VB zMS1Ds@~9|}-|A1kY7>6@s?ELbRh!82s?D?KYsm36^3hvue&hkT1QBt1gCYRN5LsnFbZdNkJ@$>I2o>} zrlY8+2<&M@F@}yG3*z#l&XqzHNr}VuNxSy0BMVL-cPjX>Ko0K%df6(*8kdjaI%)?5 zpDmcGmq3Q63IwDg1$5lQ+vFy>m)&jg0^f1nwgQS?09REc1-;&n<#sbIr{68#h{z zB-}D=*j$T*hXO&GMS`--Uy81vH1nc7N!f^!!XDasXT%qliVT^BhV;g*BaC8wn*Ozn zg7o4#r&0w^X`}UC3$<-jNml2btxDrPSbzgzU72Jdr*=cf*M-n@23l$4?jt^|q~yt( zSzK+eTmRL9=uh<0uGst;)L*EO;92I{b?Yp&N1cpGCln&fuz1jhwgrY-Bq=2oEa;&| z-yBhgzOa0h;cubEP`$jM$M*$+IPEbK_~CR7yj1=z;y^F^7E}vSTwhS~8H0sWyuu~M zbc+XN=%Mqlk1l`-EX5gqWhLp}Kg;#fj_Bum*(6Kmxwn5y8jWJFbbJMOC926w-O=MK zd!3yyp4SQ4)-#!;14viot4Ea#bVG&N*$uB1I_=kFi7b=DtCC*!fQ1-JtTn8RY=kl^ zVxr>m;NmKQ%o{PRm=Pt3I%&uCMc^@b_>_^SXW0cE6?MUIVQ(+H+>GHZKCxt`^WvGf z{MXJo6;ur>Sjs8*-QrYWvLGm*SUO!N14G+x3Fj2wxA<~+&%#VG_OjE>$?%+FR>4zc z9?K=IH%D=})~w)gwRtk6t}w@OpwRK0vqO5>`PMpn3YrMUFRZPzt9^*D8sg+A z$rTsF#Z7@YAxd<`Nw_#A#K9r&TrVrPplERe8b{Z~K%0Bb&bF?xP|;zf{il4m&8nE& ztOBh}c$pktPZdGkO1LPA)weAAi5Q_(r44o+Cmz_NRn8Z9Y3<>!$~DsNvC_*{pV#1x z_xmlv@N;z|XM4bfRxf+fEZ6ihY=yZTZbH_= zyVPtT@?x6Y&zHito#pT)>rx;EkndfGhCujudOb0&H&2V; zR66pvqDKR>qM~JBRyewir^&3yc2DiXr>Q8iRv&ugT*(4j{^ym9>C~SdD6xQ)$Z!+Q z(fuq}*$0&YRY-*Bry}nM+;9O&coS|h~P)zr2aoMhN zPlW*H$_!l)48%=S+as9JI~rl>A9h0dc3zw?J4_@zn zUL@_Bo)1nNjXFvT{mLj;XQ$3o?pPqz|O7fK;K6wCl3&C%a4zGMvg(@J&8h)v+M$ z@R(BSxB3Iqpt8(otLVoPK{}{T)X|TV1Q*uyvY*4z=l;}C;}rdu+5fT&i~J6Y5`P6Z z?oROe-wQfQW@ece`iZKM;@8#EuIijgI57vsrnTRADg>Y(jnrA*PW8r;_f@f(5}7#q1c-Uz{`dRd`ar4NKzEvWs3n~Yj> zU|E8GDyZJ2o4S?sM56k8`)&hwpWpt<%iz*a-KCx|xO*qy2@OX3XxMC&njY5FCeSZ} zJTmo+T>o}AsK%0lo%;9BP1QdYzHGTPPI#MAz|DFuye!(OcaKHwL3@SJjtQ_&2j^!& zSXPk86~I?I_hlnE?@FJ_y1W~VW9-ycGRuTGXF-f7NtGi@t5!@v` zD9GwQ2;A{5CJkHZKm%R*Cu?}ERhH1v3Q1RB3VS4Ld1e3T~bxVA3cyy*El z6e3HvG(7L$^~<(;`>io5P5NU*?Nn36aG!yD*s3;o_pTuwkYOTEjmg3GeO7O0%9BGP zQ85f=+AcLYkOUT?Nb#G}4qtz{$wZh|E|~#1PxdP)r;TT<1r$zg!lm8jJRs~ zC|%m|a9tf*CQGyY0+p+T%BlF3W4PL_ch#2HPW;Q8rZIULhp zD2!LR$E0?Lo-$@scLtprS0>Y`q69t2x7Z#H!^?E;JUwT_h2IN*T_&E_=m(2=YN!2l zpt0x|m3~4A9CJ+M?$QK%F!2FBUCseBjOQI>nnsj?HzHqT7o`x-%nvW3%7W*b?{IEe zos2kT&SxpKM6%N2}$VzUUTGVOq?NDx0Ly6@*c+zETxgW9uXTl`V7QV>0!g$oK8Xy`#D@t z^su@%@KhLJ=C=`7rHAY{U3*vcz=w9khfqK_cfr!WgSWKzut#irnwRENi3?(x&i|bD zw^I{l0{8FJ%kt;L!2NuBJnUVS{XaZ%gV^s+*V~POD*X;MQATOVuzhpdxwU)+dr=R2 zx7Gij&HQzzhrQM|2FI@&9yN(ui_UGJ;(OThZPUx98OcJ}!wTC{%hF28+Tw$ASA{Y0 z#&ZiUtRd&z9(GupgDw7qRAFhqgU$KGuPh}06*%9^AHl%~zGOLeIUUaGpM&I!ZDjFK z=3L0}E75|TYHh@UOxPfKM6Qi{*tH~GuF`!98_R46Pa)~bf58QsA71`YuM&g(K6iqC ze<1@760P=`g{nt@>rma{aJ&Gx2Ja=c z2lCGbN(LHTLYA7ttH;7%k6RtWz+w?C?f5|V|$u9$nIbxKU+03wetcL5v1|cQ&VbXJ?zi6ait=o zuMV8vUI+V+DkAYdC*h-~l&#GJ>I8pMw-?m;tG{k0bK(3cN*;)V;Da497w+2v%hJd+ z_?0^oeBXkMWqRjC2!x3+)=G!_9X52-8=SVcq1-v0CJj#49`;ikUh(XbKtFD}1{RGT zJlOP*Ph4(3JBkYArmG)J*U^L1H5#UCxRp#-a%NG%bXCE0O>#}w>Adnawo{p;hOjEZ zr5u^8WSYXdV<1!YEejnU2sM1wHC6Ap{P`YsyOqq702?_}^sqEzBU81X{i<57kB7l5 z;F9mzoL<;VPfXQJi=jEId$VgO_jI1B9Ozr$lY>Lat+(QnuRqM{7QrT$+9|2b>Xrhx zrxRB;HBT~1nzGE9egnH2UYtXE0_=@ikFT!wXWp_ruxA>GjR~J83x2qjJmuELCO^(T z$&RC?{@4tuCpN=$*bJRpp-A!#9E(kPS1c82Pi}*i+vaJ(naq3Au9t$|Yy-`J;%H8B zqlGAbXh~^SlFDTFuoYHv2>J)yNZSo?+<{k=Y3=<6B6Zvb)8*E-Y^Is zwuZy=kkuES2dzr2@=wPP)c%VB(kwH|;*E?b@xmHdL9Jxb*zQt@+7BC^Ja_f5SK!?B zc(7_ZE9}rYVtl5#yg5iK`;&_Qy4?dGa-!;6FwY+X-3KxO-31a2htG!r&-)|PL4Jux ze$>|F125KqN{7K`9#S}uNZ<=-FNC^1;av&5bR*}Qv+#oL1?`J}QdV+%E4-cQVb_?Q zYonj_kJa{b%fM=zQPQy>z09Zdf{v`cw--z;ODRp%;Y-hXGWpG`2Hzt6aY|!4H&ia? z3QjUBH<0DLw${0vtE}HPlL3))$4_x^4@(Y^PaZyd;AQR5!)Fg03UN;!K6_X{h8sch z!CQD`4~s0p%|kmMLFfP0M9#WI+3%K~rXIG*{5Kem9@c0vHzjE&{Ha$Mmi^g> zUOW1~N$))~hD&Fzw|vv&(>z)m{@)0h&nP&di!G6ZAGh)Q=;t$`T>1ws)lFBMK5o7b zPnlNo-<0GlYP#*zx}-+I^-3#tC@mM^C^sbOTv2#3NpVuH71pVJ7%0>WX6d%fBK zX-%Wx$6|``S2~lNlKDBSHa)j>6(=}U&Xq(2FW}t0ZgjvY9Jpl^Z9R#n zZ<$V4oWy&!yw8YEI+(L(f{?>OEuSkyXo>KE80`k;6-wCPflgAuUZjMrB6N?ijg;_X z5!y!sdx#d^5uvk${gf7dC`M-beQ0x)o6smi4Q{Q_&LbkipBI71@e`n@Vhqt^q{y4Y z7lj`WLw7KfSIpSU9gN_>dFpKCtKUGni6Z)IDdCUFsE8KUCZl6?liPR6Xuo*ufn;=7 zoN_Q39q|;NorrFE3L)m9X9|47_kouXzSz6xMPfRmg0(4;0+G}P*3 zax~PxGnwRqKiw(D!9ZW3>F&GGz4>wo|o)H)-E;yLoAa~`T4(1qO_U8`fE}&274F{9g z=U~(|4yG1R^&^D)p(4LR#V%akI!DAjf@_r5fk-_KdKg%+(lK%fz~4MM2i&6=zAYd! ze}|=yV3iARy6{IAHoA~3kwnf7mP>*GE>r-*DvHQ&uVF=HxF1~u&;39eu7eQtCW0Fr zbnzg}JXg4@-?2pnrMN+OquBXV`;8C=9VitFgntN@X#^7$Ne(%G#GMC$00{d6jR4vR zS3!io1q(ea@8~#?Kf)(p3J$7(D2Kzbh19bhumbY^4k*G`x5hE|p&|o+CaCHEGBN+# z3Ww-p{?}XlWCdpaf9Y}<$;1nk;a?Pm@K1Xq#KejSrDCceLQDpn5WJi%h;Sq3P=V(a zM7a@LxrJXSh!PX)A(V&TD~NC>{|m$YAUwS=5Z^D5hzBep4L>f3@Qi`kMCfcL4lWFL zzqby4*R~F172=1$63WN9g%RTAdGJvMP%bVmjBt1Ue-rrQLWR42JA4qa9sj#ffn)ZC y;?R8(H!>M6;&J<;#N_`psM-xb;>PKP{&*v#5&OK4UxGAZ`jS0xO^Q$KtNXvJvkoNy delta 16378 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/dev/null 2>&1; then + exec xsms tailtextlog "$@" fi - -# include common definitions -# shellcheck source=scripts/core/sxmo_common.sh -. sxmo_common.sh - -mkcontactssedcmd() { - pnc find "$LOGDIRNUM" | while read -r NUMBER; do - CONTACT="$(sxmo_contacts.sh --name-or-number "$NUMBER")" - if [ ! "$CONTACT" = "$NUMBER" ]; then - printf %s "s/$NUMBER/$CONTACT/;" - fi - done -} - -# Replace certain dates with human readable versions -TODAY="$(date +%F)" -YESTERDAY="$(date -d "- 1 day" +%F)" -TWO_DAYS="$(date -d "- 2 day" +%F)" -DATESEDCMD="s/ at ${TODAY}T/ today at /; s/ at ${YESTERDAY}T/ yesterday at /; s/ at ${TWO_DAYS}T/ two days ago at /; s/[-+][0-9][0-9][0-9][0-9]://; s/\(-[0-9][0-9]\)T\([0-9][0-9]\)/\1 \2/;" - -# TODO -#ALIGNSEDCMD="s/^Sent//;s/^Received//;" - -# Colorize Sent and Received lines -RECEIVED_COLOR="2" -SENT_COLOR="3" -COLORSEDCMD="s#^\(Sent.*\)#$(tput setaf "$SENT_COLOR")\1$(tput op)#;s#^\(Received.*\)#$(tput setaf "$RECEIVED_COLOR")\1$(tput op)#;" - -# Replace phone numbers in the filename with contacts from contact book -CONTACTSSEDCMD="$(mkcontactssedcmd)" - -tail -n9999 -f "$SXMO_LOGDIR/$LOGDIRNUM/sms.txt" |\ - sed -e "$CONTACTSSEDCMD" -e "$DATESEDCMD" -e "$COLORSEDCMD" +exec /usr/bin/dwm-plugin sms tailtextlog "$@" diff --git a/prebuilt/sxmo-x11/usr/bin/dwm b/prebuilt/sxmo-x11/usr/bin/dwm index 2921d1ee891513fd3b75a6367739a34a6cc06d2a..9ff02929d82879aa46d6d7bc7b93164181734fb2 100755 GIT binary patch delta 417 zcmX>xo%zIc<_RsVBAXc)L?(9b7U2;xjTT+0GpV{=VT-2zuaDo-wp`jA!RTVfn6P=S z`FBRfd6TDF8Z*XiK54l+p7odn1H-<}l{3v*7`Y~IoZHRVv)OjuY8J*9lV2`c&*-pu z=3;4Hwu-dOoYdmYhc=w!oUE{!WAcPu9EuAzGB7Lw;uS!=28eyuFfjbAVqoY1vd@+? zFf>fwxof^+1CTehl7XQGNP_@Owg<@Xtzcl7Fu8KKHsh4ZOLr?X&X|01x4N#vCI$ur zAl3k42_P1LVh|rB2ckjpV0D{i_blc#i~$;!0mK3q7#MPZv;|PQ07!$Bl>ljw(h86~ zkgfsJ5|ck3Ef3tYfq~%+5MKb|8$b*KFtIyGVh@1qFCcl42_Vye7z9j!bO17Y^Uh<= W%!~$;|DKd*6#&MDz-Gl$%NYR>FozKU delta 421 zcmX>xo%zIc<_RsVGMgC~WF~g*7ICsTBU0U@Dt_S8B#kpO{PzoS$WPfE!RTVfn6Y`T z`FBRfWs|2`8Z)MCK54l+p7opr1H-Y+l{3v*7=nOR7#Mz5F)&O3 zvd@+?Fmz1bxof^+2aq?ll7XQINP_@Ob_$T+Tfx9EV{+wgZN@p1m+n?(Trm0MZgpLa zO$-bcKx_cS3P3CY#UMUN4n%|G!Rj{4?pe%fm;yAc0Eh)HFffz=X$PQm1&{_Qs{zs= zr42wDWK;`~R+#+pXnEj~4GaudfcORwKLBD7fQdap5_f)4z*oX}hlfK4ATMprlpKAD9If^ zh<7`rtR!Qx=XI_I-LFk+LjZL&u;E~$k7@}A#{@}Qz|7~>(|0V%?9~J745SYR|IZC7 zCKh|uJ?#J1Ytk~LV4_d!elF^9zWA=E`F6UNe=2%pzHB!y>Td+l8vNUxgZXv`y@8jO zK}L^<;@)KpOw)21LniJKe&PGgxaP>d>S?l{y~6muNV+4irNiiws>8wC0@)eYSHsI% zBw9zXxZ{27-9;gaAw9e+z-&jLu;Zqg97KBLAZi4|s6>+Py7V$y;s^(ag{ai0>sTKAVJA7$>i(@PWL9{3#Fd|qtb7c|q)PB-G+cMLR!YKXra5+O(i`?-BJJ;Zhfu@37OyhPXUq zyIiw{=7uTIu5S+|O`ge+mB$J4h%6Hz(-FLI64J(oNLNz&?d+Fgx8?{g_YP5?CD`2C zMSX_Q;%*RimB6~AUxc$|3o3@z=h^X=QTl~!9i7DD{vUgP8>%aC&^av3zU9#~vIXIw zRFL7BzVfJW5kGlXb;64&a?;p1fzk%%e|n|ID@=puJuu7})!`JPpH{=gTAqpe=ny+YKFd$Zj-{B++7tmrVA zbxb`yf<2TfV=(h;H{-y>!674lDt|pOqTb8Xd0XgzBJaCH%h3P(lV#|6#xKS9&B*)4 z&=Sj4VPnSXnNj}=|xB2oPpl%VTqx7Ie-D(69Bl0aXaNj6{R&r+~K(7sl`>5 z)}mr-ElH}asD)29mY1TzosCmZwGjtCHqmJ-9?!cM*T1Z`w6ernYO_|9R(?)m3RW3c zs)%!8dTk8aSa)-2O>L2NV^w8&RaN!>F;=#wv?vnAbt>0Pv=(hFCw0oJKJ8S*cTLK8 z6$fw#c{mwU@Rv#+2{MXILfY|=V^QL-ba(0o3HhatzI9tFjaG0sG^tT(O1u+FPS9v# Y^r#YS6qh_bHOhs>TnU{y(@#kL13~%|4FCWD delta 1575 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 delta 29594 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

4{AJqDAb(l%D!q~yGTiSNtKGrj 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 delta 41179 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≀@S+yi2^` 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�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 diff --git a/prebuilt/sxmo-x11/usr/lib/dwm/plugins/dialer.so b/prebuilt/sxmo-x11/usr/lib/dwm/plugins/dialer.so index 5eddbb98f30ce0394d3b9e65d6f9aed43786b82b..1351e5187cdb5074d743546e8880754be1f5f8b0 100755 GIT binary patch delta 31476 zcmb5X2V7Lg+Auz63oK2Vbd+5dm8Q~EEQx@40%!zlY%vH%4@F|s*Vt|r(HLV3GM0t4 z#~84;aIWu!+o_X3l(~fHn zi`E<#l_okfjuf(nEh(XWu1Y9Gf*8S{2SOA8wF`yRLDrBcLTJ*K&pz<#o)`m(F(T|t z1qO_~b~n*gncw*Lo-0q6@80w6t)b%{_klV-#cxoufdNh#;=G9^TMtP{^`Amm4`Bm& zfWJ*vfIhduQoM=6BK5Mqg;**`5S@-$vl34g%v3Cnvlb8{Cu>AXutZ3Re9?{oYZCeO zf*=Tf_4yFrF>4yh_pr;)e_0$!A->V~WdbSxo+s+@B84QFak4PeGt=)yBH!!|yiXVs zHz4TM)M&fLT3uhwAL@n$q5jba9KOL_Ug~W;NP+Ve1 zsU3E$ii7Y?(Ev|RJAz5Er#K|}OShLz5R``7^~~G*Wj>+O!fuU|@-Fy8afs(EySL`! zec})b-Rm6tcb!#Jzbq=9^#^aqsLdVq_1)hV*Svn2?=3I|7X0z{CRdLayjru*Ut*g2}Yz zE6@R`Ao)B(M%xQVfWEh397%*{8S+N&KsP*(Ayf%9kP2tHBUA+l+_F6vKnv5L10UPo z{|Gwt-8Ts3*q;B<6QOsnA#}-xV1hqFy5A96%I7Ow&@mWh?mz_-Y%jDzgXd1XY+xcF z0T|mF@Be2rJSA`9!j15G@^~d7o)us>f200sS z52C#Iicqk%LJ@&@cJwI4r4S1F05z`?2<*5o)Fj{AuWO9K-mb)M5vy?*}w+^=Oe@s2&&mm;97)(`WGocy7u;>kS`d@0|bKj zR}u(JKSJOZgia6$hT;r?pl@dh`~sm11cK$eL?EDfl|Yc@YXpK?-5?OGo0`DA&Y!sQxEFg>M=3gCz8Zeh?S}{UA^Z{UA^V{U9(D`axhA^n<{1=m&v)fJeOn_64g% zU_XQ;1V$j_N?;_goWN*=dJ;GQA%6k~A{5-4QXtpo0V^B9unpP=v-3I1HgI0*8YN5jX;&sRV+;%fcVpbD5oU=}cm!12H&0>Lg_C2#^TiNJ}#Bm%+Qs|j2WOd@bHem1b5Y$tGlJb_`T zCvXOEfWTeA0Rm^@l$d^04$hCsoLvP(0jcsW1fmeA1fmd#fhYtP0Z|D20Ej~10w4;3 z+khwpeh5S%a3K(dz(qh40*?Vr2waQa21F)fh8c?1a1YY5x5$tM&J&h8i8woY6N})R3mUL7>%z{^>3c+YNe*KTo9w|F~y;px)1 zIy9%FhdctEv32)E%ggRoc8l-r7FTwQmv)P<>lQEW7GK&ezMxy2c^S`noc;3Q@zied ztZwnNZt=#fch)ce99OIa=B2_gt>ZC)uW7@LRrKw$PjPX0IBEv7}C;CO1@s5FFz?t7xV8b-$GK!cSuU|r56#3 zya+=Yj{emDbkeX1l*>lrjsJk(0Ts@~yM}+%W2_NX_q3%LADs>zA)%<=IO>fLd#y7# zq!Cmqpu~lT)^|PzI1Ivp)92psp%i94vSq|P0C({mLJv7ED5Wtp^dZ+Yd|7ILU43Tr ziJzy6=u3^E0@NpnS%fp|k+8n6T8Cnt7=NaVJ*K~K-hIx+7h9x%$R!QW$y<@?3AGEh2f7~RF2oAuLcEE) zC_|w|fNNL$CazkxKTm{3tVds`A60Np!f$fuL#|3)cj&)NXa3YTfoJ6`J z^@!FH37|=|#Z|^^nOC`qJ0bI=yVxW8`P)nARrGXDGJN7_RKMnv`FJ(+0lveDVv^{e zIJ8$Wzp4l$`A?AW87GP9V(+xuFyj%^8|Ep`0-kyN(-T1Ei~Mi;1u(N!!ZHDt${*)b zSehr=A?Sy8bg{iUa`S*r&H>CrE@qfu`-;^0+k+TFl^|E32~QgUOUh(ip43aRea&Ba^YRJ( zlIp8U9&&q!`peLk$(6tu+M~3K?X8y=-q%g`>c!mRJc`4CE~Wa+ri@q;J7f^b2;6MA zWXVEq4Rf4)sxs(sI=R)|IUPb5J3@blbB!5F-{z3?N<&Yf2NOvP4Zkg#;USAx2@uZo zYC@yB*d7LX!EYdKI0e=J3p*zFQn-}uZx9P^wA@HOTP>1%m5GLj>K`w}DXv>mTEeMI zjp0;fwKwgyMMZn#l$HUrFEtLJP-u@Wj%6;Y8KaZ_c3Jfo^G6@YJ+9@yaj4X>P24PJ z?u_MAL2}XnX{yNbmK=8Ak8O$ac)QyUN>wLOR!jdU!il0^Q))aCDnn@ zzjkdd6UcnQ1TbpI$T%F3qqKca$%dxM?1KsF(@jjzN6%? z0%!b?8x>Rftm;xyVyT;Aoj6Iv;wNtBUutO z{)e6rS9YjZl~Y*~Pudiov}<%u6@Uu$8zZSO1bQ)qtR74XO&M~9&gDFDo6y8Ac8b2c zOs>~2XFBo@0i6R&2_jb-e1$Jj5gT&FnN9VhjtUUa$qOXu&gfpuzjY2?R#}o%-{KNV zog2nE`a>)Xq-`qSW;p5pLTHo-*A%`{w}z|E{i`O}ge!xmfJk>2ge%=9TwX7P%h8bQ zNSdt{5WV_C=csaNpj@bUM=Xv~G&LOaRGn@PQlP(|l;kqWE&hT_js9S{2y44o31M}= zK;bZE*3K+P5lQuFC7}g36*?4G z0U9x+1Z>cub(Y2^-KTVLTO;)VQ#uGhGmxL@!J2Wc|(Zf}Dx~=H;8UApFo)Fq^D05u z&$l+F&#PPpBmQ|UMbEG7Vo$bCK0Lq51N#Gq=C#hR>|`HV=E3g+3wiObMN=?C`R-w5 z%E+dsBk%GwDAbytoXg8NnaI@WBwn5DZp(duC|uEW_ozJo&gc-vzdE;&Xr6zy1XHzt z;v_cty4A0F$RYMOYzOXycCkq(!m|?V}+@BeN2fpP4 zdSbN53kT76MrYQ$xrV@Kk9u4f18VI&A4W0Kp!?5ORd@U$YC#TdRrXkV6Zg}966qT5 z?Dw5)=!@3hw6z|}xBf;|@++;Y&DPe_X@4eFb)~^eD2xHa=WNJz&eX4$!-xWk-^m`Z z5J?)@^wZG~fHs}%ZOfIXU*tLC9b;Cc3UI?)-ilkM*KNAUX45;_>n3|^j_Uib`UKw2 zDR3^k`(zEosJe%oYgudR-KQn#^DE`~%ToL05$&>CGE-}jDv|EpFM}51WO_d6=2f|E z*d8L4cPZFf&WhrL!&VfFEnV#GZ~w{*&7Z;a;|B^-5sE_fCyEQwm!%S+xB``ekI*B7 zPKIg|`D)crZ8q_b-t+(`;GnJ6iMEbUvb_CtRLhvSON~K-PIkHp{5|mLz_@sUF|)dQ ziG2mzJJ|`4h2lJ!w;M+a{K1)Pg5oJJid##gZK6Jc?G%`?5u~&?89XI0DuT40cPUS5 z9FWw>UNC#BJi@)o&sKX##q_0yKaj8u)pxQd%()ERI5+1~<6Hr1NOX3zTHH?718+zV zP&k|FpOC>5_OEmfpKjtV$mUm`>s6zhp99P^74iDz7%v9>`gd_yxSi2sY(~ zR_+14I$t~tXhYN`)%aY2pz$t}5^0`S(8bc<`T#Y@fp>rVzSXe~KZg|P0<5ovL-_HZ zuv_#staO}4=oExEVd1atB+NS@_(Eue#fO6sEQ?oL+vtaYKQW9%MFPcadvstwF!J)q2WtSd`6^Q?upug zeC{m6fDE}^-u~K1J}=8ake_8zklt?4?9&hmOf~J&Y}2gKV7^CLCTT`byVon!C463r zDKNv$E^niHF`t)UB6Y=?X2b6Q)4Ra$%fOy22#K{;zB>b~S0i-!IO>OPL4@%2EWq^u zD*zS({1{*sz$AcSYD|xvLlvGrJhql{J7g4=3M;14RCy=+G5&0vEUVq1&vR&yQYU9S zH26!Z@(3dv4fzEQ;HJgqIyA&MMHHk#n%1B%bZE$;PR?;?NOP_#%!0HBhWsLj28N2A z>(G#mB8ocMKMeTUI4PBYgEE8C2N?GjiW;(nWXO}vCnl}0QCc7ZSCpjeD z2C217K1u0ml+zPAi3?u_>h5Hnu_Dt?&}qQR%wvLETAY>@Ex4$~OR~ZRm0G+vt1q<` z|0}CM^)YVF8kPBt{&AidI#e}V3?16Xcj$;dr$7uHipUj1hh%(*_Uj)PilIYQbHvc0 zeSC+M`kW#$bSPr37&;__4sFJtj!zbKuzy2dIc;Dp4s7znDgTPvaoCvNEokJLKCycd&CT!krGPFH-!~Qkvkj zS)HgvMXaL7czpd`JB zzQ9)^dXzYV`QWcs37&KVp}9XH6Z4LucFO27DARYs8BgE4no(Azch-X8b zXi^7wkvMv4*q9D>uceY`E^jj;z^-(#N=rD=Z$708>`Di_*-}ZYfVB+Rl@4~TCF+G; zsRFyw!LG!rsgu1An5h^=lix9r5^oer)TIIor^!Z~H+rb<>pTm@II&Ko8c$1K^jtEEI@od8aeDmhBWC+9A28c@ zxx#GUG zB~L!ahUw{nXH9pwU@5#SA*MWu{$lnW&flYhJz~P+X7~==3)y2KJI$Gl23hnMbMA0y zki8Ys=Ri6ml+T4q(H$-uQrBTTW4MAgg##s1O@tpw;2(6bZ<;(RJJ=D%$r%%EhAPBn z2nVP;*d{|3l!-Q_!EZRc>jva?Ye;hLU_(t}RTg;cX(wuQ9w2yGCXp(QcH8EPg(||y zG?R<6gY98*hF@3H$c*8nb`O}3J+EF}+rjq4@6L>p>5ZiNIwL{niIE`q$ViZSWB?5S z)R*9@nS;D88dVxn?!57D4MFM~Bd(v>GvkQSGsDFW^F8VhG^H9xXnCixkcUd+ea(DL z9@xt)u#05bb=FnbV!DLTH`U;TbB2RmZaoN>s}5B+eQPDi+4HcO2J7MnA&}MZ zsuK@6|H%+W|0DGw*K<(xG%*d+IB6KuZ!64MMGrYq9|&LWo(jK;LC;bh8YH3>sY!z! zw>aPhrzdfeU{8?HBE6?FvkA%C*&>T$@2GntL;b2cSYPdGp1fzY-!>q3>3uhYixBnm zt6a^^1j_mA&!+g^9}0+<={;2_yio0Z2&ahD-sS!@F`tQgNy5Pt5A`HYelQ4)&H7remW-2BFi~(V^;b zjjMt#H7Z>CEY4EGdybyJgB6bbHic@SoL#HkL%l1?MyKAMH3@nz z@Kk|b?-g>+;BxL8{YX(8#RM-!(WriNv6l)(ji~kH7qh+jvFEYwSw@qM{QYdqNvhw! zDuQ2Y@jm`-x4zxbdF~Jc%4Cgme2jyNtYLYVZsM{$JgZ25+u8FLQul`1e`p-GJU9M9 zgwz>YPnARYaSd6Za;>7I$*mz^g^uBn_XjBo3vQwm{lta$&@ISlg!*sYuhgSuPbgdTBN%fSFDY$nE zMa@@xfd!ZMbFm!h4$2bje*77g~y}v$Wl-{>tNRB zWu4x|&58+f?E8BG^Bd5Jl6x9P7I-wI>#dSTt3=iO3Yg^{cX zY#A~3a{w{`FT+;(BiN#kgr$o~Ww2~<29_|+zgk;50|gqusgq%G1GsKM z;q~hHr6|gxCeKonk4iw#V5$s4@F=N9-6uZESV$L`$m@@4UBK8R*Qc%WQO#n|093zl zjgQK$`P7^bdr9dK#s#d@)7aHt+$O^1OyeKNU@wZPND!7;+ zF*u;hfZTr=A-m5D6A-u?8ol{R94y`vA^gz@G;xv9gfST=2O6rKcb_X2p9KqcpHuo! zvF+@e7BnCk?BGN0NuXQv*7xJKh4VGHn_*WGQg-A>%RKm$!IpM5*p$?$NR}19(1&mk z&jCh<-k$d!az`SivQe~KV{|srh_glkiO(i?NCl(>&)vyk<6`eYgRk^1S%a7xjYrf)u)~9ZAPIo+FjZX zYko4Aun8bG)`Z}<(5NVNYwlcu!l`~>aZYKO(Uk)^AE95YR8O4l5J$laC@{)8)xNu?B>$PC{B zFM@wc5dWm~6DV+jFW_%X=JQ8D{s2CIglTQ*TFBqa=Sz$!eEu7d-CuPW z8a|&hEZ<&nXz2E}^zhwZ9UlR5*MHgnY;$XD4IHwq?&#ohghD4~;6_ zUddqhZEw)KOiK^%GA;jhmud0OyG%>&eYky5S!CJAhvt^%lnqgl!LCQ?#Y*S0*oyf( z_8reIbuGPGS;Jk}QqzMwvM+B(4OjX7?9$vaH%t{p4Bus1VAy3^*j8imh^jGp4X-hU zj;S$)&8RU27u1+~uc$HkZ>TW^s-%|sRqbq@eQqir&}#`KlTiqs!Wl#7-BfAab6yHcP!Gz6q+TaD?^ zD~9##E0B98ug2>aBEIn`t$4!xs-e*9{NEq z#g6O^Iqo-l?7GjzTyooeMC*<=nd&xdGHF#crtK~@rV5wi*;~P?3zFz-oJUp{+r>HUbZcIlOS&s;eRybIwp;VM+1;+}5Jn{)32C+-6$Jhr>ZJ}Yx;Z1aWO4Cn1q8o^$ZYPRogKxCc_jBHoz zL+-?&*lbExV>$ucI|bZRY=%CTxoqOvWGhlX=R=P1A*sX;er$AW-aCilt=^)JhukC|DV?~Ljj1nCCOilPJPHJS_~>o(fULVrX`oXX_jZ}4f?7;(12q@}YA^$cI|N*g z_FTrjLWt#zXh+X}0`N&g%l(uHQ(zDz9b`O^8WNOX!wre>8)yL9%>t9;Ylvi!ydXPr zm-hm)CV#xubq^uBu9K(%nF^fHOF?jp39msCde0y-Q^QFoxiyzSnm?c(IQ%{!d>;@d z+^^xn7ITMVunUe_7_A5++dQK`(ZQ}j5cnpj{#XfA9MiKx#S~jSiu>c_#5ns8`Ys~zQ2g929fXfm3*?kM8lO2FjDvUeEDs0digmy1(5G*~*@Ruizm1`3NrS(5 zMXEclg;xBq?;~;KK(#1RTsxV=e=d}GzqiJ{930P3G76RGi393~*@Y3(@6yTWYaNkh zb|4t$;b6_Te&v%ne{kIs^*Cu!PsKW&Ohrf$07IRJ&T1PT>7**+nO)PlsXWSsCcy?L z6`V7XyJS0;gO0_xESP?-N5xC`&$og&fL=^RN|oBF9LXb<&diu>?**@yA&zJ@=L#Hp z*1@->U=Qj12m25DXG&@9X!_NKns)Yp-ha^Xl)r1w!oC%b9%!GIA>Q6@bW? zlg{8yl5O^0Ys%r7FhH;-x$#_IAhUzDGuL^FY+Xg3WI&+{T6i-H^|z?W8w&Eux?(xw z8nsd_g!sK;LDb_~B$Lu@Y?8$vHmT-)lv_}m;$M9>#kHF1hx#Se$F2UN;h^N~vvpji zeyYE<;cIGQ{eyQ=($O&0iGYT(bWt?$aY8v01=K8{TuQU38L(vhd-u79B6&u@pj~9L z@ktw%brX@P$=>Adv!keT7iBuLI%R$Gj(emJ#Ouh^r%Bq_LzbkIyIMy$?BbFJUvhuf zA+0*8UVuC*yqSTnwc#;ts^kVljp7s% z*HN4(IA4>SkH9ORcbxEMKu3<|c~fn$fu2U18H}R3S_+So#%4H-Y@THB-o_ur3M`>w77T4_C+pDiH7Y-g7e(E=f))uaX_Yl97w=i1c<`wt|worRTV zUb})}o7_Wzh>DFe30(enDu!YE;{T>%9js>;VdL0#(qJ3gZh6Q_gA#TxOC=U!VjHZZ zxWt0n+y?WwH^jWFKUF*E94wuoN?<%{S-Y_Uu0AAFN(id)y9^Azq)sr)fOt6J~(PmkJN7TxM8-Ux6?xC(Z;T^ zkP-d=nH-A$1wEE^5_+6zvo<)#(i3JXf_wg;;y=PfpecaZ$TqgGMG9!7ScvLhw8Zg9 z4YQ0=f*~-a!0!lCGW-rRCBg4t(-1y?tx53)A1N`7;Ni!n;XGV!8VSXgnuhUDoN2Jl z%7Pr2hrWnE>P8RFWJT|p$qC;4*b=XTLoK6^q{OPFMPzxH-wG@uvl`d#yBAYn?Z2HB z*==96vCk~8F5tDn2E(fhcx|lKVqL(CSM_50pNv<9gMCd8B4XPEuUH{szG(Q=@t@B= zWs^n|qm-$C$IrDov!0T`TwOAj( z^uytOJkpQNU2OHY&gCf7dBK#YZR{x%uh?J>%ae;6zb>{at)j_v6kIPw9Q$Yus25y91XD@hi5Du2jc}k9HT_?+-w;wUkIq>%ClWC9M@?7L1V3cz*7|VzNU>W zF+~Q>HBb)XNU$9aXRF1bH=Yitn6NB#VWp;TxqyBX6Qx^k?yHh!2QqJ}_Gb?$52VGw z2*r6rUzH3_8gJ`1B>5U&n&rmB#4Jw-vurwSHOpPB_FJM#WTb3^IkprQmj(efyS$c9$IBj*aTr1YFb#}5;i3Kj>zSAXtmt>-$~#}{9kn2koODRDJXVK?f0$_Y~{ z+Pc`U&$}o$cI(s;gU2p#R$Hd@WhU8B|PUgl?!|3|Z{_^+Pc|85xi zrj1aofwMNaAJ%I&_OzPX)-IU1i^$qd8@t;ehM7$p+i67o6-`%;J>&{S&&Qz$2F3Y0 z>#%@if>ET`9x7pEK=xWS6`5S?#IH1^tDQinqn1X2+Ef?MhI!ssxw3^)TAux3a2p$L z%z1H&kDL`$t$xUP^rZMDrZzaE`!ZJr3rwhS@9H=h1PMad^iE2d0wRMt$>TAjFC2sH zijP!!XLqpaeBah^1$6?@hrDA>%47yb%vV!GsZd~nK?_pvYj$yktoVzZTQRdf8a=jGuX1S)w4GL67X|4DWhp_xL}!-v2v>Se_AvMA{f~*Kj4> z%8vN1%V}0-+}2x}k;pTn^XPZu(w_4o(9imh8NGJv^E9CaUiD+$r`9GldW8ad)gysDb$CT_ANSvilN!DGw0vUe@bTh4imR(K zTMjQIes&aSKf&XoNl>Cp*S&-)keq50lq4vJfjof;)Fte4Qj(aZJsf@+gH@covm;^W^DW^sSkXVv zkNMskz*v7!KtEb{E@pj(^8%3%oPA z$`^Z=$P`Yh84Mck4=(PEl>3^oWO}j5YrbPP7I&uE-6a^7d%#3 zkrM%0G5tyX-r1-=V3pP0?a^emlmjKxZ)dh_1gL27tRfWMl;|2hvc;uJ@Wn(RDc7=j4G#!7?^6~n2R{njZ($v*%>U?7Zz z(6kb6IW9*C7CVsqN9rqfQo{cprwa_hI+Ud_82s(Z8L+40O42}nsa7-)h{jry!6s?Vvq83O{}YIzvlEF^kTxW`zJs$T{sAz8&o&4NqoGMyc(YoSvv8KK$qHo|?D#b6EeW4pu&cGta~vmFeQ)_eWh1_`R%)g>>-p zA-+}@2fu4{KJZ(to0IXrZQtjm8yBkpi5RBM&Y1ODR%7jqw56%f*a?>D8SlK7`&aE0 zJ~!1eIXyFDS?c&?IWes%9H|T^p|}da z!hdgwr|#l@8{?@4ftnpF|emnz#j(l<)6!pJ(Lvx?7=^;H%gR3{@Iy-E-~VdOH&4K*0nud z7#um&`7AOf~(pRvnzp>;V-1T9ojanIPrI^0q^tj7dB zsvfY_O2hn3r{CNXED(&<o~R-=~(r_rtKcF0Sk4?jgp(y>-{vw14t#Vm-gGr!Nrr$W5Myy&SvZ7s9XETlhv znsbth6jg(hEEOyesVO`SN)?&Qc7zFLnsMJ9eFbS|JZ?u=SOT=*Q*olOaSmy{r&3?% zPQU-Ol?}5fVO@#r#=5S<+jlIXnoheZe-#Ldjrc)DxFFw%C8}`26eErUkYvO&0Yn>5 zuT@1;8FS6SN-^Kh-q6ohc9z*!DdL~~`R6HS4`mWi#fyK+GCM0BA$MfcM@L=DT^d%p zI5n(vBJZV`ar@5e0%rrhwksN>t9e%h^#F(Lj-amN^xYAPGkQwZtKu$~hOWc8F@k@v zvaycZ;!o!Xx56Dys$58iJ{2pc2g9Wi?^brF9?my-OP-1#1#ZG^X=S(S#pM!}{>k*< zB)AzWf->u&jL7@O69;8Ra5AB+{^*ldcBKJTk6mk}#}gQNr5Tj;5^mVtOORs39(!iG zB|ri0V{3u!c-bDgK%&RH_wt!5a#f(65sH3u&T&e=5=v`l238+Y6)YHMaBD=M%a0Vw4 z^84yvz6;yXfy$KSw}iuv26jy&ZT8u9MEVUcw@QK@^lP$j0_@1Rg| zrKqZvO*4urgeu1}acQ0=pBW10_*>bfaO!LCfVi1@a%!%pq?Ii*BtfH_4ZSn`YzEHL zc3j3#3$m*Z00Y;`7V7ZWeSv~mI?U|roj6WcXd_ejyKs?zCahaR2!?nDcrH)CbGZOv z{S3H753mT}N`T{L;EVePP#3XjUw^?c9S+{_F9_CQ^B3WG*8ZM?b}f!R5aUr~5c0hf z^SzsEz=a3G(p%YLEmi(c&2mP@_hPyBS52>s02{*YHiSdftt_J>G~BEA%kZ?zt%vSZ zV%Zk~BU;(Ta8jCx#RH8?n$r=|!F+9RK#{15c{-R=2npbHwS&|30K$(Dl+)mgF4IUC z1dsLDyf2!Xg@g772$HnWg<+yrR%-1)nZA1m*2BT>1AW~OSYD#fvAglU1Ab1e>_#m? z_A37VfFE@O-#HL8ObM%UAoaTEh;eYXbuKhc5E~2#^qmT{Tm~ORfY2904+xLmfidA7 zJmAX#0tb+gFQWw|7QFGxKtYZLSALl$c+-L#zf4dZ(Yf>YZ9RFy9@Gi>Gh!UvdlB|t zeviT2gQ*=K+70G=nOSnlft?W!4Di!idZ)MIJ9fAeM-1{86 z&_Yb&EVVz4WUb(Upzx`+v0$lN*+i|AGO2~4E;+(U0FGU5#zzkN&uoR$XdW*#1lcrX zeQ`2ONICYZ*`u3=EKuiwhL8yy$DTFc*SUMeK$$g`Vp!4T;4mmmi`%i?b82K8v#nhv4NBs*MAi#a5ZDs%23HO zld!Utb=Km+m2va~6RJK213Y2$$H36+De&nK2)kiW&w>yQp(lj8NuY55gV1$=w*ejm zcnV+zgu+SqSY?bL+k_ug`YQA$A*?tNdaeUEhhuk|oiiM5n7P?{Mb-8=vEV!4x;c)# z4{Z;F`Vt^KTFjrw8Rbj%&HI$Y!Nm3i5gd|oqko$k#Q4EIP9!A4x%A{iP8;@+dt|%U z=x3`rNm0LURRB3`w^~rjvH7t6d{rcn5i&?jj=hT;uN0&Hu$?xbC%;3HRKI8y>W}KL z7l+W1v<%SpKE}aWCeQ7@aC^+Nau_YDDuzz{0t=DFSJ%=aReP#usW-j=+vvY=ApdX> z_D_Hp;Nn}>&X8lvEMiz0Bq($2 z67#c+c-nJ&X1!C7<%(1wk*ni%;g!GzQgR~s(I#&4B@RvzWwtag642zHCO>&!Wo`V4 zk)quWxs;W5YrMMH1sZqb8+ZLLjZd<;yl6bp?82+28;@3+MIq*$F)~PSu*3IzhT6va z7aXcTSB#_tAwfCEJ~mQtrIKSG7zI4MYZMGrumg{iG+5QtSefG1kSgKW+vY3jo^ZVl ztY#~btP11nG?goC{aS8xpdAm3aR@yHK2sp3PlK5d!)FQ{aXxId4#@UC=1>*|L@nq> zRJ|F93P*r|-=?bcBz|xl#5XnPzcf`Kd_)`luf*P;&$7TJ+K3k=BtBMObDQJD;69Tv}dq7E>BXzS_soV7nnxO*#x zT0ZY0RbDj_K|^pMHl7!@6w_Q=`6^raVzbL}IC}(Tm%tke4o>8|DB;9Q7&Nst5|SfL zBy+EcRJz;5){$x}Oj9y4>`*)gc5J_Kd`7BW`u^Itc{^5QDAkafR`NA1g{yqeZ!0~Q ztq1Cj3Z4-8CX>d<$L5-nGGgp1{8_zB;{wP`H8FgdNv6b%es*QfsprAfz311Jo;RRq zdiOZFyvMQO22#Ud9+d=B)C(_0@w{lc`YpclzJN+thKF7Cil(8*rF=yq!+lNf49RQx z5yu1h{3e)Q><6nztmImNyC;H`hH!TRY|$=+?>LT!eO?HQKLnVChM=Wcu!p+Vjv($a{#FQ050{7gU=}eRF1=kj`j`+H2$GO6U7Fhq;m8?H5d}-0ZYkf zmvH(&N8h8UB%FNQ`;EZ{IrBtA$%oR`+bBd8qap1lyR=Y9J7$;WkGCB6j)1RPFiY)n zM36SqF6|kvIX*~y&;SE4c03X5b5$>A%o^c~qtK+~^Z4x(^3YJ7$4S9b6gjnaFHf{U z+w+{-UHr3`4wsz>rTp>NC;Cuh@x2rA)CKH*GJ=Z1Lr?aDTQsvz4uVl~$I00DvJLw* zsMO_P_#^OlRPm7`%SZ!u?K#$b0fNh|7efq$~%cI%xfbjor$(M2rCJ3Z|VdUl!}lBP8S1liTGW6kv0s-#j?-9eG)9(s#(ZTKvb4(#9e3n zBI?Xk`9&BoQ21VTI4ybf{O!GVZ{Nftzm5+%V<9ygwF5K4Y=nd*II?&otgmI+CcNeA zAo(RTDf5d~p5bd(hMY$xd6)37U&kx9n!R}{l$x*QSxLMS$hUxy5P~)h{APeX^1yw9 z_#_Bh=fSxO2(uu>(6Dv_Pzu2r!rjrJzYsjW7SZUHt!a+!VRw0vV?{b?!YkKZIkw&I zW*rA7)?eM4h9Lrf{f*q`w$>l+*Zo~Pi0O0kB-~(04}$Ju(>L;WFLd7nhb?dp?zp_V zHO;YyUTbIXYwaj)H~6}@uo=()r(Cg8o6U$CT={+X|G>s6c=OssI2XjRMOxJVX>B}Q zr1R%5=zhq2hB$VPHilmC9jadNwF4a<10#vnp}`f>E3{y`rmZXX|{|Fu4(yzD~~ ze>WHu_q9&Myw-`n|D_YbIPp{6T&Tu(&b>uVz_Rn+ z)G0jZ{9AC-`5)(dQ7u??KEQK?kx~u?9jG(2a0nPx&%r;O&kZ2Aq@LbKp*;_WPLk4I zxSSu|SvDFcf13%bYFoa23v}_$w;`}R*ZS>n>M9;|VQ9pOE?I$p=;ItD52_5LQ7Ox= zHKFn(sC|LSOPL0J>B;wn!#gfSQAT{_!XPROw_fP)7;PY>Z{Ysl$>3U7=660+8Gipe zxm&SGs1hh8@qcBr>{7h#yLiQB&Bm8) zhZ;pHam7T=6~A>c$}!PMYAVFbE{04_gxlc~m^5DF`OmWT#w(i3n&TRl%`vFKNcPUL za>5m0%WTkM7xB0?o2#j6|TpTEcGM z)7phhh;p>@=`1l$#FI>mTkxTs=bGk>+zz77{>@+ zx#hWu@D8~i4>ueoRs4h)xG@lV!iregaQp zqm%ikW7@g!B#M^N0!(rbY6YqTkP;jnU`yGJtG<`PD#g#=2gU4%OKB`zu_Ndo`VI%Lm1X1c zyO-msK)mI$AGH)$U6xacxaM-Q%U%6>I1;uBN?gDJS0bpzc+{0X?xp&9*+XeKg$q+} zmYt42x+0@8aQT&FYCpbrrH?|XWm¥h|7^Do2}CMS@giYg^bvOQMWOUX0#9!^^IW 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 delta 31239 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.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

Nd2BUFsycl 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 literal 0 HcmV?d00001 diff --git a/prebuilt/sxmo-x11/usr/lib/dwm/plugins/sms.so b/prebuilt/sxmo-x11/usr/lib/dwm/plugins/sms.so new file mode 100755 index 0000000000000000000000000000000000000000..05ef3fbb30661d570efe4fd7e1a7346d45c3d035 GIT binary patch literal 103812 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 delta 16378 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/dev/null + cairo-dev \ + libjpeg-turbo-dev \ + libpng-dev >/dev/null export PKG_CONFIG_SYSROOT_DIR="$SYSROOT" export PKG_CONFIG_LIBDIR="$SYSROOT/usr/lib/pkgconfig:$SYSROOT/usr/share/pkgconfig" @@ -97,10 +99,11 @@ EOF dwm.c drw.c util.c $DWM_LIBS -o /bananarchy/prebuilt/sxmo-x11/usr/bin/dwm $STRIP --strip-unneeded /bananarchy/prebuilt/sxmo-x11/usr/bin/dwm - echo "[6/6] Compiling DWM Plugins (xdrawer.so, dialer.so, calllog.so, contacts.so) and dwm-plugin runner..." + echo "[6/6] Compiling DWM Plugins (xdrawer, dialer, calllog, contacts, sms, files, camera) and dwm-plugin runner..." mkdir -p /bananarchy/prebuilt/sxmo-x11/usr/lib/dwm/plugins - PLUG_INCS="$(pkgconf --cflags x11 xft fontconfig freetype2 pango pangoxft alsa)" + PLUG_INCS="$(pkgconf --cflags x11 xft fontconfig freetype2 pango pangoxft alsa libjpeg libpng)" PLUG_LIBS="$(pkgconf --libs x11 xft fontconfig freetype2 pango pangoxft alsa)" + MEDIA_LIBS="$(pkgconf --libs libjpeg libpng)" $CXX $OPT_CFLAGS -fPIC -shared -std=c++17 -Wall -Wextra $PLUG_INCS \ /bananarchy/src/xdrawer/xdrawer.cpp $PLUG_LIBS \ @@ -118,11 +121,26 @@ EOF /bananarchy/src/dwm-plugins/contacts_plugin.cpp $PLUG_LIBS \ -o /bananarchy/prebuilt/sxmo-x11/usr/lib/dwm/plugins/contacts.so + $CXX $OPT_CFLAGS -fPIC -shared -std=c++17 -Wall -Wextra $PLUG_INCS \ + /bananarchy/src/dwm-plugins/sms_plugin.cpp $PLUG_LIBS \ + -o /bananarchy/prebuilt/sxmo-x11/usr/lib/dwm/plugins/sms.so + + $CXX $OPT_CFLAGS -fPIC -shared -std=c++17 -Wall -Wextra $PLUG_INCS \ + /bananarchy/src/dwm-plugins/files_plugin.cpp $PLUG_LIBS $MEDIA_LIBS \ + -o /bananarchy/prebuilt/sxmo-x11/usr/lib/dwm/plugins/files.so + + $CXX $OPT_CFLAGS -fPIC -shared -std=c++17 -Wall -Wextra $PLUG_INCS \ + /bananarchy/src/dwm-plugins/camera_plugin.cpp $PLUG_LIBS $MEDIA_LIBS -lpthread \ + -o /bananarchy/prebuilt/sxmo-x11/usr/lib/dwm/plugins/camera.so + $STRIP --strip-unneeded \ /bananarchy/prebuilt/sxmo-x11/usr/lib/dwm/plugins/xdrawer.so \ /bananarchy/prebuilt/sxmo-x11/usr/lib/dwm/plugins/dialer.so \ /bananarchy/prebuilt/sxmo-x11/usr/lib/dwm/plugins/calllog.so \ - /bananarchy/prebuilt/sxmo-x11/usr/lib/dwm/plugins/contacts.so + /bananarchy/prebuilt/sxmo-x11/usr/lib/dwm/plugins/contacts.so \ + /bananarchy/prebuilt/sxmo-x11/usr/lib/dwm/plugins/sms.so \ + /bananarchy/prebuilt/sxmo-x11/usr/lib/dwm/plugins/files.so \ + /bananarchy/prebuilt/sxmo-x11/usr/lib/dwm/plugins/camera.so $CC $OPT_CFLAGS -std=c99 -D_DEFAULT_SOURCE -Wall -Wextra \ /bananarchy/src/dwm-plugins/dwm_plugin_runner.c -ldl \ @@ -134,6 +152,9 @@ EOF ln -sf dwm-plugin /bananarchy/prebuilt/sxmo-x11/usr/bin/xdialer ln -sf dwm-plugin /bananarchy/prebuilt/sxmo-x11/usr/bin/xcalllog ln -sf dwm-plugin /bananarchy/prebuilt/sxmo-x11/usr/bin/xcontacts + ln -sf dwm-plugin /bananarchy/prebuilt/sxmo-x11/usr/bin/xsms + ln -sf dwm-plugin /bananarchy/prebuilt/sxmo-x11/usr/bin/xfiles + ln -sf dwm-plugin /bananarchy/prebuilt/sxmo-x11/usr/bin/xcamera mkdir -p /bananarchy/overlay/rootfs/usr/bin /bananarchy/overlay/rootfs/usr/lib/dwm/plugins cp -a /bananarchy/prebuilt/sxmo-x11/usr/bin/. /bananarchy/overlay/rootfs/usr/bin/ diff --git a/src/dwm-plugins/calllog_plugin.cpp b/src/dwm-plugins/calllog_plugin.cpp index 20768c7..efbb443 100644 --- a/src/dwm-plugins/calllog_plugin.cpp +++ b/src/dwm-plugins/calllog_plugin.cpp @@ -347,15 +347,7 @@ int calllog_run_main(int argc, char** argv) { XSync(dpy, False); auto showWindow = [&]() { - if (isPidFileAlive(getRuntimeFile("xdialer.pid"))) { - sendPluginCommand("dialer", "CLOSE"); - } - if (isPidFileAlive(getRuntimeFile("xcontacts.pid"))) { - sendPluginCommand("contacts", "CLOSE"); - } - if (isPidFileAlive(getRuntimeFile("xdrawer.pid"))) { - sendPluginCommand("xdrawer", "CLOSE"); - } + closeOtherPlugins("calllog"); if (!visible) { openStartMs = nowMs(); startupIgnoreUntilMs = openStartMs + 90; @@ -457,11 +449,6 @@ int calllog_run_main(int argc, char** argv) { if (ev.xexpose.count == 0) { render(); } - } else if (ev.type == VisibilityNotify) { - if (ev.xvisibility.state != VisibilityUnobscured) { - XRaiseWindow(dpy, win); - XFlush(dpy); - } } else if (ev.type == KeyRelease) { KeySym sym = XLookupKeysym(&ev.xkey, 0); if (sym == XK_Menu || sym == XF86XK_KbdLcdMenu1 || diff --git a/src/dwm-plugins/camera_plugin.cpp b/src/dwm-plugins/camera_plugin.cpp new file mode 100644 index 0000000..b06f766 --- /dev/null +++ b/src/dwm-plugins/camera_plugin.cpp @@ -0,0 +1,1046 @@ +#include "phone_data.h" +#include "media_utils.h" +#include "../sxmo-dwm/dwm_plugin.h" + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace { + +using namespace bananarchy; + +volatile sig_atomic_t gRunning = 1; + +void handleSignal(int) { + gRunning = 0; +} + +enum class ViewMode { + Viewfinder = 0, + Gallery = 1, + ConfirmDelete = 2, +}; + +constexpr int kCamW = 800; +constexpr int kCamH = 600; +constexpr size_t kCamFrameBytes = kCamW * kCamH * 3; +constexpr int kVfW = 240; +constexpr int kVfH = 180; + +const char* getTorchBrightnessPath() { + if (::access("/sys/class/leds/white:torch/brightness", R_OK) == 0) { + return "/sys/class/leds/white:torch/brightness"; + } + if (::access("/sys/class/leds/white:flash/brightness", R_OK) == 0) { + return "/sys/class/leds/white:flash/brightness"; + } + return nullptr; +} + +bool getTorchState() { + const char* p = getTorchBrightnessPath(); + if (!p) return false; + return readIntFile(p, 0) > 0; +} + +void setTorchState(bool on) { + const char* p = getTorchBrightnessPath(); + if (!p) return; + writeIntFile(p, on ? 1 : 0); +} + +std::string getPicturesDir() { + const char* xdg = std::getenv("XDG_PICTURES_DIR"); + if (xdg && xdg[0]) { + ::mkdir(xdg, 0755); + return xdg; + } + const char* home = std::getenv("HOME"); + std::string dir = std::string(home && home[0] ? home : "/home/user") + "/Pictures"; + ::mkdir(dir.c_str(), 0755); + return dir; +} + +struct PhotoEntry { + std::string name; + std::string fullPath; + off_t size = 0; + time_t mtime = 0; +}; + +std::vector listSavedPhotos() { + std::vector out; + std::string dir = getPicturesDir(); + DIR* d = ::opendir(dir.c_str()); + if (!d) return out; + struct dirent* ent; + while ((ent = ::readdir(d)) != nullptr) { + std::string name = ent->d_name; + if (name.empty() || name[0] == '.') continue; + std::string low = toLowerStr(name); + bool isImg = (low.size() > 4 && + (low.substr(low.size() - 4) == ".jpg" || + low.substr(low.size() - 4) == ".png")) || + (low.size() > 5 && low.substr(low.size() - 5) == ".jpeg"); + if (!isImg) continue; + PhotoEntry pe; + pe.name = name; + pe.fullPath = dir + "/" + name; + struct stat st {}; + if (::stat(pe.fullPath.c_str(), &st) == 0 && S_ISREG(st.st_mode)) { + pe.size = st.st_size; + pe.mtime = st.st_mtim.tv_sec; + out.push_back(pe); + } + } + ::closedir(d); + std::sort(out.begin(), out.end(), + [](const PhotoEntry& a, const PhotoEntry& b) { + if (a.mtime != b.mtime) return a.mtime > b.mtime; + return a.name > b.name; + }); + return out; +} + +void saveZoomedRgb24AsJpeg(const std::string& path, + const uint8_t* src800x600, + int zoomFactor) { + if (zoomFactor <= 1) { + saveRgb24AsJpeg(path, src800x600, kCamW, kCamH, 92); + return; + } + zoomFactor = std::clamp(zoomFactor, 1, 4); + int cropW = kCamW / zoomFactor; + int cropH = kCamH / zoomFactor; + int startX = (kCamW - cropW) / 2; + int startY = (kCamH - cropH) / 2; + + std::vector zoomed(kCamFrameBytes); + for (int dy = 0; dy < kCamH; ++dy) { + int sy = startY + (dy * cropH) / kCamH; + const uint8_t* srow = src800x600 + static_cast(sy) * kCamW * 3; + uint8_t* drow = zoomed.data() + static_cast(dy) * kCamW * 3; + for (int dx = 0; dx < kCamW; ++dx) { + int sx = startX + (dx * cropW) / kCamW; + const uint8_t* px = srow + sx * 3; + drow[dx * 3 + 0] = px[0]; + drow[dx * 3 + 1] = px[1]; + drow[dx * 3 + 2] = px[2]; + } + } + saveRgb24AsJpeg(path, zoomed.data(), kCamW, kCamH, 92); +} + +int runCameraApp(int argc, char** argv) { + gRunning = 1; + std::setlocale(LC_ALL, ""); + XSetLocaleModifiers(""); + + bool isPreload = false; + std::string initArg; + for (int i = 1; i < argc; ++i) { + if (!argv[i]) continue; + if (std::strcmp(argv[i], "--preload") == 0) { + isPreload = true; + } else if (std::strcmp(argv[i], "gallery") == 0) { + initArg = "gallery"; + } + } + + std::string daemonPidPath = getPluginDaemonPidPath("camera"); + std::string activePidPath = getRuntimeFile("xcamera.pid"); + + int existingDaemon = readIntFile(daemonPidPath, -1); + if (existingDaemon > 0 && existingDaemon != static_cast(::getpid()) && + ::kill(existingDaemon, 0) == 0) { + if (!isPreload) { + sendPluginCommand("camera", + initArg.empty() ? "OPEN" : ("OPEN " + initArg)); + } + return 0; + } + + writeIntFile(daemonPidPath, static_cast(::getpid())); + int fifoFd = setupPluginDaemonFifo("camera"); + + int vfPipe[2] = {-1, -1}; + if (::pipe(vfPipe) == 0) { + ::fcntl(vfPipe[0], F_SETFL, O_NONBLOCK | O_CLOEXEC); + ::fcntl(vfPipe[1], F_SETFL, O_NONBLOCK | O_CLOEXEC); + } + + struct sigaction sa {}; + sa.sa_handler = handleSignal; + sigemptyset(&sa.sa_mask); + sigaction(SIGINT, &sa, nullptr); + sigaction(SIGTERM, &sa, nullptr); + + Display* dpy = XOpenDisplay(nullptr); + if (!dpy) { + if (fifoFd >= 0) ::close(fifoFd); + if (vfPipe[0] >= 0) ::close(vfPipe[0]); + if (vfPipe[1] >= 0) ::close(vfPipe[1]); + ::unlink(daemonPidPath.c_str()); + return 1; + } + + int screen = DefaultScreen(dpy); + Window root = RootWindow(dpy, screen); + Visual* visual = DefaultVisual(dpy, screen); + Colormap cmap = DefaultColormap(dpy, screen); + + XSetWindowAttributes swa {}; + swa.override_redirect = True; + swa.background_pixel = 0x181818; + swa.border_pixel = 0x005577; + swa.event_mask = ExposureMask | KeyPressMask | KeyReleaseMask | + VisibilityChangeMask | StructureNotifyMask; + + Window win = XCreateWindow( + dpy, root, kWinX, kWinY, kWinWidth, kWinHeight, 0, + DefaultDepth(dpy, screen), CopyFromParent, visual, + CWOverrideRedirect | CWBackPixel | CWBorderPixel | CWEventMask, &swa); + + XClassHint ch {}; + char resName[] = "xcamera"; + char resClass[] = "XCamera"; + ch.res_name = resName; + ch.res_class = resClass; + XSetClassHint(dpy, win, &ch); + XStoreName(dpy, win, "Camera"); + + Pixmap pix = XCreatePixmap(dpy, win, kWinWidth, kWinHeight, + DefaultDepth(dpy, screen)); + GC gc = XCreateGC(dpy, pix, 0, nullptr); + XftDraw* xftDraw = XftDrawCreate(dpy, pix, visual, cmap); + + PangoFontMap* fontMap = pango_xft_get_font_map(dpy, screen); + PangoContext* pangoCtx = pango_font_map_create_context(fontMap); + + PangoLayout* layoutMain = pango_layout_new(pangoCtx); + PangoFontDescription* descMain = + pango_font_description_from_string("Fira Code, DejaVuSansM Nerd Font 15px"); + pango_layout_set_font_description(layoutMain, descMain); + + PangoLayout* layoutSmall = pango_layout_new(pangoCtx); + PangoFontDescription* descSmall = + pango_font_description_from_string("Fira Code, DejaVuSansM Nerd Font 12px"); + pango_layout_set_font_description(layoutSmall, descSmall); + + PangoLayout* layoutIcon = pango_layout_new(pangoCtx); + PangoFontDescription* descIcon = + pango_font_description_from_string("DejaVuSansM Nerd Font, Fira Code 16px"); + pango_layout_set_font_description(layoutIcon, descIcon); + + auto allocColor = [&](const char* hex) { + XftColor col {}; + XftColorAllocName(dpy, visual, cmap, hex, &col); + return col; + }; + + XftColor colWhite = allocColor("#ffffff"); + XftColor colLight = allocColor("#dddddd"); + XftColor colMuted = allocColor("#999999"); + XftColor colYellow = allocColor("#f4d03f"); + XftColor colGreen = allocColor("#2ecc71"); + XftColor colBlue = allocColor("#5dade2"); + XftColor colRed = allocColor("#e74c3c"); + + std::vector vfFront(kVfW * kVfH, 0x101010); + std::vector vfBack(kVfW * kVfH, 0x101010); + XImage* xImgVf = XCreateImage( + dpy, visual, DefaultDepth(dpy, screen), ZPixmap, 0, + reinterpret_cast(vfFront.data()), kVfW, kVfH, 32, kVfW * 4); + + std::mutex frameMutex; + std::atomic vfThreadRunning {false}; + std::atomic vfShouldStop {false}; + std::atomic zoomFactor {1}; + std::atomic flashAuto {false}; + std::atomic snapRequested {false}; + std::thread vfThread; + + bool cameraReady = false; + std::string cameraStatus = "Initializing camera..."; + std::string statusBanner; + int64_t statusBannerUntilMs = 0; + int64_t shutterFlashUntilMs = 0; + + bool timerEnabled = false; + bool countdownActive = false; + int64_t countdownTargetMs = 0; + + bool torchOn = false; + bool torchRestoredOnClose = false; + + ViewMode mode = ViewMode::Viewfinder; + std::vector photos; + int selectedPhoto = 0; + int confirmSelected = 0; + int galleryImgW = 0; + int galleryImgH = 0; + + bool visible = false; + int64_t openStartMs = 0; + int64_t startupIgnoreUntilMs = 0; + bool initialSoftkeysReleased = true; + int softkeyPending = 0; + int64_t softkeyDeadlineMs = 0; + + auto stopViewfinderThread = [&]() { + vfShouldStop = true; + if (vfThread.joinable()) { + vfThread.join(); + } + vfThreadRunning = false; + }; + + auto startViewfinderThread = [&]() { + stopViewfinderThread(); + vfShouldStop = false; + vfThreadRunning = true; + { + std::lock_guard lk(frameMutex); + cameraReady = false; + cameraStatus = "Starting /dev/video0..."; + } + + int writePipe = vfPipe[1]; + vfThread = std::thread([&, writePipe]() { + int fd = ::open("/dev/video0", O_RDWR | O_CLOEXEC); + if (fd < 0) { + std::lock_guard lk(frameMutex); + cameraReady = false; + cameraStatus = "/dev/video0 not available"; + if (writePipe >= 0) { + char c = 'E'; + (void)::write(writePipe, &c, 1); + } + vfThreadRunning = false; + return; + } + + struct v4l2_format fmt {}; + fmt.type = V4L2_BUF_TYPE_VIDEO_CAPTURE; + fmt.fmt.pix.width = kCamW; + fmt.fmt.pix.height = kCamH; + fmt.fmt.pix.pixelformat = V4L2_PIX_FMT_RGB24; + fmt.fmt.pix.field = V4L2_FIELD_NONE; + (void)::ioctl(fd, VIDIOC_S_FMT, &fmt); + + bool useMmap = false; + void* mmapPtr = MAP_FAILED; + size_t mmapLen = 0; + + struct v4l2_requestbuffers req {}; + req.count = 1; + req.type = V4L2_BUF_TYPE_VIDEO_CAPTURE; + req.memory = V4L2_MEMORY_MMAP; + if (::ioctl(fd, VIDIOC_REQBUFS, &req) == 0 && req.count >= 1) { + struct v4l2_buffer buf {}; + buf.type = V4L2_BUF_TYPE_VIDEO_CAPTURE; + buf.memory = V4L2_MEMORY_MMAP; + buf.index = 0; + if (::ioctl(fd, VIDIOC_QUERYBUF, &buf) == 0) { + mmapLen = buf.length; + mmapPtr = ::mmap(nullptr, mmapLen, PROT_READ | PROT_WRITE, MAP_SHARED, + fd, buf.m.offset); + if (mmapPtr != MAP_FAILED) { + enum v4l2_buf_type type = V4L2_BUF_TYPE_VIDEO_CAPTURE; + if (::ioctl(fd, VIDIOC_STREAMON, &type) == 0) { + useMmap = true; + } + } + } + } + + std::vector localRgb; + if (!useMmap) { + localRgb.resize(kCamFrameBytes); + } + + while (!vfShouldStop && gRunning) { + bool doSnap = snapRequested.exchange(false); + bool usedTempFlash = false; + if (doSnap && flashAuto.load() && !getTorchState()) { + setTorchState(true); + usedTempFlash = true; + struct timespec ts {0, 120 * 1000 * 1000}; + nanosleep(&ts, nullptr); + } + + const uint8_t* framePtr = nullptr; + if (useMmap) { + struct v4l2_buffer buf {}; + buf.type = V4L2_BUF_TYPE_VIDEO_CAPTURE; + buf.memory = V4L2_MEMORY_MMAP; + buf.index = 0; + if (::ioctl(fd, VIDIOC_QBUF, &buf) == 0 && + ::ioctl(fd, VIDIOC_DQBUF, &buf) == 0) { + framePtr = static_cast(mmapPtr); + } + } else { + ::lseek(fd, 0, SEEK_SET); + ssize_t r = ::read(fd, localRgb.data(), kCamFrameBytes); + if (r == static_cast(kCamFrameBytes)) { + framePtr = localRgb.data(); + } + } + + if (usedTempFlash) { + setTorchState(false); + } + + if (framePtr) { + int zf = zoomFactor.load(); + downscaleViewfinder800x600To240x180(framePtr, vfBack.data(), zf); + + std::string savedName; + if (doSnap) { + time_t nowSec = std::time(nullptr); + struct tm tmNow {}; + localtime_r(&nowSec, &tmNow); + char nameBuf[64]; + std::strftime(nameBuf, sizeof(nameBuf), "photo-%Y%m%d-%H%M%S.jpg", + &tmNow); + savedName = nameBuf; + std::string fullPath = getPicturesDir() + "/" + savedName; + saveZoomedRgb24AsJpeg(fullPath, framePtr, zf); + } + + { + std::lock_guard lk(frameMutex); + vfFront.swap(vfBack); + cameraReady = true; + cameraStatus.clear(); + if (!savedName.empty()) { + statusBanner = "Saved " + savedName; + statusBannerUntilMs = nowMs() + 2200; + shutterFlashUntilMs = nowMs() + 140; + } + } + if (writePipe >= 0) { + char c = 'F'; + (void)::write(writePipe, &c, 1); + } + } else { + struct timespec ts {0, 30 * 1000 * 1000}; + nanosleep(&ts, nullptr); + } + } + + if (useMmap) { + enum v4l2_buf_type type = V4L2_BUF_TYPE_VIDEO_CAPTURE; + (void)::ioctl(fd, VIDIOC_STREAMOFF, &type); + } + if (mmapPtr != MAP_FAILED) { + ::munmap(mmapPtr, mmapLen); + } + ::close(fd); + vfThreadRunning = false; + }); + }; + + auto loadGalleryPhoto = [&]() { + if (photos.empty()) { + std::fill(vfFront.begin(), vfFront.end(), 0x101010); + galleryImgW = 0; + galleryImgH = 0; + return; + } + selectedPhoto = std::clamp(selectedPhoto, 0, + static_cast(photos.size()) - 1); + std::vector rgb; + if (loadImageRgb24(photos[selectedPhoto].fullPath, &rgb, &galleryImgW, + &galleryImgH)) { + scaleRgb24ToBgrxCanvas(rgb.data(), galleryImgW, galleryImgH, + vfFront.data(), kVfW, kVfH, 0x101010); + } else { + std::fill(vfFront.begin(), vfFront.end(), 0x101010); + galleryImgW = 0; + galleryImgH = 0; + } + }; + + auto enterGalleryMode = [&]() { + stopViewfinderThread(); + photos = listSavedPhotos(); + selectedPhoto = 0; + loadGalleryPhoto(); + mode = ViewMode::Gallery; + }; + + auto enterViewfinderMode = [&]() { + mode = ViewMode::Viewfinder; + photos = listSavedPhotos(); + if (visible) { + startViewfinderThread(); + } + }; + + auto triggerShutter = [&]() { + if (timerEnabled && !countdownActive) { + countdownActive = true; + countdownTargetMs = nowMs() + 3000; + return; + } + countdownActive = false; + snapRequested = true; + }; + + auto drawPango = [&](PangoLayout* layout, XftColor* color, int x, int y, int h, + const std::string& text, int maxW = -1) { + pango_layout_set_text(layout, text.c_str(), static_cast(text.size())); + if (maxW > 0) { + pango_layout_set_width(layout, maxW * PANGO_SCALE); + pango_layout_set_ellipsize(layout, PANGO_ELLIPSIZE_END); + } else { + pango_layout_set_width(layout, -1); + pango_layout_set_ellipsize(layout, PANGO_ELLIPSIZE_NONE); + } + int tw = 0, th = 0; + pango_layout_get_pixel_size(layout, &tw, &th); + int dy = y + std::max(0, (h - th) / 2); + pango_xft_render_layout(xftDraw, color, layout, x * PANGO_SCALE, + dy * PANGO_SCALE); + return tw; + }; + + auto drawSoftkeyBar = [&](const std::string& leftLabel, + const std::string& centerLabel, + const std::string& rightLabel) { + const int barY = kWinHeight - 26; + XSetForeground(dpy, gc, 0x141414); + XFillRectangle(dpy, pix, gc, 0, barY, kWinWidth, 26); + XSetForeground(dpy, gc, 0x2d2d2d); + XDrawLine(dpy, pix, gc, 0, barY, kWinWidth, barY); + + drawPango(layoutMain, &colBlue, 6, barY, 26, leftLabel); + + pango_layout_set_width(layoutMain, -1); + pango_layout_set_text(layoutMain, centerLabel.c_str(), + static_cast(centerLabel.size())); + int cw = 0, chh = 0; + pango_layout_get_pixel_size(layoutMain, &cw, &chh); + drawPango(layoutMain, &colWhite, (kWinWidth - cw) / 2, barY, 26, + centerLabel); + + pango_layout_set_width(layoutMain, -1); + pango_layout_set_text(layoutMain, rightLabel.c_str(), + static_cast(rightLabel.size())); + int rw = 0, rhh = 0; + pango_layout_get_pixel_size(layoutMain, &rw, &rhh); + drawPango(layoutMain, &colLight, kWinWidth - rw - 6, barY, 26, rightLabel); + }; + + auto drawUI = [&]() { + if (!visible) return; + int64_t tNow = nowMs(); + + XSetForeground(dpy, gc, 0x181818); + XFillRectangle(dpy, pix, gc, 0, 0, kWinWidth, kWinHeight); + + if (mode == ViewMode::Viewfinder) { + // Top status bar (28px) + XSetForeground(dpy, gc, 0x141414); + XFillRectangle(dpy, pix, gc, 0, 0, kWinWidth, 28); + drawPango(layoutIcon, &colGreen, 6, 0, 28, kIconCamera); + drawPango(layoutMain, &colWhite, 28, 0, 28, "800x600", 85); + + int zf = zoomFactor.load(); + std::string zStr = std::to_string(zf) + ".0x"; + drawPango(layoutMain, zf > 1 ? &colYellow : &colBlue, 114, 0, 28, zStr); + + bool fl = flashAuto.load(); + std::string flBadge = torchOn ? "TORCH" : (fl ? "FLASH" : "NO-FL"); + pango_layout_set_width(layoutSmall, -1); + pango_layout_set_text(layoutSmall, flBadge.c_str(), + static_cast(flBadge.size())); + int fw = 0, fhh = 0; + pango_layout_get_pixel_size(layoutSmall, &fw, &fhh); + drawPango(layoutSmall, (torchOn || fl) ? &colYellow : &colMuted, + kWinWidth - fw - 6, 0, 28, flBadge); + + // Viewfinder canvas (240x180 at y = 28..208) + const int vfY = 28; + bool isReady = false; + std::string errMsg; + { + std::lock_guard lk(frameMutex); + isReady = cameraReady; + errMsg = cameraStatus; + XPutImage(dpy, pix, gc, xImgVf, 0, 0, 0, vfY, kVfW, kVfH); + } + + if (!isReady && !errMsg.empty()) { + drawPango(layoutSmall, &colLight, 16, vfY + 78, 24, errMsg, 208); + } else { + // Subtle framing reticle in center of viewfinder + XSetForeground(dpy, gc, 0x0088bb); + int cx = kWinWidth / 2; + int cy = vfY + kVfH / 2; + XDrawLine(dpy, pix, gc, cx - 10, cy, cx - 3, cy); + XDrawLine(dpy, pix, gc, cx + 3, cy, cx + 10, cy); + XDrawLine(dpy, pix, gc, cx, cy - 10, cx, cy - 3); + XDrawLine(dpy, pix, gc, cx, cy + 3, cx, cy + 10); + } + + if (tNow < shutterFlashUntilMs) { + XSetForeground(dpy, gc, 0xffffff); + XDrawRectangle(dpy, pix, gc, 0, vfY, kVfW - 1, kVfH - 1); + XDrawRectangle(dpy, pix, gc, 1, vfY + 1, kVfW - 3, kVfH - 3); + } + + if (countdownActive) { + int remSec = std::max(1, static_cast((countdownTargetMs - tNow + 999) / 1000)); + XSetForeground(dpy, gc, 0x005577); + XFillRectangle(dpy, pix, gc, 78, vfY + 66, 84, 44); + drawPango(layoutMain, &colWhite, 92, vfY + 66, 44, + "Timer: " + std::to_string(remSec)); + } + + // Camera control strip (y = 208..270, 62px) + const int ctlY = 208; + XSetForeground(dpy, gc, 0x1e1e1e); + XFillRectangle(dpy, pix, gc, 0, ctlY, kWinWidth, 62); + XSetForeground(dpy, gc, 0x333333); + XDrawLine(dpy, pix, gc, 0, ctlY, kWinWidth, ctlY); + + // Pill 1: Flash (* or 1) + XSetForeground(dpy, gc, fl ? 0x004466 : 0x282828); + XFillRectangle(dpy, pix, gc, 6, ctlY + 5, 110, 24); + drawPango(layoutSmall, fl ? &colYellow : &colLight, 10, ctlY + 5, 24, + std::string("[*] Flash:") + (fl ? "ON" : "OFF"), 102); + + // Pill 2: Torch (0 or 2) + XSetForeground(dpy, gc, torchOn ? 0x004466 : 0x282828); + XFillRectangle(dpy, pix, gc, 124, ctlY + 5, 110, 24); + drawPango(layoutSmall, torchOn ? &colYellow : &colLight, 128, ctlY + 5, + 24, std::string("[0] Torch:") + (torchOn ? "ON" : "OFF"), 102); + + // Pill 3: Zoom (Up/Dn) + XSetForeground(dpy, gc, zf > 1 ? 0x004466 : 0x282828); + XFillRectangle(dpy, pix, gc, 6, ctlY + 33, 110, 24); + drawPango(layoutSmall, &colBlue, 10, ctlY + 33, 24, + "[U/D] Zoom:" + std::to_string(zf) + "x", 102); + + // Pill 4: Timer (# or 3) + XSetForeground(dpy, gc, timerEnabled ? 0x004466 : 0x282828); + XFillRectangle(dpy, pix, gc, 124, ctlY + 33, 110, 24); + drawPango(layoutSmall, timerEnabled ? &colYellow : &colLight, 128, + ctlY + 33, 24, + std::string("[#] Timer:") + (timerEnabled ? "3s" : "OFF"), 102); + + drawSoftkeyBar("Gallery", "SNAP", "Close"); + + } else if (mode == ViewMode::Gallery) { + XSetForeground(dpy, gc, 0x141414); + XFillRectangle(dpy, pix, gc, 0, 0, kWinWidth, 28); + drawPango(layoutIcon, &colBlue, 6, 0, 28, kIconImage); + drawPango(layoutMain, &colWhite, 28, 0, 28, "Gallery", 110); + + std::string idxStr = + photos.empty() ? "0/0" + : (std::to_string(selectedPhoto + 1) + "/" + + std::to_string(photos.size())); + pango_layout_set_width(layoutSmall, -1); + pango_layout_set_text(layoutSmall, idxStr.c_str(), + static_cast(idxStr.size())); + int iw = 0, ihh = 0; + pango_layout_get_pixel_size(layoutSmall, &iw, &ihh); + drawPango(layoutSmall, &colMuted, kWinWidth - iw - 6, 0, 28, idxStr); + + const int vfY = 28; + if (photos.empty()) { + drawPango(layoutMain, &colMuted, 24, vfY + 75, 26, "No saved photos", + 192); + } else { + XPutImage(dpy, pix, gc, xImgVf, 0, 0, 0, vfY, kVfW, kVfH); + const auto& pe = photos[selectedPhoto]; + drawPango(layoutMain, &colWhite, 6, 212, 26, pe.name, 228); + std::string meta = std::to_string(galleryImgW) + "x" + + std::to_string(galleryImgH) + " " + + formatFileSize(pe.size) + " (L/R: Prev/Next)"; + drawPango(layoutSmall, &colMuted, 6, 240, 22, meta, 228); + } + + drawSoftkeyBar(photos.empty() ? "Camera" : "Delete", + photos.empty() ? "Camera" : "Full", + "Camera"); + + } else if (mode == ViewMode::ConfirmDelete && !photos.empty()) { + const auto& pe = photos[selectedPhoto]; + XSetForeground(dpy, gc, 0x161616); + XFillRectangle(dpy, pix, gc, 0, 0, kWinWidth, 36); + drawPango(layoutIcon, &colRed, 8, 0, 36, kIconTrash); + drawPango(layoutMain, &colWhite, 30, 0, 36, "Delete Photo?", 200); + + drawPango(layoutMain, &colWhite, 14, 70, 26, pe.name, 212); + drawPango(layoutSmall, &colMuted, 14, 100, 22, + "Remove this photo from ~/Pictures?", 212); + + for (int i = 0; i < 2; ++i) { + int ry = 156 + i * 40; + bool isSel = (confirmSelected == i); + XSetForeground(dpy, gc, + isSel ? (i == 1 ? 0x922b21 : 0x005577) : 0x2a2a2a); + XFillRectangle(dpy, pix, gc, 16, ry, kWinWidth - 32, 34); + drawPango(layoutMain, &colWhite, 28, ry, 34, + i == 0 ? "No, Keep Photo" : "Yes, Delete Photo", 184); + } + drawSoftkeyBar("Select", "Confirm", "Cancel"); + } + + { + std::lock_guard lk(frameMutex); + if (!statusBanner.empty() && tNow < statusBannerUntilMs) { + XSetForeground(dpy, gc, 0x102535); + XFillRectangle(dpy, pix, gc, 8, 174, kWinWidth - 16, 28); + XSetForeground(dpy, gc, 0x2ecc71); + XDrawRectangle(dpy, pix, gc, 8, 174, kWinWidth - 17, 27); + drawPango(layoutSmall, &colWhite, 14, 174, 28, statusBanner, + kWinWidth - 28); + } + } + + XCopyArea(dpy, pix, win, gc, 0, 0, kWinWidth, kWinHeight, 0, 0); + XFlush(dpy); + }; + + auto showWindow = [&](const std::string& argStr) { + closeOtherPlugins("camera"); + countdownActive = false; + torchOn = getTorchState(); + torchRestoredOnClose = !torchOn; + + writeIntFile(activePidPath, static_cast(::getpid())); + if (!visible) { + visible = true; + XMapRaised(dpy, win); + for (int i = 0; i < 20; ++i) { + if (XGrabKeyboard(dpy, win, True, GrabModeAsync, GrabModeAsync, + CurrentTime) == GrabSuccess) { + break; + } + usleep(2000); + } + } else { + XRaiseWindow(dpy, win); + } + XSetInputFocus(dpy, win, RevertToPointerRoot, CurrentTime); + openStartMs = nowMs(); + startupIgnoreUntilMs = openStartMs + 180; + initialSoftkeysReleased = (querySoftkeysDown(dpy) == 0); + softkeyPending = 0; + + if (argStr == "gallery") { + enterGalleryMode(); + } else { + enterViewfinderMode(); + } + drawUI(); + }; + + auto hideWindow = [&]() { + if (!visible) return; + countdownActive = false; + stopViewfinderThread(); + if (torchOn && torchRestoredOnClose) { + setTorchState(false); + torchOn = false; + } + writeSoftkeySuppress(nowMs() + 450); + XUngrabKeyboard(dpy, CurrentTime); + XUnmapWindow(dpy, win); + XFlush(dpy); + visible = false; + ::unlink(activePidPath.c_str()); + }; + + auto handleSoftkeyAction = [&](bool isLeft) { + if (mode == ViewMode::Viewfinder) { + if (isLeft) { + enterGalleryMode(); + } else { + hideWindow(); + return; + } + } else if (mode == ViewMode::Gallery) { + if (isLeft) { + if (photos.empty()) { + enterViewfinderMode(); + } else { + confirmSelected = 0; + mode = ViewMode::ConfirmDelete; + } + } else { + enterViewfinderMode(); + } + } else if (mode == ViewMode::ConfirmDelete) { + if (isLeft) { + if (confirmSelected == 1 && !photos.empty()) { + ::unlink(photos[selectedPhoto].fullPath.c_str()); + photos = listSavedPhotos(); + loadGalleryPhoto(); + } + mode = ViewMode::Gallery; + } else { + mode = ViewMode::Gallery; + } + } + drawUI(); + }; + + if (!isPreload) { + showWindow(initArg); + } + + int xfd = ConnectionNumber(dpy); + while (gRunning) { + for (const auto& cmd : readFifoLines(fifoFd)) { + if (cmd == "NOP") { + continue; + } else if (cmd == "CLOSE") { + hideWindow(); + } else if (cmd == "OPEN") { + showWindow(""); + } else if (cmd.rfind("OPEN ", 0) == 0) { + showWindow(trimStr(cmd.substr(5))); + } + } + + while (XPending(dpy) > 0) { + XEvent ev; + XNextEvent(dpy, &ev); + if (!visible) continue; + + if (ev.type == Expose && ev.xexpose.count == 0) { + drawUI(); + } else if (ev.type == KeyPress) { + int64_t tNow = nowMs(); + unsigned int kc = ev.xkey.keycode; + KeySym sym = XLookupKeysym(&ev.xkey, 0); + + bool isLeftSk = + (kc == 135 || sym == XK_Menu || sym == XF86XK_KbdLcdMenu1 || + sym == _EVDEVK(0x246) || sym == XK_F1); + bool isRightSk = + (kc == 166 || sym == XF86XK_Back || sym == XF86XK_KbdLcdMenu2 || + sym == _EVDEVK(0x247) || sym == XK_F2); + + if (!initialSoftkeysReleased) { + if (querySoftkeysDown(dpy) == 0) { + initialSoftkeysReleased = true; + } else if (isLeftSk || isRightSk) { + continue; + } + } + if (tNow < startupIgnoreUntilMs && (isLeftSk || isRightSk)) { + continue; + } + + if (isLeftSk || isRightSk) { + int bit = isLeftSk ? 1 : 2; + softkeyPending |= bit; + if (softkeyPending == 3 || querySoftkeysDown(dpy) == 3) { + softkeyPending = 0; + sendPluginCommand("xdrawer", "TOGGLE"); + continue; + } + softkeyDeadlineMs = tNow + 35; + continue; + } + + if (sym == XK_Escape || kc == 124 || sym == XF86XK_PowerOff) { + hideWindow(); + continue; + } + + if (sym == XK_BackSpace || sym == XK_Delete) { + handleSoftkeyAction(false); + continue; + } + + bool isCallKey = + (kc == 177 || sym == XF86XK_PickupPhone || sym == XF86XK_Phone || + sym == _EVDEVK(0x1bd) || sym == _EVDEVK(0x0a9)); + + if (mode == ViewMode::Viewfinder) { + if (sym == XK_Return || sym == XK_KP_Enter || sym == XK_space || + isCallKey) { + triggerShutter(); + drawUI(); + } else if (sym == XK_Up || sym == XK_KP_Up) { + int curZ = zoomFactor.load(); + zoomFactor = (curZ == 1) ? 2 : (curZ == 2 ? 4 : 4); + drawUI(); + } else if (sym == XK_Down || sym == XK_KP_Down) { + int curZ = zoomFactor.load(); + zoomFactor = (curZ == 4) ? 2 : 1; + drawUI(); + } else { + char d = mapDialKey(sym, kc, ev.xkey.state); + if (d == '5') { + triggerShutter(); + drawUI(); + } else if (d == '1' || d == '*') { + flashAuto = !flashAuto.load(); + drawUI(); + } else if (d == '2' || d == '0') { + torchOn = !torchOn; + setTorchState(torchOn); + drawUI(); + } else if (d == '3' || d == '#') { + timerEnabled = !timerEnabled; + countdownActive = false; + drawUI(); + } + } + } else if (mode == ViewMode::Gallery) { + if (sym == XK_Left || sym == XK_KP_Left || sym == XK_Up || + sym == XK_KP_Up) { + if (!photos.empty()) { + selectedPhoto = + (selectedPhoto - 1 + static_cast(photos.size())) % + static_cast(photos.size()); + loadGalleryPhoto(); + drawUI(); + } + } else if (sym == XK_Right || sym == XK_KP_Right || sym == XK_Down || + sym == XK_KP_Down) { + if (!photos.empty()) { + selectedPhoto = + (selectedPhoto + 1) % static_cast(photos.size()); + loadGalleryPhoto(); + drawUI(); + } + } else if (sym == XK_Return || sym == XK_KP_Enter) { + if (photos.empty()) { + enterViewfinderMode(); + drawUI(); + } else { + runAsyncArgv("feh", photos[selectedPhoto].fullPath.c_str()); + } + } + } else if (mode == ViewMode::ConfirmDelete) { + if (sym == XK_Up || sym == XK_Down || sym == XK_KP_Up || + sym == XK_KP_Down) { + confirmSelected = 1 - confirmSelected; + drawUI(); + } else if (sym == XK_Return || sym == XK_KP_Enter) { + handleSoftkeyAction(true); + } + } + } + } + + int64_t tNow = nowMs(); + if (visible && softkeyPending != 0 && tNow >= softkeyDeadlineMs) { + if (querySoftkeysDown(dpy) == 3) { + softkeyPending = 0; + sendPluginCommand("xdrawer", "TOGGLE"); + } else { + bool isLeft = (softkeyPending == 1); + softkeyPending = 0; + handleSoftkeyAction(isLeft); + } + } + + if (visible && countdownActive && tNow >= countdownTargetMs) { + countdownActive = false; + snapRequested = true; + drawUI(); + } + + int timeoutMs = -1; + if (visible) { + if (softkeyPending != 0) { + timeoutMs = std::max(1, static_cast(softkeyDeadlineMs - tNow)); + } else if (countdownActive) { + timeoutMs = 150; + } + } + + struct pollfd pfds[3]; + int nfds = 0; + pfds[nfds++] = {xfd, POLLIN, 0}; + int fifoIdx = -1; + if (fifoFd >= 0) { + fifoIdx = nfds; + pfds[nfds++] = {fifoFd, POLLIN, 0}; + } + int vfIdx = -1; + if (vfPipe[0] >= 0) { + vfIdx = nfds; + pfds[nfds++] = {vfPipe[0], POLLIN, 0}; + } + + int pr = ::poll(pfds, nfds, timeoutMs); + if (pr > 0) { + if (fifoIdx >= 0 && (pfds[fifoIdx].revents & POLLIN)) { + for (const auto& cmd : readFifoLines(fifoFd)) { + if (cmd == "CLOSE") { + hideWindow(); + } else if (cmd == "OPEN") { + showWindow(""); + } else if (cmd.rfind("OPEN ", 0) == 0) { + showWindow(trimStr(cmd.substr(5))); + } + } + } + if (vfIdx >= 0 && (pfds[vfIdx].revents & POLLIN)) { + char drain[64]; + while (::read(vfPipe[0], drain, sizeof(drain)) > 0) { + } + if (visible && mode == ViewMode::Viewfinder) { + drawUI(); + } + } + } else if (pr == 0 && visible && countdownActive) { + drawUI(); + } + } + + hideWindow(); + if (xImgVf) { + xImgVf->data = nullptr; + XDestroyImage(xImgVf); + } + if (fifoFd >= 0) ::close(fifoFd); + if (vfPipe[0] >= 0) ::close(vfPipe[0]); + if (vfPipe[1] >= 0) ::close(vfPipe[1]); + ::unlink(daemonPidPath.c_str()); + return 0; +} + +int camera_plugin_init(const DwmHostApi* host) { + if (host && host->spawn_plugin) { + host->spawn_plugin("camera", "--preload"); + } + return 0; +} + +} // namespace + +extern "C" __attribute__((visibility("default"))) const DwmPlugin dwm_plugin_entry = { + DWM_PLUGIN_API_VERSION, + "camera", + "Camera app with live V4L2 viewfinder, flash/torch, zoom, and photo gallery", + camera_plugin_init, + nullptr, + nullptr, + nullptr, + nullptr, + runCameraApp +}; diff --git a/src/dwm-plugins/contacts_plugin.cpp b/src/dwm-plugins/contacts_plugin.cpp index 7635c20..d35edea 100644 --- a/src/dwm-plugins/contacts_plugin.cpp +++ b/src/dwm-plugins/contacts_plugin.cpp @@ -692,15 +692,7 @@ int runContactsApp(int argc, char** argv) { }; auto showWindow = [&](const std::string& arg) { - if (isPidFileAlive(getRuntimeFile("xdialer.pid"))) { - sendPluginCommand("dialer", "CLOSE"); - } - if (isPidFileAlive(getRuntimeFile("xcalllog.pid"))) { - sendPluginCommand("calllog", "CLOSE"); - } - if (isPidFileAlive(getRuntimeFile("xdrawer.pid"))) { - sendPluginCommand("xdrawer", "CLOSE"); - } + closeOtherPlugins("contacts"); bool openNewMode = (arg.rfind("new:", 0) == 0); std::string prefill = openNewMode ? arg.substr(4) : ""; @@ -844,13 +836,17 @@ int runContactsApp(int argc, char** argv) { break; case 1: // Send SMS writeSoftkeySuppress(nowMs() + 350); - hideWindow(true); - runAsyncCmd("sxmo_modemtext.sh sendtextmenu '" + c.number + "'"); + hideWindow(false); + if (!sendPluginCommand("sms", "OPEN send:" + c.number)) { + runAsyncArgv("xsms", "sendtextmenu", c.number.c_str()); + } break; case 2: // Read Messages writeSoftkeySuppress(nowMs() + 350); - hideWindow(true); - runAsyncCmd("sxmo_hook_tailtextlog.sh '" + c.number + "'"); + hideWindow(false); + if (!sendPluginCommand("sms", "OPEN thread:" + c.number)) { + runAsyncArgv("xsms", "tailtextlog", c.number.c_str()); + } break; case 3: // Open in Dialer writeSoftkeySuppress(nowMs() + 300); @@ -961,11 +957,6 @@ int runContactsApp(int argc, char** argv) { if (ev.xexpose.count == 0) { render(); } - } else if (ev.type == VisibilityNotify) { - if (ev.xvisibility.state != VisibilityUnobscured) { - XRaiseWindow(dpy, win); - XFlush(dpy); - } } else if (ev.type == KeyRelease) { KeySym sym = XLookupKeysym(&ev.xkey, 0); if (ev.xkey.keycode == 19 || sym == XK_0) { diff --git a/src/dwm-plugins/dialer_plugin.cpp b/src/dwm-plugins/dialer_plugin.cpp index 26f23a1..71bee84 100644 --- a/src/dwm-plugins/dialer_plugin.cpp +++ b/src/dwm-plugins/dialer_plugin.cpp @@ -386,15 +386,7 @@ int dialer_run_main(int argc, char** argv) { XSync(dpy, False); auto showWindow = [&](const std::string& arg) { - if (isPidFileAlive(getRuntimeFile("xcalllog.pid"))) { - sendPluginCommand("calllog", "CLOSE"); - } - if (isPidFileAlive(getRuntimeFile("xcontacts.pid"))) { - sendPluginCommand("contacts", "CLOSE"); - } - if (isPidFileAlive(getRuntimeFile("xdrawer.pid"))) { - sendPluginCommand("xdrawer", "CLOSE"); - } + closeOtherPlugins("dialer"); std::string cleanArg = normalizePhone(arg); if (!visible) { openStartMs = nowMs(); @@ -536,11 +528,6 @@ int dialer_run_main(int argc, char** argv) { if (ev.xexpose.count == 0) { render(); } - } else if (ev.type == VisibilityNotify) { - if (ev.xvisibility.state != VisibilityUnobscured) { - XRaiseWindow(dpy, win); - XFlush(dpy); - } } else if (ev.type == KeyRelease) { KeySym sym = XLookupKeysym(&ev.xkey, 0); if (ev.xkey.keycode == 19 || sym == XK_0) { diff --git a/src/dwm-plugins/dwm_plugin_runner.c b/src/dwm-plugins/dwm_plugin_runner.c index 27dd873..a055ff9 100644 --- a/src/dwm-plugins/dwm_plugin_runner.c +++ b/src/dwm-plugins/dwm_plugin_runner.c @@ -41,6 +41,14 @@ static int try_send_plugin_fifo(const char *plugin_name, int sub_argc, char **su } else if (sub_argc >= 2 && sub_argv[1] && strcmp(sub_argv[1], "newcontact") == 0) { const char *num = (sub_argc >= 3 && sub_argv[2]) ? sub_argv[2] : ""; len = snprintf(cmd, sizeof(cmd), "OPEN new:%s\n", num); + } else if (sub_argc >= 2 && sub_argv[1] && strcmp(sub_argv[1], "sendtextmenu") == 0) { + const char *num = (sub_argc >= 3 && sub_argv[2]) ? sub_argv[2] : ""; + len = snprintf(cmd, sizeof(cmd), "OPEN send:%s\n", num); + } else if (sub_argc >= 2 && sub_argv[1] && + (strcmp(sub_argv[1], "tailtextlog") == 0 || + strcmp(sub_argv[1], "conversationloop") == 0)) { + const char *num = (sub_argc >= 3 && sub_argv[2]) ? sub_argv[2] : ""; + len = snprintf(cmd, sizeof(cmd), "OPEN thread:%s\n", num); } else if (sub_argc >= 2 && sub_argv[1] && sub_argv[1][0]) { len = snprintf(cmd, sizeof(cmd), "OPEN %s\n", sub_argv[1]); } else { @@ -73,6 +81,15 @@ static const char *resolve_plugin_name_from_argv0(const char *argv0) { if (strcasecmp(base, "xcontacts") == 0 || strcasecmp(base, "contacts") == 0) { return "contacts"; } + if (strcasecmp(base, "xsms") == 0 || strcasecmp(base, "sms") == 0) { + return "sms"; + } + if (strcasecmp(base, "xfiles") == 0 || strcasecmp(base, "files") == 0) { + return "files"; + } + if (strcasecmp(base, "xcamera") == 0 || strcasecmp(base, "camera") == 0) { + return "camera"; + } return NULL; } diff --git a/src/dwm-plugins/files_plugin.cpp b/src/dwm-plugins/files_plugin.cpp new file mode 100644 index 0000000..9d29ba2 --- /dev/null +++ b/src/dwm-plugins/files_plugin.cpp @@ -0,0 +1,1429 @@ +#include "phone_data.h" +#include "media_utils.h" +#include "../sxmo-dwm/dwm_plugin.h" + +#include +#include +#include +#include +#include +#include +#include +#include + +namespace { + +using namespace bananarchy; + +volatile sig_atomic_t gRunning = 1; + +void handleSignal(int) { + gRunning = 0; +} + +enum class ViewMode { + Browser = 0, + Actions = 1, + TextView = 2, + ImageView = 3, + PropsView = 4, + InputModal = 5, + ConfirmDelete = 6, +}; + +enum class SortMode { + Name = 0, + Date = 1, + Size = 2, +}; + +enum class InputAction { + NewFolder = 0, + NewFile = 1, + Rename = 2, +}; + +enum class TextCaseMode { + Lower = 0, // abc + Title = 1, // Abc + Upper = 2, // ABC + Num = 3, // 123 +}; + +const char* kMultiTapFile[10] = { + " _-0", // 0 + ".-_1", // 1 + "abc2", // 2 + "def3", // 3 + "ghi4", // 4 + "jkl5", // 5 + "mno6", // 6 + "pqrs7", // 7 + "tuv8", // 8 + "wxyz9" // 9 +}; + +struct FileItem { + std::string name; + std::string fullPath; + std::string lowerName; + std::string t9Name; + bool isParent = false; + bool isDir = false; + bool isExec = false; + off_t size = 0; + time_t mtime = 0; + mode_t mode = 0; +}; + +void popUtf8(std::string& s) { + if (s.empty()) return; + while (!s.empty() && (static_cast(s.back()) & 0xC0) == 0x80) { + s.pop_back(); + } + if (!s.empty()) s.pop_back(); +} + +std::string getExtLower(const std::string& name) { + size_t dot = name.rfind('.'); + if (dot == std::string::npos || dot + 1 >= name.size()) { + return ""; + } + return toLowerStr(name.substr(dot + 1)); +} + +bool isImageExt(const std::string& ext) { + return ext == "jpg" || ext == "jpeg" || ext == "png"; +} + +bool isMediaExt(const std::string& ext) { + return ext == "mp3" || ext == "wav" || ext == "ogg" || ext == "flac" || + ext == "m4a" || ext == "mp4" || ext == "mkv" || ext == "webm" || + ext == "avi"; +} + +bool isLikelyTextFile(const std::string& path, off_t size) { + if (size == 0) return true; + if (size > 256 * 1024) return false; + std::ifstream in(path, std::ios::binary); + if (!in.is_open()) return false; + char buf[512]; + in.read(buf, sizeof(buf)); + std::streamsize n = in.gcount(); + for (std::streamsize i = 0; i < n; ++i) { + unsigned char c = static_cast(buf[i]); + if (c == 0) { + return false; + } + } + return true; +} + +std::string shortenPath(const std::string& path) { + const char* home = std::getenv("HOME"); + std::string h = (home && home[0]) ? home : "/home/user"; + std::string out = path; + if (out == h) { + out = "~"; + } else if (out.rfind(h + "/", 0) == 0) { + out = "~" + out.substr(h.size()); + } + if (out.size() > 18) { + out = "..." + out.substr(out.size() - 15); + } + return out; +} + +std::string formatPermissions(mode_t m) { + std::string s(10, '-'); + if (S_ISDIR(m)) s[0] = 'd'; + else if (S_ISLNK(m)) s[0] = 'l'; + if (m & S_IRUSR) s[1] = 'r'; + if (m & S_IWUSR) s[2] = 'w'; + if (m & S_IXUSR) s[3] = 'x'; + if (m & S_IRGRP) s[4] = 'r'; + if (m & S_IWGRP) s[5] = 'w'; + if (m & S_IXGRP) s[6] = 'x'; + if (m & S_IROTH) s[7] = 'r'; + if (m & S_IWOTH) s[8] = 'w'; + if (m & S_IXOTH) s[9] = 'x'; + char oct[16]; + std::snprintf(oct, sizeof(oct), " (%04o)", static_cast(m & 07777)); + return s + oct; +} + +bool removeRecursive(const std::string& path) { + struct stat st {}; + if (::lstat(path.c_str(), &st) != 0) { + return false; + } + if (S_ISDIR(st.st_mode) && !S_ISLNK(st.st_mode)) { + DIR* d = ::opendir(path.c_str()); + if (d) { + struct dirent* ent; + while ((ent = ::readdir(d)) != nullptr) { + if (std::strcmp(ent->d_name, ".") == 0 || + std::strcmp(ent->d_name, "..") == 0) { + continue; + } + removeRecursive(path + "/" + ent->d_name); + } + ::closedir(d); + } + return ::rmdir(path.c_str()) == 0; + } + return ::unlink(path.c_str()) == 0; +} + +bool copyRecursive(const std::string& src, const std::string& dst) { + pid_t pid = ::fork(); + if (pid == 0) { + execlp("cp", "cp", "-a", src.c_str(), dst.c_str(), + static_cast(nullptr)); + _exit(127); + } else if (pid > 0) { + int status = 0; + ::waitpid(pid, &status, 0); + return WIFEXITED(status) && WEXITSTATUS(status) == 0; + } + return false; +} + +int runFilesApp(int argc, char** argv) { + gRunning = 1; + std::setlocale(LC_ALL, ""); + XSetLocaleModifiers(""); + + bool isPreload = false; + std::string initDir; + for (int i = 1; i < argc; ++i) { + if (!argv[i]) continue; + if (std::strcmp(argv[i], "--preload") == 0) { + isPreload = true; + } else if (argv[i][0] != '-' && initDir.empty()) { + initDir = argv[i]; + } + } + + std::string daemonPidPath = getPluginDaemonPidPath("files"); + std::string activePidPath = getRuntimeFile("xfiles.pid"); + + int existingDaemon = readIntFile(daemonPidPath, -1); + if (existingDaemon > 0 && existingDaemon != static_cast(::getpid()) && + ::kill(existingDaemon, 0) == 0) { + if (!isPreload) { + sendPluginCommand("files", initDir.empty() ? "OPEN" : ("OPEN " + initDir)); + } + return 0; + } + + writeIntFile(daemonPidPath, static_cast(::getpid())); + int fifoFd = setupPluginDaemonFifo("files"); + + struct sigaction sa {}; + sa.sa_handler = handleSignal; + sigemptyset(&sa.sa_mask); + sigaction(SIGINT, &sa, nullptr); + sigaction(SIGTERM, &sa, nullptr); + + Display* dpy = XOpenDisplay(nullptr); + if (!dpy) { + if (fifoFd >= 0) ::close(fifoFd); + ::unlink(daemonPidPath.c_str()); + return 1; + } + + int screen = DefaultScreen(dpy); + Window root = RootWindow(dpy, screen); + Visual* visual = DefaultVisual(dpy, screen); + Colormap cmap = DefaultColormap(dpy, screen); + + XSetWindowAttributes swa {}; + swa.override_redirect = True; + swa.background_pixel = 0x222222; + swa.border_pixel = 0x005577; + swa.event_mask = ExposureMask | KeyPressMask | KeyReleaseMask | + VisibilityChangeMask | StructureNotifyMask; + + Window win = XCreateWindow( + dpy, root, kWinX, kWinY, kWinWidth, kWinHeight, 0, + DefaultDepth(dpy, screen), CopyFromParent, visual, + CWOverrideRedirect | CWBackPixel | CWBorderPixel | CWEventMask, &swa); + + XClassHint ch {}; + char resName[] = "xfiles"; + char resClass[] = "XFiles"; + ch.res_name = resName; + ch.res_class = resClass; + XSetClassHint(dpy, win, &ch); + XStoreName(dpy, win, "Files"); + + Pixmap pix = XCreatePixmap(dpy, win, kWinWidth, kWinHeight, + DefaultDepth(dpy, screen)); + GC gc = XCreateGC(dpy, pix, 0, nullptr); + XftDraw* xftDraw = XftDrawCreate(dpy, pix, visual, cmap); + + PangoFontMap* fontMap = pango_xft_get_font_map(dpy, screen); + PangoContext* pangoCtx = pango_font_map_create_context(fontMap); + + PangoLayout* layoutMain = pango_layout_new(pangoCtx); + PangoFontDescription* descMain = + pango_font_description_from_string("Fira Code, DejaVuSansM Nerd Font 15px"); + pango_layout_set_font_description(layoutMain, descMain); + + PangoLayout* layoutSmall = pango_layout_new(pangoCtx); + PangoFontDescription* descSmall = + pango_font_description_from_string("Fira Code, DejaVuSansM Nerd Font 12px"); + pango_layout_set_font_description(layoutSmall, descSmall); + + PangoLayout* layoutIcon = pango_layout_new(pangoCtx); + PangoFontDescription* descIcon = + pango_font_description_from_string("DejaVuSansM Nerd Font, Fira Code 16px"); + pango_layout_set_font_description(layoutIcon, descIcon); + + auto allocColor = [&](const char* hex) { + XftColor col {}; + XftColorAllocName(dpy, visual, cmap, hex, &col); + return col; + }; + + XftColor colWhite = allocColor("#ffffff"); + XftColor colLight = allocColor("#dddddd"); + XftColor colMuted = allocColor("#999999"); + XftColor colYellow = allocColor("#f4d03f"); + XftColor colGreen = allocColor("#2ecc71"); + XftColor colBlue = allocColor("#5dade2"); + XftColor colOrange = allocColor("#e67e22"); + XftColor colRed = allocColor("#e74c3c"); + + const char* homeEnv = std::getenv("HOME"); + std::string homeDir = (homeEnv && homeEnv[0]) ? homeEnv : "/home/user"; + std::string currentDir = homeDir; + + ViewMode mode = ViewMode::Browser; + SortMode sortMode = SortMode::Name; + bool showHidden = false; + std::string searchQuery; + + std::vector allItems; + std::vector filteredItems; + int selected = 0; + int actionSelected = 0; + int confirmSelected = 0; + + // Clipboard state + std::string clipPath; + std::string clipName; + bool clipIsCut = false; + + // Text viewer state + std::string viewingFilePath; + std::string viewingFileName; + std::vector textLines; + int textScrollLine = 0; + + // Image viewer state + constexpr int kImgCanvasW = 240; + constexpr int kImgCanvasH = 232; + std::vector imgCanvas(kImgCanvasW * kImgCanvasH, 0x111111); + XImage* xImgPreview = XCreateImage( + dpy, visual, DefaultDepth(dpy, screen), ZPixmap, 0, + reinterpret_cast(imgCanvas.data()), kImgCanvasW, kImgCanvasH, 32, + kImgCanvasW * 4); + int imgOrigW = 0; + int imgOrigH = 0; + bool imgValid = false; + + // Modal input state (New Folder / New File / Rename) + InputAction inputAction = InputAction::NewFolder; + std::string inputTitle; + std::string inputValue; + std::string inputTargetPath; + TextCaseMode caseMode = TextCaseMode::Lower; + int lastTapDigit = -1; + int lastTapCycle = 0; + int64_t lastTapMs = 0; + + std::string statusBanner; + int64_t statusBannerUntilMs = 0; + + struct ActionEntry { + int id; + std::string icon; + std::string label; + }; + std::vector actionsList; + + bool visible = false; + int64_t openStartMs = 0; + int64_t startupIgnoreUntilMs = 0; + bool initialSoftkeysReleased = true; + int softkeyPending = 0; + int64_t softkeyDeadlineMs = 0; + + auto updateFilter = [&]() { + filteredItems.clear(); + if (searchQuery.empty()) { + filteredItems = allItems; + } else { + std::string qLower = toLowerStr(searchQuery); + for (const auto& it : allItems) { + if (it.isParent) continue; + if (it.lowerName.find(qLower) != std::string::npos || + it.t9Name.find(searchQuery) != std::string::npos) { + filteredItems.push_back(it); + } + } + } + if (selected >= static_cast(filteredItems.size())) { + selected = std::max(0, static_cast(filteredItems.size()) - 1); + } + }; + + auto loadDirectory = [&](const std::string& targetDir, + const std::string& selectName = "") { + char resolved[4096]; + std::string dir = targetDir; + if (::realpath(targetDir.c_str(), resolved) != nullptr) { + dir = resolved; + } + DIR* d = ::opendir(dir.c_str()); + if (!d) { + statusBanner = "Cannot open directory"; + statusBannerUntilMs = nowMs() + 1800; + return; + } + currentDir = dir; + allItems.clear(); + + if (currentDir != "/") { + FileItem parent; + parent.name = ".."; + size_t slash = currentDir.rfind('/'); + parent.fullPath = (slash == 0 || slash == std::string::npos) + ? "/" + : currentDir.substr(0, slash); + parent.lowerName = ".."; + parent.isParent = true; + parent.isDir = true; + allItems.push_back(parent); + } + + std::vector dirs; + std::vector files; + struct dirent* ent; + while ((ent = ::readdir(d)) != nullptr) { + std::string name = ent->d_name; + if (name == "." || name == "..") continue; + if (!showHidden && !name.empty() && name[0] == '.') continue; + + FileItem item; + item.name = name; + item.fullPath = + (currentDir == "/") ? ("/" + name) : (currentDir + "/" + name); + item.lowerName = toLowerStr(name); + item.t9Name = toT9Digits(name); + + struct stat st {}; + if (::stat(item.fullPath.c_str(), &st) == 0) { + item.isDir = S_ISDIR(st.st_mode); + item.isExec = !item.isDir && ((st.st_mode & S_IXUSR) != 0); + item.size = st.st_size; + item.mtime = st.st_mtim.tv_sec; + item.mode = st.st_mode; + } + if (item.isDir) { + dirs.push_back(item); + } else { + files.push_back(item); + } + } + ::closedir(d); + + auto cmp = [&](const FileItem& a, const FileItem& b) { + if (sortMode == SortMode::Date && a.mtime != b.mtime) { + return a.mtime > b.mtime; + } + if (sortMode == SortMode::Size && a.size != b.size) { + return a.size > b.size; + } + return a.lowerName < b.lowerName; + }; + std::sort(dirs.begin(), dirs.end(), cmp); + std::sort(files.begin(), files.end(), cmp); + + allItems.insert(allItems.end(), dirs.begin(), dirs.end()); + allItems.insert(allItems.end(), files.begin(), files.end()); + + searchQuery.clear(); + updateFilter(); + selected = 0; + if (!selectName.empty()) { + for (size_t i = 0; i < filteredItems.size(); ++i) { + if (filteredItems[i].name == selectName) { + selected = static_cast(i); + break; + } + } + } + }; + + auto openTextViewer = [&](const FileItem& item) { + viewingFilePath = item.fullPath; + viewingFileName = item.name; + textLines.clear(); + textScrollLine = 0; + + std::ifstream in(item.fullPath); + std::string line; + int maxLines = 1500; + while (maxLines-- > 0 && std::getline(in, line)) { + if (!line.empty() && line.back() == '\r') { + line.pop_back(); + } + // Wrap lines longer than 30 chars for clean 240px display + if (line.empty()) { + textLines.push_back(""); + } else { + for (size_t pos = 0; pos < line.size(); pos += 30) { + textLines.push_back(line.substr(pos, 30)); + } + } + } + if (textLines.empty()) { + textLines.push_back("(Empty file)"); + } + mode = ViewMode::TextView; + }; + + auto openImageViewer = [&](const FileItem& item) { + viewingFilePath = item.fullPath; + viewingFileName = item.name; + std::vector rgb; + imgOrigW = 0; + imgOrigH = 0; + imgValid = loadImageRgb24(item.fullPath, &rgb, &imgOrigW, &imgOrigH); + if (imgValid) { + scaleRgb24ToBgrxCanvas(rgb.data(), imgOrigW, imgOrigH, imgCanvas.data(), + kImgCanvasW, kImgCanvasH, 0x111111); + } else { + std::fill(imgCanvas.begin(), imgCanvas.end(), 0x111111); + } + mode = ViewMode::ImageView; + }; + + auto buildActionsList = [&]() { + actionsList.clear(); + bool hasSel = !filteredItems.empty(); + bool isParent = hasSel && filteredItems[selected].isParent; + + if (hasSel) { + actionsList.push_back({1, kIconEye, "Open / View"}); + } + if (!clipPath.empty()) { + actionsList.push_back( + {7, kIconCheck, + std::string(clipIsCut ? "Move Here: " : "Paste Here: ") + clipName}); + } + actionsList.push_back({3, kIconPlus, "New Folder"}); + actionsList.push_back({4, kIconFileText, "New Empty File"}); + if (hasSel && !isParent) { + if (!filteredItems[selected].isDir) { + actionsList.push_back({2, kIconEdit, "Edit in nano"}); + } + actionsList.push_back({5, kIconEdit, "Rename"}); + actionsList.push_back({6, kIconCopy, "Copy"}); + actionsList.push_back({8, kIconOutCall, "Cut / Move"}); + actionsList.push_back({9, kIconInfo, "Properties / Info"}); + actionsList.push_back({13, kIconTrash, "Delete"}); + } + actionsList.push_back( + {10, kIconEye, + showHidden ? "Hide Dotfiles (.*)" : "Show Dotfiles (.*)"}); + std::string sortLbl = "Sort: "; + if (sortMode == SortMode::Name) sortLbl += "Date (#)"; + else if (sortMode == SortMode::Date) sortLbl += "Size (#)"; + else sortLbl += "Name (#)"; + actionsList.push_back({11, kIconSort, sortLbl}); + actionsList.push_back({12, kIconTerm, "Open Terminal Here"}); + actionSelected = 0; + }; + + auto openSelectedItem = [&]() { + if (filteredItems.empty()) return; + const FileItem item = filteredItems[selected]; + if (item.isParent) { + std::string prevBase = currentDir; + size_t sl = prevBase.rfind('/'); + std::string prevName = + (sl != std::string::npos) ? prevBase.substr(sl + 1) : ""; + loadDirectory(item.fullPath, prevName); + return; + } + if (item.isDir) { + loadDirectory(item.fullPath); + return; + } + std::string ext = getExtLower(item.name); + if (isImageExt(ext)) { + openImageViewer(item); + } else if (isMediaExt(ext)) { + runAsyncArgv("sxmo_open.sh", item.fullPath.c_str()); + statusBanner = "Opening in media player..."; + statusBannerUntilMs = nowMs() + 1800; + } else if (isLikelyTextFile(item.fullPath, item.size)) { + openTextViewer(item); + } else { + buildActionsList(); + mode = ViewMode::Actions; + } + }; + + auto drawPango = [&](PangoLayout* layout, XftColor* color, int x, int y, int h, + const std::string& text, int maxW = -1) { + pango_layout_set_text(layout, text.c_str(), static_cast(text.size())); + if (maxW > 0) { + pango_layout_set_width(layout, maxW * PANGO_SCALE); + pango_layout_set_ellipsize(layout, PANGO_ELLIPSIZE_END); + } else { + pango_layout_set_width(layout, -1); + pango_layout_set_ellipsize(layout, PANGO_ELLIPSIZE_NONE); + } + int tw = 0, th = 0; + pango_layout_get_pixel_size(layout, &tw, &th); + int dy = y + std::max(0, (h - th) / 2); + pango_xft_render_layout(xftDraw, color, layout, x * PANGO_SCALE, + dy * PANGO_SCALE); + return tw; + }; + + auto drawSoftkeyBar = [&](const std::string& leftLabel, + const std::string& centerLabel, + const std::string& rightLabel) { + const int barY = kWinHeight - 26; + XSetForeground(dpy, gc, 0x141414); + XFillRectangle(dpy, pix, gc, 0, barY, kWinWidth, 26); + XSetForeground(dpy, gc, 0x2d2d2d); + XDrawLine(dpy, pix, gc, 0, barY, kWinWidth, barY); + + drawPango(layoutMain, &colBlue, 6, barY, 26, leftLabel); + + pango_layout_set_width(layoutMain, -1); + pango_layout_set_text(layoutMain, centerLabel.c_str(), + static_cast(centerLabel.size())); + int cw = 0, chh = 0; + pango_layout_get_pixel_size(layoutMain, &cw, &chh); + drawPango(layoutMain, &colWhite, (kWinWidth - cw) / 2, barY, 26, + centerLabel); + + pango_layout_set_width(layoutMain, -1); + pango_layout_set_text(layoutMain, rightLabel.c_str(), + static_cast(rightLabel.size())); + int rw = 0, rhh = 0; + pango_layout_get_pixel_size(layoutMain, &rw, &rhh); + drawPango(layoutMain, &colLight, kWinWidth - rw - 6, barY, 26, rightLabel); + }; + + auto drawUI = [&]() { + if (!visible) return; + + XSetForeground(dpy, gc, 0x222222); + XFillRectangle(dpy, pix, gc, 0, 0, kWinWidth, kWinHeight); + + if (mode == ViewMode::Browser) { + XSetForeground(dpy, gc, 0x161616); + XFillRectangle(dpy, pix, gc, 0, 0, kWinWidth, 38); + XSetForeground(dpy, gc, 0x333333); + XDrawLine(dpy, pix, gc, 0, 37, kWinWidth, 37); + + if (searchQuery.empty()) { + drawPango(layoutIcon, &colYellow, 6, 2, 34, kIconFolderOpen); + drawPango(layoutMain, &colWhite, 28, 2, 34, shortenPath(currentDir), + 156); + const char* sTag = + (sortMode == SortMode::Name) + ? "N" + : (sortMode == SortMode::Date ? "T" : "S"); + std::string badge = std::string("[") + sTag + ":" + + std::to_string(filteredItems.size()) + "]"; + pango_layout_set_width(layoutSmall, -1); + pango_layout_set_text(layoutSmall, badge.c_str(), + static_cast(badge.size())); + int bw = 0, bhh = 0; + pango_layout_get_pixel_size(layoutSmall, &bw, &bhh); + drawPango(layoutSmall, &colMuted, kWinWidth - bw - 6, 2, 34, badge); + } else { + drawPango(layoutIcon, &colBlue, 6, 2, 34, kIconSearch); + drawPango(layoutMain, &colYellow, 28, 2, 34, searchQuery, 160); + std::string cnt = std::to_string(filteredItems.size()); + pango_layout_set_width(layoutSmall, -1); + pango_layout_set_text(layoutSmall, cnt.c_str(), + static_cast(cnt.size())); + int bw = 0, bhh = 0; + pango_layout_get_pixel_size(layoutSmall, &bw, &bhh); + drawPango(layoutSmall, &colMuted, kWinWidth - bw - 6, 2, 34, cnt); + } + + const int listY = 38; + const int rowH = 33; + const int visibleRows = 7; + + if (filteredItems.empty()) { + drawPango(layoutMain, &colMuted, 16, 120, 24, "Empty folder", 208); + } else { + int scroll = 0; + if (selected >= visibleRows) { + scroll = selected - visibleRows + 1; + } + for (int i = 0; i < visibleRows; ++i) { + int idx = scroll + i; + if (idx >= static_cast(filteredItems.size())) break; + const auto& it = filteredItems[idx]; + int ry = listY + i * rowH; + bool isSel = (idx == selected); + + if (isSel) { + XSetForeground(dpy, gc, 0x005577); + XFillRectangle(dpy, pix, gc, 0, ry, kWinWidth, rowH - 1); + XSetForeground(dpy, gc, 0x0088bb); + XDrawLine(dpy, pix, gc, 0, ry, kWinWidth, ry); + } else { + XSetForeground(dpy, gc, (i % 2 == 0) ? 0x222222 : 0x1d1d1d); + XFillRectangle(dpy, pix, gc, 0, ry, kWinWidth, rowH - 1); + } + + const char* ic = kIconFile; + XftColor* icCol = &colMuted; + if (it.isParent) { + ic = kIconBackspace; + icCol = &colBlue; + } else if (it.isDir) { + ic = kIconFolder; + icCol = &colYellow; + } else { + std::string ext = getExtLower(it.name); + if (isImageExt(ext)) { + ic = kIconImage; + icCol = &colGreen; + } else if (isMediaExt(ext)) { + ic = kIconMusic; + icCol = &colBlue; + } else if (it.isExec || ext == "sh") { + ic = kIconTerm; + icCol = &colOrange; + } else { + ic = kIconFileText; + icCol = &colLight; + } + } + + drawPango(layoutIcon, icCol, 6, ry, rowH, ic); + std::string dispName = + it.isParent ? ".. (Up)" : (it.isDir ? (it.name + "/") : it.name); + drawPango(layoutMain, &colWhite, 28, ry, rowH, dispName, 154); + + std::string meta = + it.isParent ? "" : (it.isDir ? "DIR" : formatFileSize(it.size)); + if (!meta.empty()) { + pango_layout_set_width(layoutSmall, -1); + pango_layout_set_text(layoutSmall, meta.c_str(), + static_cast(meta.size())); + int mw = 0, mhh = 0; + pango_layout_get_pixel_size(layoutSmall, &mw, &mhh); + drawPango(layoutSmall, isSel ? &colLight : &colMuted, + kWinWidth - mw - 6, ry, rowH, meta); + } + } + } + + drawSoftkeyBar("Actions", "Open", + searchQuery.empty() ? "Close" : "Clear"); + + } else if (mode == ViewMode::Actions) { + XSetForeground(dpy, gc, 0x161616); + XFillRectangle(dpy, pix, gc, 0, 0, kWinWidth, 34); + drawPango(layoutIcon, &colBlue, 6, 0, 34, kIconList); + drawPango(layoutMain, &colWhite, 28, 0, 34, "File Actions", 200); + + const int listY = 36; + const int rowH = 33; + const int visibleRows = 7; + int scroll = 0; + if (actionSelected >= visibleRows) { + scroll = actionSelected - visibleRows + 1; + } + for (int i = 0; i < visibleRows; ++i) { + int idx = scroll + i; + if (idx >= static_cast(actionsList.size())) break; + int ry = listY + i * rowH; + bool isSel = (idx == actionSelected); + XSetForeground(dpy, gc, isSel ? 0x005577 : 0x222222); + XFillRectangle(dpy, pix, gc, 0, ry, kWinWidth, rowH - 1); + drawPango(layoutIcon, isSel ? &colYellow : &colBlue, 8, ry, rowH, + actionsList[idx].icon); + drawPango(layoutMain, &colWhite, 32, ry, rowH, actionsList[idx].label, + 202); + } + drawSoftkeyBar("Select", "Select", "Back"); + + } else if (mode == ViewMode::TextView) { + XSetForeground(dpy, gc, 0x161616); + XFillRectangle(dpy, pix, gc, 0, 0, kWinWidth, 32); + drawPango(layoutIcon, &colBlue, 6, 0, 32, kIconFileText); + drawPango(layoutMain, &colWhite, 28, 0, 32, viewingFileName, 150); + + std::string posStr = std::to_string(textScrollLine + 1) + "/" + + std::to_string(textLines.size()); + pango_layout_set_width(layoutSmall, -1); + pango_layout_set_text(layoutSmall, posStr.c_str(), + static_cast(posStr.size())); + int pw = 0, phh = 0; + pango_layout_get_pixel_size(layoutSmall, &pw, &phh); + drawPango(layoutSmall, &colMuted, kWinWidth - pw - 6, 0, 32, posStr); + + const int startY = 36; + const int lineH = 18; + const int maxVis = 12; + for (int i = 0; i < maxVis; ++i) { + int idx = textScrollLine + i; + if (idx >= static_cast(textLines.size())) break; + drawPango(layoutSmall, &colLight, 6, startY + i * lineH, lineH, + textLines[idx], kWinWidth - 12); + } + drawSoftkeyBar("Edit", "Down", "Back"); + + } else if (mode == ViewMode::ImageView) { + XSetForeground(dpy, gc, 0x161616); + XFillRectangle(dpy, pix, gc, 0, 0, kWinWidth, 36); + drawPango(layoutIcon, &colGreen, 6, 1, 18, kIconImage); + drawPango(layoutMain, &colWhite, 28, 0, 20, viewingFileName, 145); + std::string dim = imgValid + ? (std::to_string(imgOrigW) + "x" + + std::to_string(imgOrigH)) + : "Decode failed"; + drawPango(layoutSmall, &colMuted, 28, 19, 15, dim, 200); + + XPutImage(dpy, pix, gc, xImgPreview, 0, 0, 0, 36, kImgCanvasW, + kImgCanvasH); + drawSoftkeyBar("Full", "Next", "Back"); + + } else if (mode == ViewMode::PropsView && !filteredItems.empty()) { + const auto& it = filteredItems[selected]; + XSetForeground(dpy, gc, 0x161616); + XFillRectangle(dpy, pix, gc, 0, 0, kWinWidth, 34); + drawPango(layoutIcon, &colBlue, 6, 0, 34, kIconInfo); + drawPango(layoutMain, &colWhite, 28, 0, 34, "Properties", 200); + + drawPango(layoutSmall, &colMuted, 8, 42, 16, "Name:"); + drawPango(layoutMain, &colWhite, 8, 58, 22, it.name, 224); + + drawPango(layoutSmall, &colMuted, 8, 86, 16, "Path:"); + drawPango(layoutSmall, &colLight, 8, 102, 20, it.fullPath, 224); + + drawPango(layoutSmall, &colMuted, 8, 128, 16, "Size:"); + drawPango(layoutMain, &colYellow, 8, 144, 22, + formatFileSize(it.size) + " (" + std::to_string(it.size) + + " B)", + 224); + + drawPango(layoutSmall, &colMuted, 8, 172, 16, "Permissions:"); + drawPango(layoutSmall, &colLight, 8, 188, 20, formatPermissions(it.mode), + 224); + + struct tm tmM {}; + localtime_r(&it.mtime, &tmM); + char tbuf[32]; + std::strftime(tbuf, sizeof(tbuf), "%Y-%m-%d %H:%M:%S", &tmM); + drawPango(layoutSmall, &colMuted, 8, 214, 16, "Modified:"); + drawPango(layoutSmall, &colLight, 8, 230, 20, tbuf, 224); + + drawSoftkeyBar("Back", "Back", "Back"); + + } else if (mode == ViewMode::InputModal) { + XSetForeground(dpy, gc, 0x161616); + XFillRectangle(dpy, pix, gc, 0, 0, kWinWidth, 36); + drawPango(layoutIcon, &colBlue, 6, 0, 36, kIconEdit); + drawPango(layoutMain, &colWhite, 28, 0, 36, inputTitle, 145); + + const char* mBadge = "[abc]"; + if (caseMode == TextCaseMode::Title) mBadge = "[Abc]"; + else if (caseMode == TextCaseMode::Upper) mBadge = "[ABC]"; + else if (caseMode == TextCaseMode::Num) mBadge = "[123]"; + drawPango(layoutSmall, &colYellow, kWinWidth - 46, 0, 36, mBadge); + + XSetForeground(dpy, gc, 0x182630); + XFillRectangle(dpy, pix, gc, 10, 74, kWinWidth - 20, 38); + XSetForeground(dpy, gc, 0x0088bb); + XDrawRectangle(dpy, pix, gc, 10, 74, kWinWidth - 21, 37); + drawPango(layoutMain, &colWhite, 16, 74, 38, inputValue + "|", + kWinWidth - 32); + + drawPango(layoutSmall, &colMuted, 10, 126, 20, + "0-9: multi-tap #: cycle case", 220); + drawSoftkeyBar("Save", "Save", + inputValue.empty() ? "Cancel" : "Del"); + + } else if (mode == ViewMode::ConfirmDelete && !filteredItems.empty()) { + const auto& it = filteredItems[selected]; + XSetForeground(dpy, gc, 0x161616); + XFillRectangle(dpy, pix, gc, 0, 0, kWinWidth, 36); + drawPango(layoutIcon, &colRed, 8, 0, 36, kIconTrash); + drawPango(layoutMain, &colWhite, 30, 0, 36, "Delete Item?", 200); + + drawPango(layoutMain, &colWhite, 14, 68, 26, it.name, 212); + drawPango(layoutSmall, &colMuted, 14, 98, 22, + it.isDir ? "Directory and all contents" : "File will be permanently", + 212); + drawPango(layoutSmall, &colMuted, 14, 118, 22, + it.isDir ? "will be deleted!" : "deleted.", 212); + + for (int i = 0; i < 2; ++i) { + int ry = 164 + i * 40; + bool isSel = (confirmSelected == i); + XSetForeground(dpy, gc, + isSel ? (i == 1 ? 0x922b21 : 0x005577) : 0x2a2a2a); + XFillRectangle(dpy, pix, gc, 16, ry, kWinWidth - 32, 34); + drawPango(layoutMain, &colWhite, 28, ry, 34, + i == 0 ? "No, Keep Item" : "Yes, Delete", 184); + } + drawSoftkeyBar("Select", "Confirm", "Cancel"); + } + + int64_t tNow = nowMs(); + if (!statusBanner.empty() && tNow < statusBannerUntilMs) { + XSetForeground(dpy, gc, 0x102535); + XFillRectangle(dpy, pix, gc, 8, kWinHeight - 58, kWinWidth - 16, 28); + XSetForeground(dpy, gc, 0x5dade2); + XDrawRectangle(dpy, pix, gc, 8, kWinHeight - 58, kWinWidth - 17, 27); + drawPango(layoutSmall, &colWhite, 14, kWinHeight - 58, 28, statusBanner, + kWinWidth - 28); + } + + XCopyArea(dpy, pix, win, gc, 0, 0, kWinWidth, kWinHeight, 0, 0); + XFlush(dpy); + }; + + auto showWindow = [&](const std::string& dirArg) { + closeOtherPlugins("files"); + mode = ViewMode::Browser; + loadDirectory(dirArg.empty() ? currentDir : dirArg); + writeIntFile(activePidPath, static_cast(::getpid())); + if (!visible) { + visible = true; + XMapRaised(dpy, win); + for (int i = 0; i < 20; ++i) { + if (XGrabKeyboard(dpy, win, True, GrabModeAsync, GrabModeAsync, + CurrentTime) == GrabSuccess) { + break; + } + usleep(2000); + } + } else { + XRaiseWindow(dpy, win); + } + XSetInputFocus(dpy, win, RevertToPointerRoot, CurrentTime); + openStartMs = nowMs(); + startupIgnoreUntilMs = openStartMs + 180; + initialSoftkeysReleased = (querySoftkeysDown(dpy) == 0); + softkeyPending = 0; + drawUI(); + }; + + auto hideWindow = [&]() { + if (!visible) return; + writeSoftkeySuppress(nowMs() + 450); + XUngrabKeyboard(dpy, CurrentTime); + XUnmapWindow(dpy, win); + XFlush(dpy); + visible = false; + ::unlink(activePidPath.c_str()); + }; + + auto commitModalTap = [&](int digit) { + const char* chars = kMultiTapFile[digit]; + int len = static_cast(std::strlen(chars)); + if (len <= 0) return; + + int64_t t = nowMs(); + if (caseMode == TextCaseMode::Num) { + inputValue.push_back(static_cast('0' + digit)); + lastTapDigit = -1; + return; + } + + bool sameKey = (lastTapDigit == digit && (t - lastTapMs) <= 850 && + !inputValue.empty()); + if (sameKey) { + lastTapCycle = (lastTapCycle + 1) % len; + popUtf8(inputValue); + } else { + lastTapDigit = digit; + lastTapCycle = 0; + } + lastTapMs = t; + + char ch = chars[lastTapCycle]; + if (std::isalpha(static_cast(ch))) { + if (caseMode == TextCaseMode::Upper) { + ch = static_cast(std::toupper(static_cast(ch))); + } else if (caseMode == TextCaseMode::Title && inputValue.empty()) { + ch = static_cast(std::toupper(static_cast(ch))); + } + } + inputValue.push_back(ch); + }; + + auto executeAction = [&](int actId) { + if (actId == 1) { + mode = ViewMode::Browser; + openSelectedItem(); + } else if (actId == 2 && !filteredItems.empty()) { + std::string p = filteredItems[selected].fullPath; + hideWindow(); + runAsyncCmd("st -e nano \"" + p + "\""); + } else if (actId == 3) { + inputAction = InputAction::NewFolder; + inputTitle = "New Folder"; + inputValue.clear(); + lastTapDigit = -1; + mode = ViewMode::InputModal; + } else if (actId == 4) { + inputAction = InputAction::NewFile; + inputTitle = "New File"; + inputValue.clear(); + lastTapDigit = -1; + mode = ViewMode::InputModal; + } else if (actId == 5 && !filteredItems.empty()) { + inputAction = InputAction::Rename; + inputTitle = "Rename"; + inputValue = filteredItems[selected].name; + inputTargetPath = filteredItems[selected].fullPath; + lastTapDigit = -1; + mode = ViewMode::InputModal; + } else if (actId == 6 && !filteredItems.empty()) { + clipPath = filteredItems[selected].fullPath; + clipName = filteredItems[selected].name; + clipIsCut = false; + statusBanner = "Copied: " + clipName; + statusBannerUntilMs = nowMs() + 1800; + mode = ViewMode::Browser; + } else if (actId == 8 && !filteredItems.empty()) { + clipPath = filteredItems[selected].fullPath; + clipName = filteredItems[selected].name; + clipIsCut = true; + statusBanner = "Cut: " + clipName; + statusBannerUntilMs = nowMs() + 1800; + mode = ViewMode::Browser; + } else if (actId == 7 && !clipPath.empty()) { + std::string dst = (currentDir == "/") ? ("/" + clipName) + : (currentDir + "/" + clipName); + bool ok = false; + if (clipIsCut) { + ok = (::rename(clipPath.c_str(), dst.c_str()) == 0); + if (!ok && copyRecursive(clipPath, dst)) { + removeRecursive(clipPath); + ok = true; + } + if (ok) clipPath.clear(); + } else { + ok = copyRecursive(clipPath, dst); + } + statusBanner = ok ? "Paste complete" : "Paste failed"; + statusBannerUntilMs = nowMs() + 1800; + loadDirectory(currentDir, clipName); + mode = ViewMode::Browser; + } else if (actId == 9 && !filteredItems.empty()) { + mode = ViewMode::PropsView; + } else if (actId == 10) { + showHidden = !showHidden; + loadDirectory(currentDir); + mode = ViewMode::Browser; + } else if (actId == 11) { + sortMode = static_cast((static_cast(sortMode) + 1) % 3); + loadDirectory(currentDir); + mode = ViewMode::Browser; + } else if (actId == 12) { + std::string d = currentDir; + hideWindow(); + runAsyncCmd("cd \"" + d + "\" && exec st"); + } else if (actId == 13 && !filteredItems.empty()) { + confirmSelected = 0; + mode = ViewMode::ConfirmDelete; + } + }; + + auto stepImageInFolder = [&](int delta) { + if (filteredItems.empty()) return; + int n = static_cast(filteredItems.size()); + for (int step = 1; step <= n; ++step) { + int idx = (selected + delta * step + n * 2) % n; + if (!filteredItems[idx].isDir && + isImageExt(getExtLower(filteredItems[idx].name))) { + selected = idx; + openImageViewer(filteredItems[selected]); + return; + } + } + }; + + auto handleSoftkeyAction = [&](bool isLeft) { + if (mode == ViewMode::Browser) { + if (isLeft) { + buildActionsList(); + mode = ViewMode::Actions; + } else { + if (!searchQuery.empty()) { + popUtf8(searchQuery); + updateFilter(); + } else { + hideWindow(); + return; + } + } + } else if (mode == ViewMode::Actions) { + if (isLeft) { + if (!actionsList.empty()) { + executeAction(actionsList[actionSelected].id); + } + } else { + mode = ViewMode::Browser; + } + } else if (mode == ViewMode::TextView) { + if (isLeft) { + std::string p = viewingFilePath; + hideWindow(); + runAsyncCmd("st -e nano \"" + p + "\""); + return; + } else { + mode = ViewMode::Browser; + } + } else if (mode == ViewMode::ImageView) { + if (isLeft) { + runAsyncArgv("feh", viewingFilePath.c_str()); + } else { + mode = ViewMode::Browser; + } + } else if (mode == ViewMode::PropsView) { + mode = ViewMode::Browser; + } else if (mode == ViewMode::InputModal) { + if (isLeft) { + std::string name = trimStr(inputValue); + if (!name.empty() && name.find('/') == std::string::npos) { + std::string target = (currentDir == "/") ? ("/" + name) + : (currentDir + "/" + name); + if (inputAction == InputAction::NewFolder) { + ::mkdir(target.c_str(), 0755); + } else if (inputAction == InputAction::NewFile) { + int fd = ::open(target.c_str(), O_WRONLY | O_CREAT, 0644); + if (fd >= 0) ::close(fd); + } else if (inputAction == InputAction::Rename) { + ::rename(inputTargetPath.c_str(), target.c_str()); + } + loadDirectory(currentDir, name); + } + mode = ViewMode::Browser; + } else { + if (!inputValue.empty()) { + popUtf8(inputValue); + lastTapDigit = -1; + } else { + mode = ViewMode::Browser; + } + } + } else if (mode == ViewMode::ConfirmDelete) { + if (isLeft) { + if (confirmSelected == 1 && !filteredItems.empty()) { + removeRecursive(filteredItems[selected].fullPath); + loadDirectory(currentDir); + } + mode = ViewMode::Browser; + } else { + mode = ViewMode::Browser; + } + } + drawUI(); + }; + + if (!isPreload) { + showWindow(initDir); + } + + int xfd = ConnectionNumber(dpy); + while (gRunning) { + for (const auto& cmd : readFifoLines(fifoFd)) { + if (cmd == "NOP") { + continue; + } else if (cmd == "CLOSE") { + hideWindow(); + } else if (cmd == "OPEN") { + showWindow(""); + } else if (cmd.rfind("OPEN ", 0) == 0) { + showWindow(trimStr(cmd.substr(5))); + } + } + + while (XPending(dpy) > 0) { + XEvent ev; + XNextEvent(dpy, &ev); + if (!visible) continue; + + if (ev.type == Expose && ev.xexpose.count == 0) { + drawUI(); + } else if (ev.type == KeyPress) { + int64_t tNow = nowMs(); + unsigned int kc = ev.xkey.keycode; + KeySym sym = XLookupKeysym(&ev.xkey, 0); + + bool isLeftSk = + (kc == 135 || sym == XK_Menu || sym == XF86XK_KbdLcdMenu1 || + sym == _EVDEVK(0x246) || sym == XK_F1); + bool isRightSk = + (kc == 166 || sym == XF86XK_Back || sym == XF86XK_KbdLcdMenu2 || + sym == _EVDEVK(0x247) || sym == XK_F2); + + if (!initialSoftkeysReleased) { + if (querySoftkeysDown(dpy) == 0) { + initialSoftkeysReleased = true; + } else if (isLeftSk || isRightSk) { + continue; + } + } + if (tNow < startupIgnoreUntilMs && (isLeftSk || isRightSk)) { + continue; + } + + if (isLeftSk || isRightSk) { + int bit = isLeftSk ? 1 : 2; + softkeyPending |= bit; + if (softkeyPending == 3 || querySoftkeysDown(dpy) == 3) { + softkeyPending = 0; + sendPluginCommand("xdrawer", "TOGGLE"); + continue; + } + softkeyDeadlineMs = tNow + 35; + continue; + } + + if (sym == XK_Escape || kc == 124 || sym == XF86XK_PowerOff) { + hideWindow(); + continue; + } + + if (sym == XK_BackSpace || sym == XK_Delete) { + if (mode == ViewMode::Browser && searchQuery.empty() && + currentDir != "/") { + std::string prevBase = currentDir; + size_t sl = prevBase.rfind('/'); + std::string prevName = + (sl != std::string::npos) ? prevBase.substr(sl + 1) : ""; + std::string upDir = + (sl == 0 || sl == std::string::npos) ? "/" : prevBase.substr(0, sl); + loadDirectory(upDir, prevName); + drawUI(); + } else { + handleSoftkeyAction(false); + } + continue; + } + + if (mode == ViewMode::Browser) { + if (sym == XK_Up || sym == XK_KP_Up) { + if (!filteredItems.empty()) { + selected = + (selected - 1 + static_cast(filteredItems.size())) % + static_cast(filteredItems.size()); + drawUI(); + } + } else if (sym == XK_Down || sym == XK_KP_Down) { + if (!filteredItems.empty()) { + selected = + (selected + 1) % static_cast(filteredItems.size()); + drawUI(); + } + } else if (sym == XK_Left || sym == XK_KP_Left) { + if (currentDir != "/") { + std::string prevBase = currentDir; + size_t sl = prevBase.rfind('/'); + std::string prevName = + (sl != std::string::npos) ? prevBase.substr(sl + 1) : ""; + std::string upDir = (sl == 0 || sl == std::string::npos) + ? "/" + : prevBase.substr(0, sl); + loadDirectory(upDir, prevName); + drawUI(); + } + } else if (sym == XK_Right || sym == XK_KP_Right || + sym == XK_Return || sym == XK_KP_Enter) { + openSelectedItem(); + drawUI(); + } else { + char d = mapDialKey(sym, kc, ev.xkey.state); + if (d == '*') { + showHidden = !showHidden; + loadDirectory(currentDir); + drawUI(); + } else if (d == '#') { + sortMode = + static_cast((static_cast(sortMode) + 1) % 3); + loadDirectory(currentDir); + drawUI(); + } else if (d >= '0' && d <= '9') { + searchQuery.push_back(d); + updateFilter(); + drawUI(); + } + } + } else if (mode == ViewMode::Actions) { + if (sym == XK_Up || sym == XK_KP_Up) { + if (!actionsList.empty()) { + actionSelected = + (actionSelected - 1 + static_cast(actionsList.size())) % + static_cast(actionsList.size()); + drawUI(); + } + } else if (sym == XK_Down || sym == XK_KP_Down) { + if (!actionsList.empty()) { + actionSelected = + (actionSelected + 1) % static_cast(actionsList.size()); + drawUI(); + } + } else if (sym == XK_Return || sym == XK_KP_Enter) { + handleSoftkeyAction(true); + } + } else if (mode == ViewMode::TextView) { + if (sym == XK_Up || sym == XK_KP_Up) { + textScrollLine = std::max(0, textScrollLine - 1); + drawUI(); + } else if (sym == XK_Down || sym == XK_KP_Down || + sym == XK_Return || sym == XK_KP_Enter) { + textScrollLine = std::min( + std::max(0, static_cast(textLines.size()) - 1), + textScrollLine + 1); + drawUI(); + } else if (sym == XK_Left || sym == XK_KP_Left || sym == XK_Prior) { + textScrollLine = std::max(0, textScrollLine - 10); + drawUI(); + } else if (sym == XK_Right || sym == XK_KP_Right || sym == XK_Next) { + textScrollLine = std::min( + std::max(0, static_cast(textLines.size()) - 1), + textScrollLine + 10); + drawUI(); + } + } else if (mode == ViewMode::ImageView) { + if (sym == XK_Left || sym == XK_KP_Left || sym == XK_Up || + sym == XK_KP_Up) { + stepImageInFolder(-1); + drawUI(); + } else if (sym == XK_Right || sym == XK_KP_Right || sym == XK_Down || + sym == XK_KP_Down || sym == XK_Return || + sym == XK_KP_Enter) { + stepImageInFolder(1); + drawUI(); + } + } else if (mode == ViewMode::PropsView) { + if (sym == XK_Return || sym == XK_KP_Enter) { + mode = ViewMode::Browser; + drawUI(); + } + } else if (mode == ViewMode::InputModal) { + if (sym == XK_Return || sym == XK_KP_Enter) { + handleSoftkeyAction(true); + } else if (sym == XK_Right || sym == XK_KP_Right) { + lastTapDigit = -1; + } else { + char d = mapDialKey(sym, kc, ev.xkey.state); + if (d == '#') { + lastTapDigit = -1; + caseMode = static_cast( + (static_cast(caseMode) + 1) % 4); + drawUI(); + } else if (d == '*') { + commitModalTap(1); + drawUI(); + } else if (d >= '0' && d <= '9') { + commitModalTap(d - '0'); + drawUI(); + } + } + } else if (mode == ViewMode::ConfirmDelete) { + if (sym == XK_Up || sym == XK_Down || sym == XK_KP_Up || + sym == XK_KP_Down) { + confirmSelected = 1 - confirmSelected; + drawUI(); + } else if (sym == XK_Return || sym == XK_KP_Enter) { + handleSoftkeyAction(true); + } + } + } + } + + int64_t tNow = nowMs(); + if (visible && softkeyPending != 0 && tNow >= softkeyDeadlineMs) { + if (querySoftkeysDown(dpy) == 3) { + softkeyPending = 0; + sendPluginCommand("xdrawer", "TOGGLE"); + } else { + bool isLeft = (softkeyPending == 1); + softkeyPending = 0; + handleSoftkeyAction(isLeft); + } + } + + int timeoutMs = -1; + if (visible && softkeyPending != 0) { + timeoutMs = std::max(1, static_cast(softkeyDeadlineMs - tNow)); + } + + struct pollfd pfds[2]; + int nfds = 0; + pfds[nfds++] = {xfd, POLLIN, 0}; + int fifoIdx = -1; + if (fifoFd >= 0) { + fifoIdx = nfds; + pfds[nfds++] = {fifoFd, POLLIN, 0}; + } + + int pr = ::poll(pfds, nfds, timeoutMs); + if (pr > 0 && fifoIdx >= 0 && (pfds[fifoIdx].revents & POLLIN)) { + for (const auto& cmd : readFifoLines(fifoFd)) { + if (cmd == "CLOSE") { + hideWindow(); + } else if (cmd == "OPEN") { + showWindow(""); + } else if (cmd.rfind("OPEN ", 0) == 0) { + showWindow(trimStr(cmd.substr(5))); + } + } + } + } + + hideWindow(); + if (xImgPreview) { + xImgPreview->data = nullptr; + XDestroyImage(xImgPreview); + } + if (fifoFd >= 0) ::close(fifoFd); + ::unlink(daemonPidPath.c_str()); + return 0; +} + +int files_plugin_init(const DwmHostApi* host) { + if (host && host->spawn_plugin) { + host->spawn_plugin("files", "--preload"); + } + return 0; +} + +} // namespace + +extern "C" __attribute__((visibility("default"))) const DwmPlugin dwm_plugin_entry = { + DWM_PLUGIN_API_VERSION, + "files", + "Keypad-driven graphical file manager with text/image preview", + files_plugin_init, + nullptr, + nullptr, + nullptr, + nullptr, + runFilesApp +}; diff --git a/src/dwm-plugins/media_utils.h b/src/dwm-plugins/media_utils.h new file mode 100644 index 0000000..c5ff5c2 --- /dev/null +++ b/src/dwm-plugins/media_utils.h @@ -0,0 +1,269 @@ +#ifndef DWM_PLUGINS_MEDIA_UTILS_H +#define DWM_PLUGINS_MEDIA_UTILS_H + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include + +namespace bananarchy { + +struct JpegErrMgr { + struct jpeg_error_mgr pub; + jmp_buf setjmpBuf; +}; + +inline void jpegErrorExit(j_common_ptr cinfo) { + JpegErrMgr* myerr = reinterpret_cast(cinfo->err); + longjmp(myerr->setjmpBuf, 1); +} + +inline bool saveRgb24AsJpeg(const std::string& path, + const uint8_t* rgb, + int width, + int height, + int quality = 92) { + if (!rgb || width <= 0 || height <= 0) { + return false; + } + FILE* fp = std::fopen(path.c_str(), "wb"); + if (!fp) { + return false; + } + + struct jpeg_compress_struct cinfo {}; + JpegErrMgr jerr {}; + cinfo.err = jpeg_std_error(&jerr.pub); + jerr.pub.error_exit = jpegErrorExit; + if (setjmp(jerr.setjmpBuf)) { + jpeg_destroy_compress(&cinfo); + std::fclose(fp); + return false; + } + + jpeg_create_compress(&cinfo); + jpeg_stdio_dest(&cinfo, fp); + cinfo.image_width = static_cast(width); + cinfo.image_height = static_cast(height); + cinfo.input_components = 3; + cinfo.in_color_space = JCS_RGB; + + jpeg_set_defaults(&cinfo); + jpeg_set_quality(&cinfo, quality, TRUE); + jpeg_start_compress(&cinfo, TRUE); + + int rowStride = width * 3; + while (cinfo.next_scanline < cinfo.image_height) { + JSAMPROW rowPtr = + const_cast(rgb + cinfo.next_scanline * rowStride); + jpeg_write_scanlines(&cinfo, &rowPtr, 1); + } + + jpeg_finish_compress(&cinfo); + jpeg_destroy_compress(&cinfo); + std::fclose(fp); + return true; +} + +inline bool loadJpegRgb24(const std::string& path, + std::vector* outRgb, + int* outW, + int* outH) { + FILE* fp = std::fopen(path.c_str(), "rb"); + if (!fp) { + return false; + } + + struct jpeg_decompress_struct cinfo {}; + JpegErrMgr jerr {}; + cinfo.err = jpeg_std_error(&jerr.pub); + jerr.pub.error_exit = jpegErrorExit; + if (setjmp(jerr.setjmpBuf)) { + jpeg_destroy_decompress(&cinfo); + std::fclose(fp); + return false; + } + + jpeg_create_decompress(&cinfo); + jpeg_stdio_src(&cinfo, fp); + if (jpeg_read_header(&cinfo, TRUE) != JPEG_HEADER_OK) { + jpeg_destroy_decompress(&cinfo); + std::fclose(fp); + return false; + } + + // Use libjpeg fast DCT downscaling for large images so decoding is instant + if (cinfo.image_width > 960 || cinfo.image_height > 960) { + cinfo.scale_num = 1; + cinfo.scale_denom = 2; + } + cinfo.out_color_space = JCS_RGB; + jpeg_start_decompress(&cinfo); + + int w = static_cast(cinfo.output_width); + int h = static_cast(cinfo.output_height); + if (w <= 0 || h <= 0 || w > 8192 || h > 8192) { + jpeg_destroy_decompress(&cinfo); + std::fclose(fp); + return false; + } + + outRgb->resize(static_cast(w) * h * 3); + int rowStride = w * 3; + while (cinfo.output_scanline < cinfo.output_height) { + JSAMPROW rowPtr = outRgb->data() + cinfo.output_scanline * rowStride; + jpeg_read_scanlines(&cinfo, &rowPtr, 1); + } + + jpeg_finish_decompress(&cinfo); + jpeg_destroy_decompress(&cinfo); + std::fclose(fp); + *outW = w; + *outH = h; + return true; +} + +inline bool loadPngRgb24(const std::string& path, + std::vector* outRgb, + int* outW, + int* outH) { + png_image image {}; + image.version = PNG_IMAGE_VERSION; + if (!png_image_begin_read_from_file(&image, path.c_str())) { + return false; + } + image.format = PNG_FORMAT_RGB; + int w = static_cast(image.width); + int h = static_cast(image.height); + if (w <= 0 || h <= 0 || w > 8192 || h > 8192) { + png_image_free(&image); + return false; + } + outRgb->resize(PNG_IMAGE_SIZE(image)); + if (!png_image_finish_read(&image, nullptr, outRgb->data(), 0, nullptr)) { + png_image_free(&image); + return false; + } + png_image_free(&image); + *outW = w; + *outH = h; + return true; +} + +inline bool loadImageRgb24(const std::string& path, + std::vector* outRgb, + int* outW, + int* outH) { + std::string low = path; + for (char& c : low) { + c = static_cast(std::tolower(static_cast(c))); + } + if (low.size() >= 4 && low.substr(low.size() - 4) == ".png") { + if (loadPngRgb24(path, outRgb, outW, outH)) { + return true; + } + } + if (loadJpegRgb24(path, outRgb, outW, outH)) { + return true; + } + if (loadPngRgb24(path, outRgb, outW, outH)) { + return true; + } + return false; +} + +inline void scaleRgb24ToBgrxCanvas(const uint8_t* srcRgb, + int srcW, + int srcH, + uint32_t* dstBgrx, + int canvasW, + int canvasH, + uint32_t bgPixel = 0x111111) { + for (int i = 0; i < canvasW * canvasH; ++i) { + dstBgrx[i] = bgPixel; + } + if (!srcRgb || srcW <= 0 || srcH <= 0 || canvasW <= 0 || canvasH <= 0) { + return; + } + + int drawW = canvasW; + int drawH = (srcH * canvasW) / srcW; + if (drawH > canvasH) { + drawH = canvasH; + drawW = (srcW * canvasH) / srcH; + } + drawW = std::max(1, drawW); + drawH = std::max(1, drawH); + + int offX = (canvasW - drawW) / 2; + int offY = (canvasH - drawH) / 2; + + for (int dy = 0; dy < drawH; ++dy) { + int sy = std::min(srcH - 1, (dy * srcH) / drawH); + const uint8_t* srow = srcRgb + static_cast(sy) * srcW * 3; + uint32_t* drow = dstBgrx + static_cast(offY + dy) * canvasW + offX; + for (int dx = 0; dx < drawW; ++dx) { + int sx = std::min(srcW - 1, (dx * srcW) / drawW); + const uint8_t* px = srow + sx * 3; + drow[dx] = (static_cast(px[0]) << 16) | + (static_cast(px[1]) << 8) | + static_cast(px[2]); + } + } +} + +inline void downscaleViewfinder800x600To240x180(const uint8_t* srcRgb, + uint32_t* dstBgrx, + int zoomFactor = 1) { + if (!srcRgb || !dstBgrx) { + return; + } + zoomFactor = std::clamp(zoomFactor, 1, 4); + int cropW = 800 / zoomFactor; + int cropH = 600 / zoomFactor; + int startX = (800 - cropW) / 2; + int startY = (600 - cropH) / 2; + + for (int dy = 0; dy < 180; ++dy) { + int sy = startY + (dy * cropH) / 180; + const uint8_t* srow = srcRgb + static_cast(sy) * 800 * 3; + uint32_t* drow = dstBgrx + static_cast(dy) * 240; + for (int dx = 0; dx < 240; ++dx) { + int sx = startX + (dx * cropW) / 240; + const uint8_t* px = srow + sx * 3; + drow[dx] = (static_cast(px[0]) << 16) | + (static_cast(px[1]) << 8) | + static_cast(px[2]); + } + } +} + +inline std::string formatFileSize(off_t bytes) { + char buf[32]; + if (bytes >= 1024LL * 1024LL * 1024LL) { + std::snprintf(buf, sizeof(buf), "%.1fG", + static_cast(bytes) / (1024.0 * 1024.0 * 1024.0)); + } else if (bytes >= 1024LL * 1024LL) { + std::snprintf(buf, sizeof(buf), "%.1fM", + static_cast(bytes) / (1024.0 * 1024.0)); + } else if (bytes >= 1024LL) { + std::snprintf(buf, sizeof(buf), "%.1fK", + static_cast(bytes) / 1024.0); + } else { + std::snprintf(buf, sizeof(buf), "%lldB", static_cast(bytes)); + } + return buf; +} + +} // namespace bananarchy + +#endif // DWM_PLUGINS_MEDIA_UTILS_H diff --git a/src/dwm-plugins/phone_data.h b/src/dwm-plugins/phone_data.h index 7ba8aed..e2b1505 100644 --- a/src/dwm-plugins/phone_data.h +++ b/src/dwm-plugins/phone_data.h @@ -16,6 +16,7 @@ #include #include #include +#include #include #include #include @@ -53,6 +54,21 @@ constexpr const char* kIconTrash = "\xef\x87\xb8"; // U+F1F8 delete/trash constexpr const char* kIconSms = "\xef\x83\xa0"; // U+F0E0 envelope/SMS constexpr const char* kIconList = "\xef\x80\xba"; // U+F03A list constexpr const char* kIconCheck = "\xef\x80\x8c"; // U+F00C check +constexpr const char* kIconFolder = "\xef\x81\xbb"; // U+F07B folder +constexpr const char* kIconFolderOpen = "\xef\x81\xbc"; // U+F07C folder-open +constexpr const char* kIconFile = "\xef\x80\x96"; // U+F016 file +constexpr const char* kIconFileText = "\xef\x85\x9c"; // U+F15C file-text +constexpr const char* kIconImage = "\xef\x80\xbe"; // U+F03E image +constexpr const char* kIconMusic = "\xef\x80\x81"; // U+F001 music/audio +constexpr const char* kIconTerm = "\xef\x84\xa0"; // U+F120 terminal +constexpr const char* kIconCamera = "\xef\x80\xb0"; // U+F030 camera +constexpr const char* kIconFlash = "\xef\x83\xa7"; // U+F0E7 bolt/flash +constexpr const char* kIconSend = "\xef\x87\x98"; // U+F1D8 paper-plane +constexpr const char* kIconCopy = "\xef\x83\x85"; // U+F0C5 copy +constexpr const char* kIconInfo = "\xef\x81\x9a"; // U+F05A info-circle +constexpr const char* kIconRefresh = "\xef\x80\xa1"; // U+F021 refresh +constexpr const char* kIconSort = "\xef\x83\x9c"; // U+F0DC sort +constexpr const char* kIconEye = "\xef\x81\xae"; // U+F06E eye/view inline int64_t nowMs() { struct timespec ts {}; @@ -249,7 +265,9 @@ inline void runAsyncCmd(const std::string& cmd) { } } -inline void runAsyncArgv(const char* prog, const char* arg1 = nullptr) { +inline void runAsyncArgv(const char* prog, + const char* arg1 = nullptr, + const char* arg2 = nullptr) { pid_t pid = ::fork(); if (pid == 0) { ::setsid(); @@ -262,7 +280,13 @@ inline void runAsyncArgv(const char* prog, const char* arg1 = nullptr) { ::close(nullfd); } } - if (arg1) { + if (arg1 && arg2) { + execlp(prog, prog, arg1, arg2, static_cast(nullptr)); + std::string localBin = std::string("/home/user/.local/bin/") + prog; + execl(localBin.c_str(), prog, arg1, arg2, static_cast(nullptr)); + std::string usrBin = std::string("/usr/bin/") + prog; + execl(usrBin.c_str(), prog, arg1, arg2, static_cast(nullptr)); + } else if (arg1) { execlp(prog, prog, arg1, static_cast(nullptr)); std::string localBin = std::string("/home/user/.local/bin/") + prog; execl(localBin.c_str(), prog, arg1, static_cast(nullptr)); @@ -896,6 +920,296 @@ inline void placePhoneCall(const std::string& rawNumber) { runAsyncArgv("sxmo_modemdial.sh", num.c_str()); } +inline void closeOtherPlugins(const char* selfPluginName) { + struct PluginRef { + const char* pidFile; + const char* name; + }; + static const PluginRef kAllPlugins[] = { + {"xdrawer.pid", "xdrawer"}, + {"xdialer.pid", "dialer"}, + {"xcalllog.pid", "calllog"}, + {"xcontacts.pid", "contacts"}, + {"xsms.pid", "sms"}, + {"xfiles.pid", "files"}, + {"xcamera.pid", "camera"}, + }; + for (const auto& p : kAllPlugins) { + if (selfPluginName && std::strcmp(p.name, selfPluginName) == 0) { + continue; + } + if (isPidFileAlive(getRuntimeFile(p.pidFile))) { + sendPluginCommand(p.name, "CLOSE"); + } + } +} + +inline std::string getModemLogDirPath() { + const char* env = std::getenv("SXMO_LOGDIR"); + if (env && env[0]) { + return env; + } + const char* xdg = std::getenv("XDG_DATA_HOME"); + if (xdg && xdg[0]) { + return std::string(xdg) + "/sxmo/modem"; + } + const char* home = std::getenv("HOME"); + return std::string(home && home[0] ? home : "/home/user") + + "/.local/share/sxmo/modem"; +} + +struct SmsMessage { + bool incoming = true; + std::string sender; + std::string isoTime; + std::string displayTime; + time_t epoch = 0; + std::string text; +}; + +struct SmsThread { + std::string number; + std::string normNumber; + std::string contactName; + std::string t9Name; + std::string lowerName; + std::string lastPreview; + std::string lastDisplayTime; + time_t lastEpoch = 0; + bool lastIncoming = true; + bool hasDraft = false; + int messageCount = 0; +}; + +inline bool parseSmsHeaderLine(const std::string& line, + bool* outIncoming, + std::string* outSender, + std::string* outIsoTime) { + if (line.empty() || line.back() != ':') { + return false; + } + if (line.rfind("Received at ", 0) == 0 && line.size() > 13) { + *outIncoming = true; + outSender->clear(); + *outIsoTime = line.substr(12, line.size() - 13); + return true; + } + if (line.rfind("Received from ", 0) == 0) { + size_t atPos = line.find(" at "); + if (atPos != std::string::npos && atPos + 4 < line.size() - 1) { + *outIncoming = true; + *outSender = line.substr(14, atPos - 14); + *outIsoTime = line.substr(atPos + 4, line.size() - (atPos + 4) - 1); + return true; + } + } + if (line.rfind("Sent at ", 0) == 0 && line.size() > 9) { + *outIncoming = false; + outSender->clear(); + *outIsoTime = line.substr(8, line.size() - 9); + return true; + } + return false; +} + +inline std::vector loadSmsThreadMessages(const std::string& number) { + std::vector msgs; + std::string path = getModemLogDirPath() + "/" + number + "/sms.txt"; + std::ifstream in(path); + if (!in.is_open()) { + return msgs; + } + + std::string line; + bool hasCur = false; + SmsMessage cur; + + auto flushCur = [&]() { + if (!hasCur) { + return; + } + while (!cur.text.empty() && + (cur.text.back() == '\n' || cur.text.back() == '\r')) { + cur.text.pop_back(); + } + msgs.push_back(cur); + cur = SmsMessage{}; + hasCur = false; + }; + + while (std::getline(in, line)) { + if (!line.empty() && line.back() == '\r') { + line.pop_back(); + } + bool inc = true; + std::string sender; + std::string iso; + if (parseSmsHeaderLine(line, &inc, &sender, &iso)) { + flushCur(); + hasCur = true; + cur.incoming = inc; + cur.sender = sender.empty() ? number : sender; + cur.isoTime = iso; + cur.displayTime = formatShortTime(iso); + cur.epoch = parseIsoTime(iso); + cur.text.clear(); + } else if (hasCur) { + if (!cur.text.empty()) { + cur.text.push_back('\n'); + } + cur.text += line; + } else if (!trimStr(line).empty()) { + hasCur = true; + cur.incoming = true; + cur.sender = number; + cur.text = line; + } + } + flushCur(); + return msgs; +} + +inline std::string loadSmsDraft(const std::string& number) { + if (number.empty()) { + return ""; + } + std::string path = getModemLogDirPath() + "/" + number + "/draft.txt"; + std::ifstream in(path); + if (!in.is_open()) { + return ""; + } + std::ostringstream ss; + ss << in.rdbuf(); + std::string s = ss.str(); + while (!s.empty() && (s.back() == '\n' || s.back() == '\r')) { + s.pop_back(); + } + if (s == "Enter message here") { + return ""; + } + return s; +} + +inline bool saveSmsDraft(const std::string& number, const std::string& text) { + if (number.empty()) { + return false; + } + std::string dir = getModemLogDirPath() + "/" + number; + std::string path = dir + "/draft.txt"; + if (trimStr(text).empty()) { + ::unlink(path.c_str()); + return true; + } + ContactBook::ensureParentDir(path); + std::ofstream out(path, std::ios::trunc); + if (!out.is_open()) { + return false; + } + out << text << "\n"; + return true; +} + +inline void removeSmsDraft(const std::string& number) { + if (number.empty()) { + return; + } + std::string path = getModemLogDirPath() + "/" + number + "/draft.txt"; + ::unlink(path.c_str()); +} + +inline bool deleteSmsThread(const std::string& number) { + if (number.empty()) { + return false; + } + std::string dir = getModemLogDirPath() + "/" + number; + std::string smsPath = dir + "/sms.txt"; + std::string draftPath = dir + "/draft.txt"; + ::unlink(smsPath.c_str()); + ::unlink(draftPath.c_str()); + ::rmdir(dir.c_str()); + return true; +} + +inline std::vector loadSmsThreads(const ContactBook& book) { + std::vector threads; + std::string baseDir = getModemLogDirPath(); + DIR* d = ::opendir(baseDir.c_str()); + if (!d) { + return threads; + } + + struct dirent* ent; + while ((ent = ::readdir(d)) != nullptr) { + std::string name = ent->d_name; + if (name.empty() || name[0] == '.') { + continue; + } + std::string subDir = baseDir + "/" + name; + struct stat st {}; + if (::stat(subDir.c_str(), &st) != 0 || !S_ISDIR(st.st_mode)) { + continue; + } + std::string smsPath = subDir + "/sms.txt"; + std::string draftPath = subDir + "/draft.txt"; + bool hasSms = (::access(smsPath.c_str(), R_OK) == 0); + std::string draft = loadSmsDraft(name); + bool hasDraft = !draft.empty(); + if (!hasSms && !hasDraft) { + continue; + } + + auto msgs = loadSmsThreadMessages(name); + if (msgs.empty() && !hasDraft) { + continue; + } + + SmsThread th; + th.number = name; + th.normNumber = normalizePhone(name); + th.contactName = book.resolveName(name); + std::string label = th.contactName.empty() ? name : th.contactName; + th.t9Name = toT9Digits(label); + th.lowerName = toLowerStr(label); + th.hasDraft = hasDraft; + th.messageCount = static_cast(msgs.size()); + + if (!msgs.empty()) { + const auto& last = msgs.back(); + th.lastIncoming = last.incoming; + th.lastDisplayTime = last.displayTime; + th.lastEpoch = last.epoch; + std::string prev = last.text; + for (char& c : prev) { + if (c == '\n' || c == '\r' || c == '\t') { + c = ' '; + } + } + th.lastPreview = hasDraft ? ("[Draft] " + draft) : prev; + } else { + th.lastIncoming = false; + th.lastPreview = "[Draft] " + draft; + struct stat dst {}; + if (::stat(draftPath.c_str(), &dst) == 0) { + th.lastEpoch = dst.st_mtim.tv_sec; + } + } + if (th.lastEpoch == 0 && ::stat(smsPath.c_str(), &st) == 0) { + th.lastEpoch = st.st_mtim.tv_sec; + } + threads.push_back(th); + } + ::closedir(d); + + std::sort(threads.begin(), threads.end(), + [](const SmsThread& a, const SmsThread& b) { + if (a.lastEpoch != b.lastEpoch) { + return a.lastEpoch > b.lastEpoch; + } + return a.number < b.number; + }); + return threads; +} + } // namespace bananarchy #endif // DWM_PLUGINS_PHONE_DATA_H diff --git a/src/dwm-plugins/sms_plugin.cpp b/src/dwm-plugins/sms_plugin.cpp new file mode 100644 index 0000000..312bd0a --- /dev/null +++ b/src/dwm-plugins/sms_plugin.cpp @@ -0,0 +1,1468 @@ +#include "phone_data.h" +#include "../sxmo-dwm/dwm_plugin.h" + +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace { + +using namespace bananarchy; + +volatile sig_atomic_t gRunning = 1; + +void handleSignal(int) { + gRunning = 0; +} + +enum class ViewMode { + Threads = 0, + ThreadView = 1, + Compose = 2, + PickContact = 3, + Options = 4, + ConfirmDelete = 5, +}; + +enum class TextCaseMode { + Title = 0, // Abc + Upper = 1, // ABC + Lower = 2, // abc + Num = 3, // 123 +}; + +const char* kMultiTapSms[10] = { + " 0\n", // 0 + ".,?!'-:;()@/1", // 1 + "abc2", // 2 + "def3", // 3 + "ghi4", // 4 + "jkl5", // 5 + "mno6", // 6 + "pqrs7", // 7 + "tuv8", // 8 + "wxyz9" // 9 +}; + +void popUtf8Char(std::string& s) { + if (s.empty()) { + return; + } + while (!s.empty() && (static_cast(s.back()) & 0xC0) == 0x80) { + s.pop_back(); + } + if (!s.empty()) { + s.pop_back(); + } +} + +int runSmsApp(int argc, char** argv) { + gRunning = 1; + std::setlocale(LC_ALL, ""); + XSetLocaleModifiers(""); + + bool isPreload = false; + std::string initArg; + for (int i = 1; i < argc; ++i) { + if (!argv[i]) continue; + if (std::strcmp(argv[i], "--preload") == 0) { + isPreload = true; + } else if (std::strcmp(argv[i], "sendtextmenu") == 0 || + std::strcmp(argv[i], "conversationloop") == 0) { + if (i + 1 < argc && argv[i + 1]) { + initArg = std::string("send:") + argv[++i]; + } else { + initArg = "send:"; + } + } else if (std::strcmp(argv[i], "tailtextlog") == 0) { + if (i + 1 < argc && argv[i + 1]) { + initArg = std::string("thread:") + argv[++i]; + } + } else if ( std::strcmp(argv[i], "readtextmenu") == 0 ) { + initArg.clear(); + } else if (initArg.empty()) { + initArg = argv[i]; + } + } + + std::string daemonPidPath = getPluginDaemonPidPath("sms"); + std::string activePidPath = getRuntimeFile("xsms.pid"); + + int existingDaemon = readIntFile(daemonPidPath, -1); + if (existingDaemon > 0 && existingDaemon != static_cast(::getpid()) && + ::kill(existingDaemon, 0) == 0) { + if (!isPreload) { + sendPluginCommand("sms", initArg.empty() ? "OPEN" : ("OPEN " + initArg)); + } + return 0; + } + + writeIntFile(daemonPidPath, static_cast(::getpid())); + int fifoFd = setupPluginDaemonFifo("sms"); + + int notifyPipe[2] = {-1, -1}; + if (::pipe(notifyPipe) == 0) { + ::fcntl(notifyPipe[0], F_SETFL, O_NONBLOCK | O_CLOEXEC); + ::fcntl(notifyPipe[1], F_SETFL, O_NONBLOCK | O_CLOEXEC); + } + + struct sigaction sa {}; + sa.sa_handler = handleSignal; + sigemptyset(&sa.sa_mask); + sigaction(SIGINT, &sa, nullptr); + sigaction(SIGTERM, &sa, nullptr); + + Display* dpy = XOpenDisplay(nullptr); + if (!dpy) { + if (fifoFd >= 0) ::close(fifoFd); + if (notifyPipe[0] >= 0) ::close(notifyPipe[0]); + if (notifyPipe[1] >= 0) ::close(notifyPipe[1]); + ::unlink(daemonPidPath.c_str()); + return 1; + } + + int screen = DefaultScreen(dpy); + Window root = RootWindow(dpy, screen); + Visual* visual = DefaultVisual(dpy, screen); + Colormap cmap = DefaultColormap(dpy, screen); + + XSetWindowAttributes swa {}; + swa.override_redirect = True; + swa.background_pixel = 0x222222; + swa.border_pixel = 0x005577; + swa.event_mask = ExposureMask | KeyPressMask | KeyReleaseMask | + VisibilityChangeMask | StructureNotifyMask; + + Window win = XCreateWindow( + dpy, root, kWinX, kWinY, kWinWidth, kWinHeight, 0, + DefaultDepth(dpy, screen), CopyFromParent, visual, + CWOverrideRedirect | CWBackPixel | CWBorderPixel | CWEventMask, &swa); + + XClassHint ch {}; + char resName[] = "xsms"; + char resClass[] = "XSms"; + ch.res_name = resName; + ch.res_class = resClass; + XSetClassHint(dpy, win, &ch); + XStoreName(dpy, win, "Messages"); + + Pixmap pix = XCreatePixmap(dpy, win, kWinWidth, kWinHeight, + DefaultDepth(dpy, screen)); + GC gc = XCreateGC(dpy, pix, 0, nullptr); + XftDraw* xftDraw = XftDrawCreate(dpy, pix, visual, cmap); + + PangoFontMap* fontMap = pango_xft_get_font_map(dpy, screen); + PangoContext* pangoCtx = pango_font_map_create_context(fontMap); + + PangoLayout* layoutMain = pango_layout_new(pangoCtx); + PangoFontDescription* descMain = + pango_font_description_from_string("Fira Code, DejaVuSansM Nerd Font 15px"); + pango_layout_set_font_description(layoutMain, descMain); + + PangoLayout* layoutSmall = pango_layout_new(pangoCtx); + PangoFontDescription* descSmall = + pango_font_description_from_string("Fira Code, DejaVuSansM Nerd Font 12px"); + pango_layout_set_font_description(layoutSmall, descSmall); + + PangoLayout* layoutIcon = pango_layout_new(pangoCtx); + PangoFontDescription* descIcon = + pango_font_description_from_string("DejaVuSansM Nerd Font, Fira Code 16px"); + pango_layout_set_font_description(layoutIcon, descIcon); + + auto allocColor = [&](const char* hex) { + XftColor col {}; + XftColorAllocName(dpy, visual, cmap, hex, &col); + return col; + }; + + XftColor colWhite = allocColor("#ffffff"); + XftColor colLight = allocColor("#dddddd"); + XftColor colMuted = allocColor("#999999"); + XftColor colYellow = allocColor("#f4d03f"); + XftColor colGreen = allocColor("#2ecc71"); + XftColor colBlue = allocColor("#5dade2"); + XftColor colRed = allocColor("#e74c3c"); + + ContactBook book; + std::vector allThreads; + std::vector filteredThreads; + std::vector threadMessages; + std::vector pickerContacts; + + FileStamp contactsStamp; + FileStamp modemLogStamp; + bool loadedOnce = false; + + ViewMode mode = ViewMode::Threads; + ViewMode prevMode = ViewMode::Threads; + std::string searchQuery; + int selectedThread = 0; + int selectedMsg = 0; + int selectedOption = 0; + int selectedPicker = 0; + int confirmSelected = 0; + + std::string activeNumber; + std::string composeRecipient; + std::string composeText; + int composeField = 1; // 0 = To, 1 = Message body, 2 = Send button, 3 = Save Draft + TextCaseMode caseMode = TextCaseMode::Title; + int lastTapDigit = -1; + int lastTapCycle = 0; + int64_t lastTapMs = 0; + bool zeroHeld = false; + int64_t zeroPressMs = 0; + + std::mutex sendMutex; + bool sendingInProgress = false; + std::string statusBanner; + int64_t statusBannerUntilMs = 0; + + bool visible = false; + int64_t openStartMs = 0; + int64_t startupIgnoreUntilMs = 0; + bool initialSoftkeysReleased = true; + int softkeyPending = 0; + int64_t softkeyDeadlineMs = 0; + + struct OptionEntry { + int id; + std::string icon; + std::string label; + }; + std::vector optionsList; + + auto updateFilter = [&]() { + filteredThreads.clear(); + if (searchQuery.empty()) { + filteredThreads = allThreads; + } else { + std::string qNorm = normalizePhone(searchQuery); + std::string qLower = toLowerStr(searchQuery); + for (const auto& t : allThreads) { + bool match = + (!qLower.empty() && t.lowerName.find(qLower) != std::string::npos) || + (!qNorm.empty() && t.t9Name.find(qNorm) != std::string::npos) || + (!qNorm.empty() && t.normNumber.find(qNorm) != std::string::npos) || + (!qLower.empty() && + toLowerStr(t.lastPreview).find(qLower) != std::string::npos); + if (match) { + filteredThreads.push_back(t); + } + } + } + if (selectedThread >= static_cast(filteredThreads.size())) { + selectedThread = + std::max(0, static_cast(filteredThreads.size()) - 1); + } + }; + + auto reloadAllData = [&](bool force = false) { + bool cChanged = contactsStamp.checkAndUpdate(getContactsFilePath()); + bool lChanged = modemLogStamp.checkAndUpdate(getModemLogFilePath()); + if (force || cChanged || lChanged || !loadedOnce) { + loadedOnce = true; + book.load(); + allThreads = loadSmsThreads(book); + updateFilter(); + if (!activeNumber.empty()) { + threadMessages = loadSmsThreadMessages(activeNumber); + if (selectedMsg >= static_cast(threadMessages.size())) { + selectedMsg = + std::max(0, static_cast(threadMessages.size()) - 1); + } + } + } + }; + + reloadAllData(true); + + auto openThreadView = [&](const std::string& num) { + activeNumber = trimStr(num); + threadMessages = loadSmsThreadMessages(activeNumber); + selectedMsg = std::max(0, static_cast(threadMessages.size()) - 1); + mode = ViewMode::ThreadView; + }; + + auto openComposeView = [&](const std::string& num, const std::string& prefill = "") { + prevMode = mode; + composeRecipient = trimStr(num); + if (!prefill.empty()) { + composeText = prefill; + } else if (!composeRecipient.empty()) { + composeText = loadSmsDraft(composeRecipient); + } else { + composeText.clear(); + } + composeField = composeRecipient.empty() ? 0 : 1; + lastTapDigit = -1; + mode = ViewMode::Compose; + }; + + auto buildOptions = [&]() { + optionsList.clear(); + if (mode == ViewMode::Threads) { + optionsList.push_back({1, kIconPlus, "New Message"}); + if (!filteredThreads.empty()) { + optionsList.push_back({2, kIconEye, "Open Conversation"}); + optionsList.push_back({3, kIconSend, "Reply to Selected"}); + optionsList.push_back({4, kIconPhone, "Call Contact"}); + optionsList.push_back({5, kIconUser, "Open in Contacts"}); + optionsList.push_back({6, kIconTrash, "Delete Conversation"}); + } + } else if (mode == ViewMode::ThreadView) { + optionsList.push_back({3, kIconSend, "Reply / Compose"}); + optionsList.push_back({4, kIconPhone, "Call Contact"}); + if (!threadMessages.empty()) { + optionsList.push_back({7, kIconCopy, "Forward Selected Msg"}); + } + optionsList.push_back({5, kIconUser, "Save / View Contact"}); + optionsList.push_back({6, kIconTrash, "Delete Conversation"}); + } + selectedOption = 0; + }; + + auto startAsyncSendSms = [&](const std::string& rawRecipient, + const std::string& body) { + std::string recipient = normalizePhone(rawRecipient); + if (recipient.empty() || trimStr(body).empty()) { + statusBanner = "Set recipient and message"; + statusBannerUntilMs = nowMs() + 2000; + return; + } + { + std::lock_guard lk(sendMutex); + if (sendingInProgress) { + return; + } + sendingInProgress = true; + } + saveSmsDraft(recipient, body); + statusBanner = "Sending SMS to " + recipient + "..."; + statusBannerUntilMs = nowMs() + 15000; + + int writePipe = notifyPipe[1]; + std::thread([recipient, body, writePipe, &sendMutex, &sendingInProgress, + &statusBanner, &statusBannerUntilMs]() { + std::string draftPath = + getModemLogDirPath() + "/" + recipient + "/draft.txt"; + ContactBook::ensureParentDir(draftPath); + { + std::ofstream out(draftPath, std::ios::trunc); + out << body << "\n"; + } + + int rc = -1; + pid_t pid = ::fork(); + if (pid == 0) { + int nullfd = ::open("/dev/null", O_RDWR); + if (nullfd >= 0) { + ::dup2(nullfd, STDIN_FILENO); + ::dup2(nullfd, STDOUT_FILENO); + ::dup2(nullfd, STDERR_FILENO); + if (nullfd > 2) ::close(nullfd); + } + execlp("sxmo_modemsendsms.sh", "sxmo_modemsendsms.sh", + recipient.c_str(), "-f", draftPath.c_str(), + static_cast(nullptr)); + execl("/usr/bin/sxmo_modemsendsms.sh", "sxmo_modemsendsms.sh", + recipient.c_str(), "-f", draftPath.c_str(), + static_cast(nullptr)); + _exit(127); + } else if (pid > 0) { + int status = 0; + ::waitpid(pid, &status, 0); + if (WIFEXITED(status)) { + rc = WEXITSTATUS(status); + } + } + + // If modem send failed (e.g. offline/no SIM), still log locally if user + // wants local record or keep draft so nothing is lost + if (rc == 0) { + removeSmsDraft(recipient); + } else { + // Record in local thread log as Sent (or Draft) so conversation is visible + time_t nowSec = std::time(nullptr); + struct tm tmNow {}; + localtime_r(&nowSec, &tmNow); + char tbuf[32]; + std::strftime(tbuf, sizeof(tbuf), "%Y-%m-%dT%H:%M:%S%z", &tmNow); + std::string smsPath = + getModemLogDirPath() + "/" + recipient + "/sms.txt"; + ContactBook::ensureParentDir(smsPath); + std::ofstream smsOut(smsPath, std::ios::app); + if (smsOut.is_open()) { + smsOut << "Sent at " << tbuf << ":\n" << body << "\n\n"; + } + std::ofstream logOut(getModemLogFilePath(), std::ios::app); + if (logOut.is_open()) { + logOut << tbuf << "\tsent_txt\t" << recipient << "\t" + << body.size() << " chars\n"; + } + removeSmsDraft(recipient); + } + + { + std::lock_guard lk(sendMutex); + sendingInProgress = false; + statusBanner = (rc == 0) ? "SMS Sent!" : "Saved to Sent (modem offline)"; + statusBannerUntilMs = nowMs() + 2200; + } + if (writePipe >= 0) { + char c = 'S'; + (void)::write(writePipe, &c, 1); + } + }).detach(); + }; + + auto drawPango = [&](PangoLayout* layout, XftColor* color, int x, int y, int h, + const std::string& text, int maxW = -1) { + pango_layout_set_text(layout, text.c_str(), static_cast(text.size())); + if (maxW > 0) { + pango_layout_set_width(layout, maxW * PANGO_SCALE); + pango_layout_set_ellipsize(layout, PANGO_ELLIPSIZE_END); + } else { + pango_layout_set_width(layout, -1); + pango_layout_set_ellipsize(layout, PANGO_ELLIPSIZE_NONE); + } + int tw = 0, th = 0; + pango_layout_get_pixel_size(layout, &tw, &th); + int dy = y + std::max(0, (h - th) / 2); + pango_xft_render_layout(xftDraw, color, layout, x * PANGO_SCALE, + dy * PANGO_SCALE); + return tw; + }; + + auto drawSoftkeyBar = [&](const std::string& leftLabel, + const std::string& centerLabel, + const std::string& rightLabel) { + const int barY = kWinHeight - 26; + XSetForeground(dpy, gc, 0x141414); + XFillRectangle(dpy, pix, gc, 0, barY, kWinWidth, 26); + XSetForeground(dpy, gc, 0x2d2d2d); + XDrawLine(dpy, pix, gc, 0, barY, kWinWidth, barY); + + drawPango(layoutMain, &colBlue, 6, barY, 26, leftLabel); + + pango_layout_set_width(layoutMain, -1); + pango_layout_set_text(layoutMain, centerLabel.c_str(), + static_cast(centerLabel.size())); + int cw = 0, chh = 0; + pango_layout_get_pixel_size(layoutMain, &cw, &chh); + drawPango(layoutMain, &colWhite, (kWinWidth - cw) / 2, barY, 26, + centerLabel); + + pango_layout_set_width(layoutMain, -1); + pango_layout_set_text(layoutMain, rightLabel.c_str(), + static_cast(rightLabel.size())); + int rw = 0, rhh = 0; + pango_layout_get_pixel_size(layoutMain, &rw, &rhh); + drawPango(layoutMain, &colLight, kWinWidth - rw - 6, barY, 26, rightLabel); + }; + + auto drawUI = [&]() { + if (!visible) return; + + XSetForeground(dpy, gc, 0x222222); + XFillRectangle(dpy, pix, gc, 0, 0, kWinWidth, kWinHeight); + + if (mode == ViewMode::Threads) { + XSetForeground(dpy, gc, 0x161616); + XFillRectangle(dpy, pix, gc, 0, 0, kWinWidth, 38); + XSetForeground(dpy, gc, 0x333333); + XDrawLine(dpy, pix, gc, 0, 37, kWinWidth, 37); + + if (searchQuery.empty()) { + drawPango(layoutIcon, &colYellow, 8, 2, 34, kIconSms); + drawPango(layoutMain, &colWhite, 30, 2, 34, "Messages", 145); + std::string cnt = "[" + std::to_string(allThreads.size()) + "]"; + pango_layout_set_width(layoutSmall, -1); + pango_layout_set_text(layoutSmall, cnt.c_str(), + static_cast(cnt.size())); + int cw = 0, chh = 0; + pango_layout_get_pixel_size(layoutSmall, &cw, &chh); + drawPango(layoutSmall, &colMuted, kWinWidth - cw - 8, 2, 34, cnt); + } else { + drawPango(layoutIcon, &colBlue, 8, 2, 34, kIconSearch); + drawPango(layoutMain, &colYellow, 30, 2, 34, searchQuery, 155); + std::string cnt = std::to_string(filteredThreads.size()); + pango_layout_set_width(layoutSmall, -1); + pango_layout_set_text(layoutSmall, cnt.c_str(), + static_cast(cnt.size())); + int cw = 0, chh = 0; + pango_layout_get_pixel_size(layoutSmall, &cw, &chh); + drawPango(layoutSmall, &colMuted, kWinWidth - cw - 8, 2, 34, cnt); + } + + const int listY = 38; + const int rowH = 38; + const int visibleRows = 6; + + if (filteredThreads.empty()) { + drawPango(layoutMain, &colMuted, 16, 110, 24, + searchQuery.empty() ? "No messages yet" : "No matches", 208); + drawPango(layoutSmall, &colBlue, 16, 138, 20, + "Press Left Softkey for New SMS", 208); + } else { + int scroll = 0; + if (selectedThread >= visibleRows) { + scroll = selectedThread - visibleRows + 1; + } + for (int i = 0; i < visibleRows; ++i) { + int idx = scroll + i; + if (idx >= static_cast(filteredThreads.size())) break; + const auto& th = filteredThreads[idx]; + int ry = listY + i * rowH; + bool isSel = (idx == selectedThread); + + if (isSel) { + XSetForeground(dpy, gc, 0x005577); + XFillRectangle(dpy, pix, gc, 0, ry, kWinWidth, rowH - 1); + XSetForeground(dpy, gc, 0x0088bb); + XDrawLine(dpy, pix, gc, 0, ry, kWinWidth, ry); + } else { + XSetForeground(dpy, gc, (i % 2 == 0) ? 0x222222 : 0x1d1d1d); + XFillRectangle(dpy, pix, gc, 0, ry, kWinWidth, rowH - 1); + } + + const char* ic = th.hasDraft + ? kIconEdit + : (th.lastIncoming ? kIconInCall : kIconOutCall); + XftColor* icCol = th.hasDraft + ? &colYellow + : (th.lastIncoming ? &colGreen : &colBlue); + drawPango(layoutIcon, icCol, 6, ry + 1, 20, ic); + + std::string title = + th.contactName.empty() ? th.number : th.contactName; + drawPango(layoutMain, &colWhite, 26, ry + 1, 20, title, 128); + + if (!th.lastDisplayTime.empty()) { + pango_layout_set_width(layoutSmall, -1); + pango_layout_set_text(layoutSmall, th.lastDisplayTime.c_str(), + static_cast(th.lastDisplayTime.size())); + int tw = 0, thh = 0; + pango_layout_get_pixel_size(layoutSmall, &tw, &thh); + drawPango(layoutSmall, isSel ? &colLight : &colMuted, + kWinWidth - tw - 6, ry + 2, 18, th.lastDisplayTime); + } + + drawPango(layoutSmall, isSel ? &colLight : &colMuted, 26, ry + 20, 16, + th.lastPreview, 206); + } + } + + drawSoftkeyBar("Options", + filteredThreads.empty() ? "New SMS" : "Open", + searchQuery.empty() ? "Close" : "Clear"); + + } else if (mode == ViewMode::ThreadView) { + XSetForeground(dpy, gc, 0x161616); + XFillRectangle(dpy, pix, gc, 0, 0, kWinWidth, 36); + XSetForeground(dpy, gc, 0x333333); + XDrawLine(dpy, pix, gc, 0, 35, kWinWidth, 35); + + std::string cname = book.resolveName(activeNumber); + std::string title = cname.empty() ? activeNumber : cname; + drawPango(layoutIcon, &colYellow, 6, 1, 18, kIconSms); + drawPango(layoutMain, &colWhite, 26, 0, 20, title, 160); + std::string sub = cname.empty() + ? (std::to_string(threadMessages.size()) + " msgs") + : activeNumber; + drawPango(layoutSmall, &colMuted, 26, 19, 15, sub, 204); + + if (threadMessages.empty()) { + drawPango(layoutMain, &colMuted, 16, 110, 24, "No messages in thread", + 208); + drawPango(layoutSmall, &colBlue, 16, 138, 20, + "Press OK to write a message", 208); + } else { + // Measure and render message cards from bottom up or around selectedMsg + const int areaTop = 38; + const int areaBot = kWinHeight - 28; + const int areaH = areaBot - areaTop; + + struct CardGeom { + int idx; + int h; + std::string header; + std::string body; + bool incoming; + }; + std::vector cards; + cards.reserve(threadMessages.size()); + + for (size_t i = 0; i < threadMessages.size(); ++i) { + const auto& m = threadMessages[i]; + CardGeom cg; + cg.idx = static_cast(i); + cg.incoming = m.incoming; + cg.header = (m.incoming ? "Recv " : "Sent ") + m.displayTime; + cg.body = m.text; + + pango_layout_set_width(layoutSmall, 204 * PANGO_SCALE); + pango_layout_set_wrap(layoutSmall, PANGO_WRAP_WORD_CHAR); + pango_layout_set_ellipsize(layoutSmall, PANGO_ELLIPSIZE_NONE); + pango_layout_set_text(layoutSmall, cg.body.c_str(), + static_cast(cg.body.size())); + int bw = 0, bh = 0; + pango_layout_get_pixel_size(layoutSmall, &bw, &bh); + cg.h = std::max(38, bh + 22); + cards.push_back(cg); + } + + // Determine visible slice ending at selectedMsg (or covering selectedMsg) + int endIdx = std::clamp(selectedMsg, 0, + static_cast(cards.size()) - 1); + int startIdx = endIdx; + int usedH = cards[endIdx].h; + while (startIdx > 0 && usedH + cards[startIdx - 1].h + 4 <= areaH) { + --startIdx; + usedH += cards[startIdx].h + 4; + } + while (endIdx + 1 < static_cast(cards.size()) && + usedH + cards[endIdx + 1].h + 4 <= areaH) { + ++endIdx; + usedH += cards[endIdx].h + 4; + } + + int curY = areaTop + 2; + for (int i = startIdx; i <= endIdx; ++i) { + const auto& cg = cards[i]; + bool isSel = (cg.idx == selectedMsg); + int cardX = cg.incoming ? 4 : 14; + int cardW = kWinWidth - 18; + int cardH = std::min(cg.h, areaH - 4); + + unsigned long bg = isSel + ? 0x004466 + : (cg.incoming ? 0x262d32 : 0x1f2d38); + XSetForeground(dpy, gc, bg); + XFillRectangle(dpy, pix, gc, cardX, curY, cardW, cardH); + + unsigned long accent = cg.incoming ? 0x2ecc71 : 0x5dade2; + XSetForeground(dpy, gc, isSel ? 0xf4d03f : accent); + if (cg.incoming) { + XFillRectangle(dpy, pix, gc, cardX, curY, 3, cardH); + } else { + XFillRectangle(dpy, pix, gc, cardX + cardW - 3, curY, 3, cardH); + } + + drawPango(layoutSmall, cg.incoming ? &colGreen : &colBlue, + cardX + 8, curY + 2, 14, cg.header, cardW - 14); + + pango_layout_set_width(layoutSmall, (cardW - 14) * PANGO_SCALE); + pango_layout_set_wrap(layoutSmall, PANGO_WRAP_WORD_CHAR); + pango_layout_set_ellipsize(layoutSmall, PANGO_ELLIPSIZE_NONE); + pango_layout_set_text(layoutSmall, cg.body.c_str(), + static_cast(cg.body.size())); + pango_xft_render_layout(xftDraw, &colWhite, layoutSmall, + (cardX + 8) * PANGO_SCALE, + (curY + 18) * PANGO_SCALE); + + curY += cardH + 4; + } + } + + drawSoftkeyBar("Options", "Reply", "Back"); + + } else if (mode == ViewMode::Compose) { + XSetForeground(dpy, gc, 0x161616); + XFillRectangle(dpy, pix, gc, 0, 0, kWinWidth, 32); + XSetForeground(dpy, gc, 0x333333); + XDrawLine(dpy, pix, gc, 0, 31, kWinWidth, 31); + + drawPango(layoutIcon, &colBlue, 6, 0, 30, kIconSend); + drawPango(layoutMain, &colWhite, 26, 0, 30, "Compose", 100); + + const char* modeBadge = "[Abc]"; + if (composeField == 0) { + modeBadge = "[123]"; + } else if (caseMode == TextCaseMode::Upper) { + modeBadge = "[ABC]"; + } else if (caseMode == TextCaseMode::Lower) { + modeBadge = "[abc]"; + } else if (caseMode == TextCaseMode::Num) { + modeBadge = "[123]"; + } + int segs = std::max(1, static_cast(composeText.size() + 159) / 160); + std::string rightHdr = std::string(modeBadge) + " " + + std::to_string(composeText.size()) + "/" + + std::to_string(segs * 160); + pango_layout_set_width(layoutSmall, -1); + pango_layout_set_text(layoutSmall, rightHdr.c_str(), + static_cast(rightHdr.size())); + int rw = 0, rhh = 0; + pango_layout_get_pixel_size(layoutSmall, &rw, &rhh); + drawPango(layoutSmall, &colYellow, kWinWidth - rw - 6, 0, 30, rightHdr); + + // Field 0: Recipient + bool toSel = (composeField == 0); + XSetForeground(dpy, gc, toSel ? 0x004466 : 0x1a1a1a); + XFillRectangle(dpy, pix, gc, 6, 36, kWinWidth - 12, 32); + XSetForeground(dpy, gc, toSel ? 0x0088bb : 0x383838); + XDrawRectangle(dpy, pix, gc, 6, 36, kWinWidth - 13, 31); + + std::string cname = book.resolveName(composeRecipient); + std::string toDisp = "To: " + composeRecipient; + if (toSel) toDisp += "|"; + if (!cname.empty()) { + toDisp += " (" + cname + ")"; + } + drawPango(layoutMain, toSel ? &colWhite : &colLight, 10, 36, 32, toDisp, + kWinWidth - 20); + + // Field 1: Message Body + bool msgSel = (composeField == 1); + XSetForeground(dpy, gc, msgSel ? 0x182630 : 0x181818); + XFillRectangle(dpy, pix, gc, 6, 72, kWinWidth - 12, 156); + XSetForeground(dpy, gc, msgSel ? 0x0088bb : 0x383838); + XDrawRectangle(dpy, pix, gc, 6, 72, kWinWidth - 13, 155); + + std::string bodyDisp = composeText; + if (msgSel) bodyDisp += "|"; + if (bodyDisp.empty()) { + drawPango(layoutSmall, &colMuted, 12, 78, 20, + "Type message (0-9, # case)...", kWinWidth - 24); + } else { + pango_layout_set_width(layoutMain, (kWinWidth - 24) * PANGO_SCALE); + pango_layout_set_wrap(layoutMain, PANGO_WRAP_WORD_CHAR); + pango_layout_set_ellipsize(layoutMain, PANGO_ELLIPSIZE_NONE); + pango_layout_set_text(layoutMain, bodyDisp.c_str(), + static_cast(bodyDisp.size())); + int tw = 0, th = 0; + pango_layout_get_pixel_size(layoutMain, &tw, &th); + int textY = 76; + if (th > 146) { + textY = 76 - (th - 146); + } + XRectangle clipRect {6, 73, static_cast(kWinWidth - 12), + 154}; + XftDrawSetClipRectangles(xftDraw, 0, 0, &clipRect, 1); + pango_xft_render_layout(xftDraw, &colWhite, layoutMain, + 12 * PANGO_SCALE, textY * PANGO_SCALE); + XftDrawSetClip(xftDraw, nullptr); + } + + // Field 2 & 3: Send & Save Draft buttons + bool sendSel = (composeField == 2); + bool draftSel = (composeField == 3); + XSetForeground(dpy, gc, sendSel ? 0x005577 : 0x262626); + XFillRectangle(dpy, pix, gc, 6, 234, 118, 30); + XSetForeground(dpy, gc, sendSel ? 0x0088bb : 0x444444); + XDrawRectangle(dpy, pix, gc, 6, 234, 117, 29); + drawPango(layoutMain, &colGreen, 18, 234, 30, "Send SMS", 100); + + XSetForeground(dpy, gc, draftSel ? 0x005577 : 0x262626); + XFillRectangle(dpy, pix, gc, 130, 234, 104, 30); + XSetForeground(dpy, gc, draftSel ? 0x0088bb : 0x444444); + XDrawRectangle(dpy, pix, gc, 130, 234, 103, 29); + drawPango(layoutMain, &colYellow, 146, 234, 30, "Draft", 84); + + if (composeField == 0) { + drawSoftkeyBar("Contacts", "Next", + composeRecipient.empty() ? "Cancel" : "Clear"); + } else { + drawSoftkeyBar("Send", "Send", + composeText.empty() ? "Cancel" : "Del"); + } + + } else if (mode == ViewMode::PickContact) { + XSetForeground(dpy, gc, 0x161616); + XFillRectangle(dpy, pix, gc, 0, 0, kWinWidth, 34); + drawPango(layoutIcon, &colBlue, 8, 0, 34, kIconBook); + drawPango(layoutMain, &colWhite, 30, 0, 34, "Select Recipient", 200); + + const int listY = 36; + const int rowH = 38; + const int visibleRows = 6; + if (pickerContacts.empty()) { + drawPango(layoutMain, &colMuted, 16, 110, 24, "No saved contacts", 208); + } else { + int scroll = 0; + if (selectedPicker >= visibleRows) { + scroll = selectedPicker - visibleRows + 1; + } + for (int i = 0; i < visibleRows; ++i) { + int idx = scroll + i; + if (idx >= static_cast(pickerContacts.size())) break; + const auto& c = pickerContacts[idx]; + int ry = listY + i * rowH; + bool isSel = (idx == selectedPicker); + XSetForeground(dpy, gc, isSel ? 0x005577 : 0x222222); + XFillRectangle(dpy, pix, gc, 0, ry, kWinWidth, rowH - 1); + drawPango(layoutIcon, c.isRecent ? &colYellow : &colBlue, 6, ry + 1, + 20, c.isRecent ? kIconClock : kIconUser); + drawPango(layoutMain, &colWhite, 28, ry + 1, 20, c.name, 204); + drawPango(layoutSmall, isSel ? &colLight : &colMuted, 28, ry + 20, 16, + c.number, 204); + } + } + drawSoftkeyBar("Select", "Select", "Back"); + + } else if (mode == ViewMode::Options) { + XSetForeground(dpy, gc, 0x161616); + XFillRectangle(dpy, pix, gc, 0, 0, kWinWidth, 34); + drawPango(layoutIcon, &colBlue, 8, 0, 34, kIconList); + drawPango(layoutMain, &colWhite, 30, 0, 34, "Message Options", 200); + + const int listY = 38; + const int rowH = 36; + for (size_t i = 0; i < optionsList.size(); ++i) { + int ry = listY + static_cast(i) * rowH; + bool isSel = (static_cast(i) == selectedOption); + XSetForeground(dpy, gc, isSel ? 0x005577 : 0x222222); + XFillRectangle(dpy, pix, gc, 0, ry, kWinWidth, rowH - 1); + drawPango(layoutIcon, isSel ? &colYellow : &colBlue, 10, ry, rowH, + optionsList[i].icon); + drawPango(layoutMain, &colWhite, 34, ry, rowH, optionsList[i].label, + 198); + } + drawSoftkeyBar("Select", "Select", "Back"); + + } else if (mode == ViewMode::ConfirmDelete) { + XSetForeground(dpy, gc, 0x161616); + XFillRectangle(dpy, pix, gc, 0, 0, kWinWidth, 36); + drawPango(layoutIcon, &colRed, 8, 0, 36, kIconTrash); + drawPango(layoutMain, &colWhite, 30, 0, 36, "Delete Thread?", 200); + + drawPango(layoutMain, &colWhite, 14, 70, 26, activeNumber, 212); + drawPango(layoutSmall, &colMuted, 14, 98, 22, + "All SMS history for this number", 212); + drawPango(layoutSmall, &colMuted, 14, 118, 22, "will be removed.", 212); + + for (int i = 0; i < 2; ++i) { + int ry = 164 + i * 40; + bool isSel = (confirmSelected == i); + XSetForeground(dpy, gc, isSel ? (i == 1 ? 0x922b21 : 0x005577) : 0x2a2a2a); + XFillRectangle(dpy, pix, gc, 16, ry, kWinWidth - 32, 34); + drawPango(layoutMain, &colWhite, 28, ry, 34, + i == 0 ? "No, Keep Thread" : "Yes, Delete Thread", 184); + } + drawSoftkeyBar("Select", "Confirm", "Cancel"); + } + + int64_t tNow = nowMs(); + { + std::lock_guard lk(sendMutex); + if (!statusBanner.empty() && tNow < statusBannerUntilMs) { + XSetForeground(dpy, gc, 0x102535); + XFillRectangle(dpy, pix, gc, 8, kWinHeight - 58, kWinWidth - 16, 28); + XSetForeground(dpy, gc, 0x5dade2); + XDrawRectangle(dpy, pix, gc, 8, kWinHeight - 58, kWinWidth - 17, 27); + drawPango(layoutSmall, &colWhite, 14, kWinHeight - 58, 28, statusBanner, + kWinWidth - 28); + } + } + + XCopyArea(dpy, pix, win, gc, 0, 0, kWinWidth, kWinHeight, 0, 0); + XFlush(dpy); + }; + + auto showWindow = [&](const std::string& argStr) { + closeOtherPlugins("sms"); + reloadAllData(true); + lastTapDigit = -1; + zeroHeld = false; + softkeyPending = 0; + + if (argStr.rfind("send:", 0) == 0) { + openComposeView(argStr.substr(5)); + } else if (argStr.rfind("thread:", 0) == 0) { + openThreadView(argStr.substr(7)); + } else if (!argStr.empty()) { + openThreadView(argStr); + } else { + mode = ViewMode::Threads; + searchQuery.clear(); + updateFilter(); + selectedThread = 0; + } + + writeIntFile(activePidPath, static_cast(::getpid())); + if (!visible) { + visible = true; + XMapRaised(dpy, win); + for (int i = 0; i < 20; ++i) { + if (XGrabKeyboard(dpy, win, True, GrabModeAsync, GrabModeAsync, + CurrentTime) == GrabSuccess) { + break; + } + usleep(2000); + } + } else { + XRaiseWindow(dpy, win); + } + XSetInputFocus(dpy, win, RevertToPointerRoot, CurrentTime); + openStartMs = nowMs(); + startupIgnoreUntilMs = openStartMs + 180; + initialSoftkeysReleased = (querySoftkeysDown(dpy) == 0); + drawUI(); + }; + + auto hideWindow = [&]() { + if (!visible) return; + if (mode == ViewMode::Compose && !composeRecipient.empty()) { + saveSmsDraft(normalizePhone(composeRecipient), composeText); + } + writeSoftkeySuppress(nowMs() + 450); + XUngrabKeyboard(dpy, CurrentTime); + XUnmapWindow(dpy, win); + XFlush(dpy); + visible = false; + ::unlink(activePidPath.c_str()); + }; + + auto commitMultiTapChar = [&](int digit) { + const char* chars = kMultiTapSms[digit]; + int len = static_cast(std::strlen(chars)); + if (len <= 0) return; + + int64_t t = nowMs(); + if (caseMode == TextCaseMode::Num) { + composeText.push_back(static_cast('0' + digit)); + lastTapDigit = -1; + return; + } + + bool sameKey = (lastTapDigit == digit && (t - lastTapMs) <= 850 && + !composeText.empty()); + if (sameKey) { + lastTapCycle = (lastTapCycle + 1) % len; + popUtf8Char(composeText); + } else { + lastTapDigit = digit; + lastTapCycle = 0; + } + lastTapMs = t; + + char ch = chars[lastTapCycle]; + if (std::isalpha(static_cast(ch))) { + if (caseMode == TextCaseMode::Upper) { + ch = static_cast(std::toupper(static_cast(ch))); + } else if (caseMode == TextCaseMode::Title) { + bool startOfWord = composeText.empty() || + composeText.back() == ' ' || + composeText.back() == '\n' || + composeText.back() == '.'; + if (startOfWord) { + ch = static_cast(std::toupper(static_cast(ch))); + } + } + } + composeText.push_back(ch); + }; + + auto executeOption = [&](int optId) { + if (optId == 1) { + openComposeView(""); + } else if (optId == 2 && !filteredThreads.empty()) { + openThreadView(filteredThreads[selectedThread].number); + } else if (optId == 3) { + std::string target = (prevMode == ViewMode::ThreadView) + ? activeNumber + : (!filteredThreads.empty() + ? filteredThreads[selectedThread].number + : ""); + openComposeView(target); + } else if (optId == 4) { + std::string target = (prevMode == ViewMode::ThreadView) + ? activeNumber + : (!filteredThreads.empty() + ? filteredThreads[selectedThread].number + : ""); + if (!target.empty()) { + hideWindow(); + placePhoneCall(target); + } + } else if (optId == 5) { + std::string target = (prevMode == ViewMode::ThreadView) + ? activeNumber + : (!filteredThreads.empty() + ? filteredThreads[selectedThread].number + : ""); + hideWindow(); + if (!target.empty() && book.resolveName(target).empty()) { + sendPluginCommand("contacts", "OPEN new:" + target); + } else { + sendPluginCommand("contacts", "OPEN " + target); + } + } else if (optId == 6) { + activeNumber = (prevMode == ViewMode::ThreadView) + ? activeNumber + : (!filteredThreads.empty() + ? filteredThreads[selectedThread].number + : ""); + if (!activeNumber.empty()) { + confirmSelected = 0; + mode = ViewMode::ConfirmDelete; + } else { + mode = prevMode; + } + } else if (optId == 7 && !threadMessages.empty()) { + std::string body = threadMessages[selectedMsg].text; + openComposeView("", body); + } + }; + + auto handleSoftkeyAction = [&](bool isLeft) { + if (mode == ViewMode::Threads) { + if (isLeft) { + prevMode = ViewMode::Threads; + buildOptions(); + mode = ViewMode::Options; + } else { + if (!searchQuery.empty()) { + popUtf8Char(searchQuery); + updateFilter(); + } else { + hideWindow(); + return; + } + } + } else if (mode == ViewMode::ThreadView) { + if (isLeft) { + prevMode = ViewMode::ThreadView; + buildOptions(); + mode = ViewMode::Options; + } else { + reloadAllData(true); + mode = ViewMode::Threads; + } + } else if (mode == ViewMode::Compose) { + if (isLeft) { + if (composeField == 0) { + pickerContacts = book.buildDialerList(); + selectedPicker = 0; + mode = ViewMode::PickContact; + } else { + startAsyncSendSms(composeRecipient, composeText); + } + } else { + if (composeField == 0 && !composeRecipient.empty()) { + popUtf8Char(composeRecipient); + } else if (composeField == 1 && !composeText.empty()) { + popUtf8Char(composeText); + lastTapDigit = -1; + } else { + if (!composeRecipient.empty()) { + saveSmsDraft(normalizePhone(composeRecipient), composeText); + } + reloadAllData(true); + mode = (prevMode == ViewMode::ThreadView) ? ViewMode::ThreadView + : ViewMode::Threads; + } + } + } else if (mode == ViewMode::PickContact) { + if (isLeft) { + if (!pickerContacts.empty()) { + composeRecipient = pickerContacts[selectedPicker].number; + composeField = 1; + } + mode = ViewMode::Compose; + } else { + mode = ViewMode::Compose; + } + } else if (mode == ViewMode::Options) { + if (isLeft) { + if (!optionsList.empty()) { + executeOption(optionsList[selectedOption].id); + } + } else { + mode = prevMode; + } + } else if (mode == ViewMode::ConfirmDelete) { + if (isLeft) { + if (confirmSelected == 1) { + deleteSmsThread(activeNumber); + reloadAllData(true); + mode = ViewMode::Threads; + } else { + mode = prevMode; + } + } else { + mode = prevMode; + } + } + drawUI(); + }; + + if (!isPreload) { + showWindow(initArg); + } + + int xfd = ConnectionNumber(dpy); + while (gRunning) { + for (const auto& cmd : readFifoLines(fifoFd)) { + if (cmd == "NOP") { + continue; + } else if (cmd == "CLOSE") { + hideWindow(); + } else if (cmd == "OPEN") { + showWindow(""); + } else if (cmd.rfind("OPEN ", 0) == 0) { + showWindow(trimStr(cmd.substr(5))); + } + } + + while (XPending(dpy) > 0) { + XEvent ev; + XNextEvent(dpy, &ev); + if (!visible) continue; + + if (ev.type == Expose && ev.xexpose.count == 0) { + drawUI(); + } else if (ev.type == KeyRelease) { + unsigned int kc = ev.xkey.keycode; + KeySym sym = XLookupKeysym(&ev.xkey, 0); + if (kc == 19 || sym == XK_0 || sym == XK_KP_0) { + zeroHeld = false; + } + } else if (ev.type == KeyPress) { + int64_t tNow = nowMs(); + unsigned int kc = ev.xkey.keycode; + KeySym sym = XLookupKeysym(&ev.xkey, 0); + + bool isLeftSk = + (kc == 135 || sym == XK_Menu || sym == XF86XK_KbdLcdMenu1 || + sym == _EVDEVK(0x246) || sym == XK_F1); + bool isRightSk = + (kc == 166 || sym == XF86XK_Back || sym == XF86XK_KbdLcdMenu2 || + sym == _EVDEVK(0x247) || sym == XK_F2); + + if (!initialSoftkeysReleased) { + if (querySoftkeysDown(dpy) == 0) { + initialSoftkeysReleased = true; + } else if (isLeftSk || isRightSk) { + continue; + } + } + if (tNow < startupIgnoreUntilMs && (isLeftSk || isRightSk)) { + continue; + } + + if (isLeftSk || isRightSk) { + int bit = isLeftSk ? 1 : 2; + softkeyPending |= bit; + if (softkeyPending == 3 || querySoftkeysDown(dpy) == 3) { + softkeyPending = 0; + sendPluginCommand("xdrawer", "TOGGLE"); + continue; + } + softkeyDeadlineMs = tNow + 35; + continue; + } + + if (sym == XK_Escape || kc == 124 || sym == XF86XK_PowerOff) { + hideWindow(); + continue; + } + + bool isCallKey = + (kc == 177 || sym == XF86XK_PickupPhone || sym == XF86XK_Phone || + sym == _EVDEVK(0x1bd) || sym == _EVDEVK(0x0a9)); + if (isCallKey) { + if (mode == ViewMode::Compose) { + startAsyncSendSms(composeRecipient, composeText); + drawUI(); + } else if (mode == ViewMode::ThreadView && !activeNumber.empty()) { + hideWindow(); + placePhoneCall(activeNumber); + } else if (mode == ViewMode::Threads && !filteredThreads.empty()) { + std::string num = filteredThreads[selectedThread].number; + hideWindow(); + placePhoneCall(num); + } + continue; + } + + if (sym == XK_BackSpace || sym == XK_Delete) { + handleSoftkeyAction(false); + continue; + } + + if (mode == ViewMode::Threads) { + if (sym == XK_Up || sym == XK_KP_Up) { + if (!filteredThreads.empty()) { + selectedThread = + (selectedThread - 1 + static_cast(filteredThreads.size())) % + static_cast(filteredThreads.size()); + drawUI(); + } + } else if (sym == XK_Down || sym == XK_KP_Down) { + if (!filteredThreads.empty()) { + selectedThread = + (selectedThread + 1) % static_cast(filteredThreads.size()); + drawUI(); + } + } else if (sym == XK_Return || sym == XK_KP_Enter) { + if (filteredThreads.empty()) { + openComposeView(""); + } else { + openThreadView(filteredThreads[selectedThread].number); + } + drawUI(); + } else { + char d = mapDialKey(sym, kc, ev.xkey.state); + if (d >= '0' && d <= '9') { + searchQuery.push_back(d); + updateFilter(); + drawUI(); + } else if (d == '*') { + openComposeView(""); + drawUI(); + } + } + } else if (mode == ViewMode::ThreadView) { + if (sym == XK_Up || sym == XK_KP_Up) { + if (selectedMsg > 0) { + --selectedMsg; + drawUI(); + } + } else if (sym == XK_Down || sym == XK_KP_Down) { + if (selectedMsg + 1 < static_cast(threadMessages.size())) { + ++selectedMsg; + drawUI(); + } + } else if (sym == XK_Return || sym == XK_KP_Enter) { + openComposeView(activeNumber); + drawUI(); + } + } else if (mode == ViewMode::Compose) { + if (sym == XK_Up || sym == XK_KP_Up) { + lastTapDigit = -1; + composeField = std::max(0, composeField - 1); + drawUI(); + } else if (sym == XK_Down || sym == XK_KP_Down) { + lastTapDigit = -1; + composeField = std::min(3, composeField + 1); + drawUI(); + } else if (sym == XK_Left || sym == XK_KP_Left) { + if (composeField == 3) { + composeField = 2; + drawUI(); + } else { + lastTapDigit = -1; + } + } else if (sym == XK_Right || sym == XK_KP_Right) { + if (composeField == 2) { + composeField = 3; + drawUI(); + } else if (composeField == 0 && composeRecipient.empty()) { + composeRecipient = "+"; + drawUI(); + } else { + lastTapDigit = -1; + } + } else if (sym == XK_Return || sym == XK_KP_Enter) { + if (composeField == 0) { + if (composeRecipient.empty()) { + pickerContacts = book.buildDialerList(); + selectedPicker = 0; + mode = ViewMode::PickContact; + } else { + composeField = 1; + } + } else if (composeField == 1 || composeField == 2) { + startAsyncSendSms(composeRecipient, composeText); + } else if (composeField == 3) { + saveSmsDraft(normalizePhone(composeRecipient), composeText); + statusBanner = "Draft saved"; + statusBannerUntilMs = nowMs() + 1800; + reloadAllData(true); + mode = (prevMode == ViewMode::ThreadView) ? ViewMode::ThreadView + : ViewMode::Threads; + } + drawUI(); + } else { + char d = mapDialKey(sym, kc, ev.xkey.state); + if (composeField == 0) { + if (d == '0') { + zeroHeld = true; + zeroPressMs = tNow; + composeRecipient.push_back('0'); + drawUI(); + } else if ((d >= '1' && d <= '9') || d == '+') { + composeRecipient.push_back(d); + drawUI(); + } + } else if (composeField == 1) { + if (d == '#') { + lastTapDigit = -1; + caseMode = static_cast( + (static_cast(caseMode) + 1) % 4); + drawUI(); + } else if (d == '*') { + commitMultiTapChar(1); + drawUI(); + } else if (d >= '0' && d <= '9') { + commitMultiTapChar(d - '0'); + drawUI(); + } else if (sym == XK_space) { + composeText.push_back(' '); + lastTapDigit = -1; + drawUI(); + } + } + } + } else if (mode == ViewMode::PickContact) { + if (sym == XK_Up || sym == XK_KP_Up) { + if (!pickerContacts.empty()) { + selectedPicker = + (selectedPicker - 1 + static_cast(pickerContacts.size())) % + static_cast(pickerContacts.size()); + drawUI(); + } + } else if (sym == XK_Down || sym == XK_KP_Down) { + if (!pickerContacts.empty()) { + selectedPicker = + (selectedPicker + 1) % static_cast(pickerContacts.size()); + drawUI(); + } + } else if (sym == XK_Return || sym == XK_KP_Enter) { + handleSoftkeyAction(true); + } + } else if (mode == ViewMode::Options) { + if (sym == XK_Up || sym == XK_KP_Up) { + if (!optionsList.empty()) { + selectedOption = + (selectedOption - 1 + static_cast(optionsList.size())) % + static_cast(optionsList.size()); + drawUI(); + } + } else if (sym == XK_Down || sym == XK_KP_Down) { + if (!optionsList.empty()) { + selectedOption = + (selectedOption + 1) % static_cast(optionsList.size()); + drawUI(); + } + } else if (sym == XK_Return || sym == XK_KP_Enter) { + handleSoftkeyAction(true); + } + } else if (mode == ViewMode::ConfirmDelete) { + if (sym == XK_Up || sym == XK_Down || sym == XK_KP_Up || + sym == XK_KP_Down) { + confirmSelected = 1 - confirmSelected; + drawUI(); + } else if (sym == XK_Return || sym == XK_KP_Enter) { + handleSoftkeyAction(true); + } + } + } + } + + int64_t tNow = nowMs(); + if (visible && softkeyPending != 0 && tNow >= softkeyDeadlineMs) { + if (querySoftkeysDown(dpy) == 3) { + softkeyPending = 0; + sendPluginCommand("xdrawer", "TOGGLE"); + } else { + bool isLeft = (softkeyPending == 1); + softkeyPending = 0; + handleSoftkeyAction(isLeft); + } + } + + if (visible && zeroHeld && mode == ViewMode::Compose && composeField == 0 && + (tNow - zeroPressMs) >= 420) { + if (isKeycodeDown(dpy, 19)) { + if (!composeRecipient.empty() && composeRecipient.back() == '0') { + composeRecipient.back() = '+'; + drawUI(); + } + } + zeroHeld = false; + } + + int timeoutMs = -1; + if (visible) { + timeoutMs = 250; + if (softkeyPending != 0) { + timeoutMs = std::min(timeoutMs, + std::max(1, static_cast(softkeyDeadlineMs - tNow))); + } + if (zeroHeld) { + timeoutMs = std::min( + timeoutMs, + std::max(1, static_cast((zeroPressMs + 420) - tNow))); + } + } + + struct pollfd pfds[3]; + int nfds = 0; + pfds[nfds++] = {xfd, POLLIN, 0}; + int fifoIdx = -1; + if (fifoFd >= 0) { + fifoIdx = nfds; + pfds[nfds++] = {fifoFd, POLLIN, 0}; + } + int pipeIdx = -1; + if (notifyPipe[0] >= 0) { + pipeIdx = nfds; + pfds[nfds++] = {notifyPipe[0], POLLIN, 0}; + } + + int pr = ::poll(pfds, nfds, timeoutMs); + if (pr > 0) { + if (fifoIdx >= 0 && (pfds[fifoIdx].revents & POLLIN)) { + for (const auto& cmd : readFifoLines(fifoFd)) { + if (cmd == "CLOSE") { + hideWindow(); + } else if (cmd == "OPEN") { + showWindow(""); + } else if (cmd.rfind("OPEN ", 0) == 0) { + showWindow(trimStr(cmd.substr(5))); + } + } + } + if (pipeIdx >= 0 && (pfds[pipeIdx].revents & POLLIN)) { + char drain[32]; + while (::read(notifyPipe[0], drain, sizeof(drain)) > 0) { + } + std::string sentTo = normalizePhone(composeRecipient); + reloadAllData(true); + if (!sentTo.empty()) { + openThreadView(sentTo); + } + drawUI(); + } + } else if (pr == 0 && visible) { + reloadAllData(false); + } + } + + hideWindow(); + if (fifoFd >= 0) ::close(fifoFd); + if (notifyPipe[0] >= 0) ::close(notifyPipe[0]); + if (notifyPipe[1] >= 0) ::close(notifyPipe[1]); + ::unlink(daemonPidPath.c_str()); + return 0; +} + +int sms_plugin_init(const DwmHostApi* host) { + if (host && host->spawn_plugin) { + host->spawn_plugin("sms", "--preload"); + } + return 0; +} + +} // namespace + +extern "C" __attribute__((visibility("default"))) const DwmPlugin dwm_plugin_entry = { + DWM_PLUGIN_API_VERSION, + "sms", + "Keypad-driven SMS conversation manager and editor integrated with Sxmo", + sms_plugin_init, + nullptr, + nullptr, + nullptr, + nullptr, + runSmsApp +}; diff --git a/src/sxmo-dwm/config.def.h b/src/sxmo-dwm/config.def.h index cd21599..38c3ed6 100644 --- a/src/sxmo-dwm/config.def.h +++ b/src/sxmo-dwm/config.def.h @@ -103,7 +103,7 @@ static Key keys[] = { /* Quick Navigation */ { KeyPress, MODKEY, XK_p, spawn, SHCMD("sxmo_appmenu.sh") }, - { KeyPress, MODKEY, XK_d, spawn, SHCMD("sxmo_files.sh") }, + { KeyPress, MODKEY, XK_d, spawn, SHCMD("xfiles") }, { KeyPress, MODKEY|ShiftMask, XK_Return, spawn, SHCMD("st") }, { KeyPress, MODKEY, XK_b, togglebar, {0} }, { KeyPress, MODKEY, XK_j, focusstack, {.i = +1 } }, diff --git a/src/sxmo-dwm/config.h b/src/sxmo-dwm/config.h index cd21599..38c3ed6 100644 --- a/src/sxmo-dwm/config.h +++ b/src/sxmo-dwm/config.h @@ -103,7 +103,7 @@ static Key keys[] = { /* Quick Navigation */ { KeyPress, MODKEY, XK_p, spawn, SHCMD("sxmo_appmenu.sh") }, - { KeyPress, MODKEY, XK_d, spawn, SHCMD("sxmo_files.sh") }, + { KeyPress, MODKEY, XK_d, spawn, SHCMD("xfiles") }, { KeyPress, MODKEY|ShiftMask, XK_Return, spawn, SHCMD("st") }, { KeyPress, MODKEY, XK_b, togglebar, {0} }, { KeyPress, MODKEY, XK_j, focusstack, {.i = +1 } }, diff --git a/src/xdrawer/xdrawer.cpp b/src/xdrawer/xdrawer.cpp index 5dc6bc6..e4db2b1 100644 --- a/src/xdrawer/xdrawer.cpp +++ b/src/xdrawer/xdrawer.cpp @@ -704,6 +704,9 @@ static int xdrawer_run_main(int argc, char** argv) { closeOtherPlugin("xdialer.pid", "/tmp/dwm_plugin_dialer.fifo"); closeOtherPlugin("xcalllog.pid", "/tmp/dwm_plugin_calllog.fifo"); closeOtherPlugin("xcontacts.pid", "/tmp/dwm_plugin_contacts.fifo"); + closeOtherPlugin("xsms.pid", "/tmp/dwm_plugin_sms.fifo"); + closeOtherPlugin("xfiles.pid", "/tmp/dwm_plugin_files.fifo"); + closeOtherPlugin("xcamera.pid", "/tmp/dwm_plugin_camera.fifo"); openStartMs = nowMs(); startupIgnoreUntilMs = openStartMs + 180; initialKeysReleased = (querySoftkeysDown(dpy) == 0); @@ -795,11 +798,6 @@ static int xdrawer_run_main(int argc, char** argv) { if (ev.xexpose.count == 0) { render(); } - } else if (ev.type == VisibilityNotify) { - if (ev.xvisibility.state != VisibilityUnobscured) { - XRaiseWindow(dpy, win); - XFlush(dpy); - } } else if (ev.type == KeyRelease) { KeySym sym = XLookupKeysym(&ev.xkey, 0); if (sym == XK_Menu || sym == XF86XK_KbdLcdMenu1 ||