From 8a43f17653815cedf66c729ba8a7ea8bada21a35 Mon Sep 17 00:00:00 2001 From: MeowOS Date: Wed, 2 Sep 2026 16:19:40 +0800 Subject: [PATCH] =?UTF-8?q?meow=5Fnetmgrd=20=E6=9C=9F4=EF=BC=9ASDK=20?= =?UTF-8?q?=E8=87=AA=E6=84=BF=E9=80=9A=E9=81=93=20+=20wifi=20forget=20+=20?= =?UTF-8?q?RSSI=20signal=5Fpoll=20+=20AAAA=20=E8=BF=87=E6=BB=A4=20+=20ipta?= =?UTF-8?q?bles=20=E8=AF=84=E4=BC=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit NETMGR_DESIGN.md §7/§13 期4 落地(只动 patch_v2/meow_netmgrd/ + patch_v2/sdk/ 追加式): 1. SDK 自愿通道(§6.3/§4):meow_ui.h 新增 meow_net_policy_check(host)(0=放行 1=block; netmgrd 不在/超时→0 乐观放行)+ meow_net_report(rx,tx)(自愿上报,§4 字节级记账自报通道)。 meow_ipc.h 追加 0xEE MSG_NET_SDK(op=CHECK/REPORT)/ 0xEF RESULT。netmgrd 侧:CHECK 以 app_id→实体 app: 评估 policy_net_blocked||dns_query_domain_denied;REPORT 记入 per-实体 g_ent_bytes(status JSON 新增 entity_bytes)。SDK 实现 meow_net_ipc.c(一次 connect+send+read, 降级不崩);meow_ui.a 重编。 2. wifi forget :wpa_cli remove_network+save_config(MeowOS;HibyOS 只读门控),CLI+IPC 接通 (286 launcher 录入 UI 缺口)。 3. RSSI:wifi_status 在 status 无 signal= 时回退 wpa_cli signal_poll(真机 rssi=-38,修面板 rssi=null 缺口)。 4. DNS AAAA 过滤:global dns.filter_aaaa=0|1(默认 0 透传;纯 IPv4 设备可置 1 让 AAAA 查询回空答案回落 A)。 5. 静态 iptables 评估(devdocs/plan/NETMGR_IPTABLES_EVAL.md,本机不入库):iptables-legacy 1.8.9 交叉 编译成功(~578KB,含 owner/cgroup/REDIRECT 等全部 extension),但内核实测 matches 仅 quota/icmp/udp/tcp、targets 仅 NFQUEUE/NFLOG/ERROR、无 nat 表、全部进程 UID 0 → **per-app 管控 与 REDIRECT 透明代理判不可行**(与 NETWORK_HW_FACTS 一致);正路为 per-app UID 框架改造(单独立项)。 验证:宿主 test_netmgrd.sh 70/70 + qemu 70/70;test_netmgrd_p2/p3/p5 宿主全过 + 交叉 0 warning; netmgrd_authtest 全过;sdk meow_net_ipc 交叉 0 warning。真机(固件 netmgrd 共存,独立 socket+DNS off): wifi status rssi=-38(signal_poll)、wifi forget 0(DISABLED 安全移除,id1 CURRENT 保留、wifi 未断)、 SDK policy check(CHECK_GOOD=0/CHECK_BLOCK=1/REPORT ok)、policy show 正常;resolv.conf 未触碰、 固件 meow_netmgrd(pid) running 未动;测试产物全清。 新 md5:meow_netmgrd 20243ea1a800b29badefebb395603aaf;meow_ui.a be24214e24faadba63577f3a98c2c9d1 (主会话更 fw_content.conf / 热更设备 / 记录新 meow_ui.a)。 --- patch_v2/meow_launcherd/meow_ipc.h | 30 +++++ patch_v2/meow_netmgrd/meow_netmgrd | Bin 183868 -> 187404 bytes patch_v2/meow_netmgrd/meow_netmgrd.c | 131 ++++++++++++++++++-- patch_v2/meow_netmgrd/meow_netmgrd_host | Bin 82080 -> 82288 bytes patch_v2/meow_netmgrd/netmgrd_authtest | Bin 150136 -> 150280 bytes patch_v2/meow_netmgrd/test_netmgrd.sh | 58 ++++++++- patch_v2/meow_netmgrd/test_netmgrd_p2 | Bin 148248 -> 148408 bytes patch_v2/meow_netmgrd/test_netmgrd_p2.c | 2 +- patch_v2/meow_netmgrd/test_netmgrd_p3 | Bin 147936 -> 148056 bytes patch_v2/meow_netmgrd/test_netmgrd_p5 | Bin 0 -> 148032 bytes patch_v2/meow_netmgrd/test_netmgrd_p5.c | 110 +++++++++++++++++ patch_v2/sdk/build_sdk.sh | 2 +- patch_v2/sdk/include/meow_ui_net.h | 33 +++++ patch_v2/sdk/meow_net_ipc.c | 157 ++++++++++++++++++++++++ patch_v2/sdk/meow_net_ipc.h | 28 +++++ patch_v2/sdk/meow_ui.h | 1 + patch_v2/sdk/test_net_ipc.c | 27 ++++ 17 files changed, 563 insertions(+), 16 deletions(-) create mode 100755 patch_v2/meow_netmgrd/test_netmgrd_p5 create mode 100644 patch_v2/meow_netmgrd/test_netmgrd_p5.c create mode 100644 patch_v2/sdk/include/meow_ui_net.h create mode 100644 patch_v2/sdk/meow_net_ipc.c create mode 100644 patch_v2/sdk/meow_net_ipc.h create mode 100644 patch_v2/sdk/test_net_ipc.c diff --git a/patch_v2/meow_launcherd/meow_ipc.h b/patch_v2/meow_launcherd/meow_ipc.h index 1003901..46d392d 100644 --- a/patch_v2/meow_launcherd/meow_ipc.h +++ b/patch_v2/meow_launcherd/meow_ipc.h @@ -633,4 +633,34 @@ typedef struct m_net_policy_result { char text[MEOW_IPC_MAX - 8]; } m_net_policy_result_t; +/* ---- 期 4:SDK 网络自愿通道(NETMGR_DESIGN §6.3/§4;0xEE/0xEF)---- + * 一、meow_net_policy_check(host):框架 App 联网前自查 host 是否被 netmgrd 策略放行—— + * 服务端以调用方 app_id(msg.app_id)→ 实体 app:,评估 policy_net_blocked(entity) + * || dns_query_domain_denied(entity, host),放行=allow 1 / 拒绝=block 0;netmgrd 不在 → SDK 侧放行。 + * 二、meow_net_report(rx,tx):App 自愿上报本进程收发字节数(内核无 per-socket/per-uid 计数, + * §4 诚实声明的「字节级记账走 SDK 自报」);netmgrd 记入 per-实体统计(status JSON entity_bytes)。 + * 读级/上报任意调用者(自愿自报,无副作用;block 判定由服务端策略引擎权威执行)。 + * (0x00EE 曾留作「事件推送 订阅制」,期 4 起改作 SDK 通道;事件推送期 2 从未实装。) */ +enum { /* 与主 enum 分列,追加式不改既有行 */ + MSG_NET_SDK = 0x00EE, /* ↑ op=0 策略检查 / op=1 字节上报 */ + MSG_NET_SDK_RESULT = 0x00EF /* ↓ code + (CHECK)allow + 状态文本 */ +}; +enum { NET_SDK_CHECK = 0, NET_SDK_REPORT = 1 }; + +typedef struct m_net_sdk { + uint32_t op; /* NET_SDK_CHECK / NET_SDK_REPORT */ + char app_id[MEOW_APP_ID_MAX]; /* 调用方 application(SDK 用 env MEOW_LOG_APP;CLI/测试可任意) */ + char host[64]; /* CHECK:待查域名 */ + uint32_t rx; /* REPORT:本进程累计 RX 字节 */ + uint32_t tx; /* REPORT:本进程累计 TX 字节 */ +} m_net_sdk_t; /* 4+32+64+4+4 = 108 B */ + +typedef struct m_net_sdk_result { + uint32_t code; /* MEOW_OK / MEOW_ERR_* */ + int32_t allow; /* CHECK:1=allow 0=block(block 由服务端策略引擎判定) */ + uint16_t text_len; + uint16_t pad; + char text[MEOW_IPC_MAX - 12]; +} m_net_sdk_result_t; + #endif /* MEOW_IPC_H */ diff --git a/patch_v2/meow_netmgrd/meow_netmgrd b/patch_v2/meow_netmgrd/meow_netmgrd index 08fd43aead5face899bcb690c12c211d5d4e695c..acedf09e66b80663cf6845737b3378772aa9b0b8 100755 GIT binary patch delta 67455 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

t0;T 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 delta 63641 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。 */ + if (!w->has_rssi) { + snprintf(cmd, sizeof cmd, "PATH=/bin:/sbin:/usr/bin:/usr/sbin %s signal_poll 2>/dev/null", g_wpa_cli); + char sbuf[256]; + if (run_cmd(sbuf, sizeof sbuf, RUNCMD_TMO_MS, cmd) > 0) { + char *s = strstr(sbuf, "RSSI="); + if (s) { w->rssi = atoi(s + 5); w->has_rssi = 1; } + } + } } /* ---------------- 蓝牙:hciconfig/bluetoothctl 包装 ---------------- */ @@ -896,8 +908,17 @@ static void build_status_json(char *out, size_t cap) if (g_net_rate_rx < 0) jadd(&w, "null,"); else jadd(&w, "%ld,", g_net_rate_rx); jadd(&w, "\"tx_bps\":"); - if (g_net_rate_tx < 0) jadd(&w, "null}}"); - else jadd(&w, "%ld}}", g_net_rate_tx); + if (g_net_rate_tx < 0) jadd(&w, "null},"); /* rate object 闭合 + 逗号(tx_bps 为 rate 末字段) */ + else jadd(&w, "%ld},", g_net_rate_tx); + + /* 期4:SDK 自愿上报的 per-实体字节统计(§4 字节级记账自报通道);空则 []。 */ + jadd(&w, "\"entity_bytes\":["); + for (int i = 0; i < g_ent_bytes_n; i++) { + if (i) jadd(&w, ","); + jadd(&w, "{\"entity\":\"%s\",\"rx\":%u,\"tx\":%u}", g_ent_bytes[i].entity, + g_ent_bytes[i].rx, g_ent_bytes[i].tx); + } + jadd(&w, "]}"); } /* 单/全接口详情 JSON。name 空=全部(数组);否则单对象。返回 MEOW_OK / MEOW_ERR_NOENT。 */ @@ -975,6 +996,7 @@ typedef struct { static rule_t g_rules[RULE_ENT_MAX]; static int g_rule_n = 0; static char g_policy_log_level[8] = "info"; /* global log_level= */ +static int g_dns_filter_aaaa = 0; /* global dns.filter_aaaa=:0=透传 AAAA(默认),1=过滤(纯 IPv4 设备弱化 IPv6 优先) */ /* ---- 期3 防自锁清单(NETMGR_DESIGN §14 红线):这些实体拒绝/强制置 allow,防断网变砖。 ---- */ static int _is_selflock_by_name(const char *name) @@ -1185,7 +1207,11 @@ static void rules_load(void) *sp = 0; char *entity = p, *rest = sp + 1; if (strcmp(entity, "global") == 0) { - /* global log_level= */ + /* global log_level= dns.filter_aaaa=0|1 + * 注意:log_level 解析会在 rest 中部写 NUL 截断,故 dns.filter_aaaa 必须先解析。 */ + char *fa = strstr(rest, "dns.filter_aaaa="); + if (fa) { char *v = fa + 16; while (*v==' '||*v=='\t') v++; + g_dns_filter_aaaa = atoi(v) ? 1 : 0; } char *lv = strstr(rest, "log_level="); if (lv) { char *v = lv + 10; while (*v==' '||*v=='\t'||*v=='"') v++; char *e2 = v; while (*e2 && *e2!=' ' && *e2!='\t' && *e2!='\n') e2++; *e2=0; @@ -1294,7 +1320,8 @@ static void policy_persist_entity(const char *entity) } /* 追加本实体当前态 */ if (strcmp(entity, "global") == 0) { - int l = snprintf(out + o, sizeof out - o, "global log_level=%s\n", g_policy_log_level); + int l = snprintf(out + o, sizeof out - o, "global log_level=%s dns.filter_aaaa=%d\n", + g_policy_log_level, g_dns_filter_aaaa); if (l > 0 && o + (size_t)l < sizeof out) o += (size_t)l; } else { rule_t *r = policy_find(entity); @@ -1684,7 +1711,7 @@ static void dns_proxy_stop(void) svc_log("dns proxy off"); } -static int dns_parse_query(const uint8_t *q, int qlen, char *domain, int domcap, int *qend) +static int dns_parse_query(const uint8_t *q, int qlen, char *domain, int domcap, int *qend, int *qtype) { if (qlen < 12) return -1; if (q[2] & 0x80) return -1; /* 不是 query 位 */ @@ -1703,6 +1730,7 @@ static int dns_parse_query(const uint8_t *q, int qlen, char *domain, int domcap, } if (off + 4 > qlen) return -1; domain[di] = 0; + if (qtype) *qtype = (q[off] << 8) | q[off + 1]; /* QTYPE:1=A 28=AAAA */ off += 4; /* qtype+qclass */ *qend = off; return di > 0 ? 0 : -1; @@ -1711,7 +1739,7 @@ static int dns_build_nxdomain(const uint8_t *q, int qlen, uint8_t *out, int outc { int qend = 0; char dom[DNS_QNAME_MAX]; - if (dns_parse_query(q, qlen, dom, sizeof dom, &qend) != 0) return -1; + if (dns_parse_query(q, qlen, dom, sizeof dom, &qend, NULL) != 0) return -1; int qsec = qend - 12; if (12 + qsec > outcap) return -1; memcpy(out, q, 12); @@ -1783,8 +1811,8 @@ static void dns_handle_packet(void) if (n < 12) return; g_dns_q++; char dom[DNS_QNAME_MAX]; - int qend = 0; - if (dns_parse_query(q, (int)n, dom, sizeof dom, &qend) != 0 || !dom[0]) return; + int qend = 0, qtype = 0; + if (dns_parse_query(q, (int)n, dom, sizeof dom, &qend, &qtype) != 0 || !dom[0]) return; const char *entity = dns_entity_for_port((uint16_t)ntohs(from.sin_port)); /* 域名规则:deny → NXDOMAIN + 日志 */ if (dns_query_domain_denied(entity, dom)) { @@ -1795,6 +1823,21 @@ static void dns_handle_packet(void) if (rl > 0) sendto(g_dns_fd, resp, (size_t)rl, 0, (struct sockaddr *)&from, fl); return; } + /* 期4 AAAA 过滤(dns.filter_aaaa=1,纯 IPv4 设备弱化 IPv6 优先):回「无 AAAA」空应答 → 客户端回落 A。 */ + if (g_dns_filter_aaaa && qtype == 28) { + int qsec = qend - 12; + if (qsec > 0 && 12 + qsec <= (int)sizeof q) { + uint8_t resp[1536]; + memcpy(resp, q, 12); + resp[2] = 0x81; resp[3] = 0x80; /* QR|RD|RA, rcode=0 */ + resp[4] = 0; resp[5] = 1; /* qdcount=1 */ + resp[6] = 0; resp[7] = 0; resp[8] = 0; resp[9] = 0; resp[10] = 0; resp[11] = 0; + memcpy(resp + 12, q + 12, (size_t)qsec); + sendto(g_dns_fd, resp, (size_t)(12 + qsec), 0, (struct sockaddr *)&from, fl); + net_log("info", "dns", "aaaa filtered entity=%s domain=%s", entity, dom); + } + return; + } /* 只记新域名首见(全量 debug 级,防日志爆炸) */ int cached = dns_cache_lookup_name(dom); if (cached != 0) { g_dns_first++; net_log("info", "dns", "first entity=%s domain=%s", entity, dom); } @@ -2257,6 +2300,22 @@ static void wifi_ctl_execute(const char *cmd, const char *arg, ctl_result_t *r) ctl_sets(r, n >= 0 ? MEOW_OK : MEOW_ERR_NODEV, "wifi disconnect: 已下发"); } else if (!strcmp(cmd, "on") || !strcmp(cmd, "off")) { wifi_onoff(cmd, r); + } else if (!strcmp(cmd, "forget")) { + int nid = arg ? atoi(arg) : -1; + if (nid < 0) { ctl_sets(r, MEOW_ERR_INVAL, "wifi forget 需 "); return; } + char cmd2[192]; + snprintf(cmd2, sizeof cmd2, "PATH=/bin:/sbin:/usr/bin:/usr/sbin %s remove_network %d 2>/dev/null", + g_wpa_cli, nid); + char buf[128]; + int n = run_cmd(buf, sizeof buf, RUNCMD_TMO_MS, cmd2); + /* 期4:移除后持久化(MeowOS 模式;HibyOS 只读由服务端门控)。 */ + if (g_mode_meow) { + snprintf(cmd2, sizeof cmd2, "PATH=/bin:/sbin:/usr/bin:/usr/sbin %s save_config 2>/dev/null", g_wpa_cli); + run_cmd(buf, sizeof buf, RUNCMD_TMO_MS, cmd2); + } + char msg[64]; + snprintf(msg, sizeof msg, "wifi forget: network_id=%d 已移除%s", nid, g_mode_meow ? "+save_config" : ""); + ctl_sets(r, n >= 0 ? MEOW_OK : MEOW_ERR_NODEV, msg); } else if (!strcmp(cmd, "rfkill")) { rfkill_ctl(arg, r); } else if (!strcmp(cmd, "udhcpc")) { @@ -2576,7 +2635,57 @@ static void handle_conn(int c) send_frame(c, MSG_NET_POLICY_RESULT, req_id, &res, (uint32_t)(8 + tl + 1)); continue; } - send_err(c, req_id, MEOW_ERR_INVAL, "unknown type (期1 STATUS/IFACE/WIFI_CTL/BT_CTL; 期2 CONNS/DNS_CTL; 期3 POLICY)"); + if (type == MSG_NET_SDK) { + m_net_sdk_t q; + memset(&q, 0, sizeof q); + if (rlen > sizeof q) rlen = sizeof q; + memcpy(&q, payload, rlen); + m_net_sdk_result_t res; + memset(&res, 0, sizeof res); + char ent[48]; + snprintf(ent, sizeof ent, "app:%s", q.app_id[0] ? q.app_id : "unknown"); + if (q.op == NET_SDK_CHECK) { + int blocked = policy_net_blocked(ent) || dns_query_domain_denied(ent, q.host); + res.allow = blocked ? 0 : 1; + net_log("info", "sdk", "check app=%s host=%s -> %s", q.app_id, q.host, blocked ? "block" : "allow"); + snprintf(res.text, sizeof res.text, "sdk check app=%s host=%s %s\n", q.app_id, q.host, + blocked ? "block" : "allow"); + res.code = MEOW_OK; + } else if (q.op == NET_SDK_REPORT) { + /* 自愿字节上报 → per-实体统计(§4 字节级记账自报)。 */ + for (int i = 0; i < g_ent_bytes_n; i++) + if (strcmp(g_ent_bytes[i].entity, ent) == 0) { + g_ent_bytes[i].rx += q.rx; g_ent_bytes[i].tx += q.tx; + res.code = MEOW_OK; + snprintf(res.text, sizeof res.text, "sdk report app=%s rx=%u tx=%u (累计 %u/%u)\n", + q.app_id, q.rx, q.tx, g_ent_bytes[i].rx, g_ent_bytes[i].tx); + goto sdk_send; + } + if (g_ent_bytes_n < ENTITY_MAX) { + snprintf(g_ent_bytes[g_ent_bytes_n].entity, sizeof g_ent_bytes[g_ent_bytes_n].entity, "%s", ent); + g_ent_bytes[g_ent_bytes_n].rx = q.rx; + g_ent_bytes[g_ent_bytes_n].tx = q.tx; + g_ent_bytes_n++; + res.code = MEOW_OK; + snprintf(res.text, sizeof res.text, "sdk report app=%s rx=%u tx=%u\n", q.app_id, q.rx, q.tx); + } else { + res.code = MEOW_ERR_NOMEM; + snprintf(res.text, sizeof res.text, "sdk report: entity 槽满\n"); + } + } else { + res.code = MEOW_ERR_INVAL; + snprintf(res.text, sizeof res.text, "sdk: 未知 op\n"); + } + sdk_send: + { + size_t tl = strlen(res.text); + if (tl > sizeof res.text - 1) tl = sizeof res.text - 1; + res.text_len = (uint16_t)tl; + send_frame(c, MSG_NET_SDK_RESULT, req_id, &res, (uint32_t)(12 + tl + 1)); + } + continue; + } + send_err(c, req_id, MEOW_ERR_INVAL, "unknown type (期1-4: STATUS/IFACE/WIFI_CTL/BT_CTL/CONNS/DNS/POLICY/SDK)"); break; } } @@ -3070,6 +3179,10 @@ static int cli_run(int n, char **v) if (!arg2) { fprintf(stderr, "connect 需 [,psk]\n"); return 1; } return cli_cmd_result(MSG_NET_WIFI_CTL, "connect", arg2); } + if (!strcmp(arg, "forget")) { + if (!arg2) { fprintf(stderr, "forget 需 \n"); return 1; } + return cli_cmd_result(MSG_NET_WIFI_CTL, "forget", arg2); + } return cli_cmd_result(MSG_NET_WIFI_CTL, arg, NULL); } if (!strcmp(cmd, "bt")) { diff --git a/patch_v2/meow_netmgrd/meow_netmgrd_host b/patch_v2/meow_netmgrd/meow_netmgrd_host index d0e4d39e90dd6aa01290853f26de862fa7ad58f0..a585b336dfda37aeb15f63183eee2db535133ddb 100755 GIT binary patch delta 30763 zcmajI4SWE(K4KFHsLEaKT=l`vl*$CYIo+lq;&s0}e zRaaM6S6BCh`kH|DRRMKbQakVSrx5ccrv8{O@vnwRZ;B}CsVJtyelLYf%Cs!=X{a}s zZ^;_`EpbkIKBn;1rDJ;CHtX1l=Ef(!@3<$y^WhSz*WQXdRP?fpv~ ze*7l*@K3aQ&rR?%I{ulP;1_jx`%Q2~gGaNDn<_$lqC8@hJx}k~@nHD|xw`9c&rR?& z9e(B}c&rX@zX_hB!#i$*#~)PL?TnAS7G`W)5&g5ok_H05-ES zmE2)})xH4!qNq+YC$IpG97NdVue=t(pH?f)5nYwr{gpW;z8saQi6kCL!kARM!CyPu z#OJ6@n^Lr<367R^{>n`zejioZ%~4%_c*0-VX5zOiinE@vMu}Mqr!$u4WvtoUVeEun z>R3V`zx99Bx9jy4fxP5@)nCx-HwE$`dcFMy2G?|ieStjpe-SvV*S81q-v6uqj9#A= z#8XkfFy9SYOk#~c37(!1vOQ4i!iW&@U3yCR(E#@n42wIBeR}NK5D}U&A?Ov%FG_oW~IFvaHJ&^D`{D7|l9Mk5HbCdb=Dm$11b@aRydV(VeX~F&0Dk#MTng zgR^ZRVt>XMc}Kbk>6Idnj^CNx>uE`DC=oj|^MXJ&&SmRw6937}(O)V}BE5H(xw#BP z7&Gw_Xuc}J#H*NNgAK46Ir<~pM3b1)duY(6Ox`3%*PayBy`x1_@4%VOQ-HDOAmfF5 z!}yfiKpxK=5@s@o>hYXKc7_)q={5-5}#z%XEa-yO#D{^=59+*E- zBE?uvn1tw)5!6gbmJZX-{e7AxW3weDaHr^-hbLQBp!g_fWl;MCw6;u*-Ff>hl~T9n zyU_OCd4c@c{efa{zaD5|4HRGZ>k-s^ep2ZU%bGx;^veNsS)j-=B)of7Z{XCE_#Y~v- z4&xp}jMipq5N{(`x%4}1b`bxLVBw>8cnpy-E)oj_8h%}IaJyx3kVx)tO=z&R2XRGV zJBD0^@xp8f!D0*+i~4678;(r~7MuGgBs7q&ED6Ef3@iuJu`+_iC;j8da!&W3Y;3U2 z4i;qtitw;LSganf4-eMBon-?z$?(Qa!NQkUhX)oSmgXq1GT@j!jnRNF zQWVgQ&L&-w9-9o)jzzu7B)GPNPA6#8Lm5jjhZbRe z5#D#e%K_d6Lt=Jky0sIXQU$$uuML8TD@#N2y;^%^d?xFljI^)ns zi(+7%<3wy>VR9%|Fh|QG6XQeC;6I>QS^nNeuOZR(hIptjD~J|blcOa`yi(X#nlJud zxZ55O)KvJoq6`TLvM!&cD0v|eA`8C(_+C1e!yq|o{L3hJczyyr0pxMVom_#rwoDFf#}sqLr^v`hP73s zc1qRVP|kYj!GhC9#z)T1D)<0xN~FL!XF($%fJKg#fdSeD0XRw63sfjhFDh*;5Lbx;n8A2QIY(~W%1{t_-;_T2i{H! zaI}mPpBD8X09#;E0Y##-C{Nfj%6x%IhNd6kffVPn_$s%i@XQ zQ|xPi4ja$&fwhe0em1{dg0-Y&aUa+c+|R9p;09~qd5{He9{hR(;n>D^!+W%gg17&u zIMJ?cS1@5ODfz9yCt4O#CB{^WU~Vhg!DGZVu!vA@slzXpCjzp(Fy2QzQcMsBss?nFQO&A(c~p5 z$R9#mjo@5J@Ky|g_nk0xKF8_vd4xzTO&&#kv+N7wZxRLaveDMgJUn;6A)$5kZI}bT zP-`a!vd(riOr6{w$dw8lFG_fy?0;SpkCkTkvHeWU&XE*Y;5S&VX_8c4P#ReTDnBGH2~Uo1(34lif3%e@~;=g z8@3etedxf&>olhsZ-UFF&aXI^6y#`W0yoUt#+~qhx?Q+P>V;?v{i#wP0uJc>u0M=` zUutrW9*pOoNotf(Og61Z6=xMuRyM#wcpj`U5AoadgY!}lD?J7rE8sTt z8jh*uTTMt;54?K=t(}BVu6+UEn*v$&bVaGCM@RkmEr2gVgtlIet!>4UL;NJOquhE) z$#R;nDX_)_*F8Y`9Qw!d1v6CQF?KG5fpxToSa*hrLn9usgae039YeBE($d*PQ!m=; zcHrF;Z*@N*?iiVFuh!qz8(2O$hA;6>rRoDl$MQnF(@I~@I);=2{wd*OPCZB^sLi4h z)T&VWV1T4o8ZX<_aBf){&W$7y-r4MM{=o&{c6XFFpu8LS=cBFS{K&|}7x7#O+A@nB zNVF+3sKM{^qUWgikXY0OcZ-;7jb0fsCG1J4IR5``Fz@_|>*fAzGSgle? zbc^DrMCaJs2dSKjqIi0DYiIoREv=67f9oy7Fc38R;q}Tdr$vhu;}WGo;>B^jB`*Fp zu5Wq@+Ig-i`DWBV3yZ}DrEV&IFM`vGzeMs)dm}~Yc#HI?xMh4_S-v2qj2~ouy`ygjwhJgW4lh7MbX?4 z0cEB$z5_U|D9JOCkAF~?Kc^e3Xu@K|F5C*brJdM}!xu|GlBw7|p{(LRXh`7~HGB=g zL&OY@9Li~^io?na=jAAeCBk{tp^n_2rb_Gq*2VA{5^@=Udk`S0ZTk7!z`Y`%AP?S! zzb{5z0A0X08<{=7GKKM{@nS(w9Zz-d(*wlGGgitNXDt6D6uDUww0ym1^^yZY9h^&x z6Ybd*CBG^gj3G1$EXj@*M-<~TQAf-xQD+$+!!ao+c2`HsA={bzT{s@cDyy4aR`M_F zswH)*rg0*M`=YF!lh8<2?N(X!SdqGFAGxS#Mg_R#^H?rH$R=8NVi+$+8-J&^Km(H@ z1VW~|g!C9*xHN_z0ZcI*3g_bN(ge{|Y!uta7f9oTcYJghRHk+ob0mAIkZ$W+IvWre zKub1CG73*1>$HLzI~&Uf0Ct%iSwP2-i&(~5105|iZFU1r!2qUD_Eho6ZSnRO06{B# zQIB;E#klRx_VFK~BwrqNav3@$cv9RC7vhmG-7d9Vc}lq{ni<>6>g z4!FKk8A7n*$-&hKwJT(VK9$)c-Cjcozlyph?2g$Pm@s819&V>*PyTwLQaRF#CBr|AO zC~(!BS~@1884C^?)iH5f4usZ2t&U{X-7+gV^ua2wAyKlmr83F~`LRF!>Aco(O*M}w|CTROPvV&;X6s#{-AvpG_?~*o* z(8gwHquVcH!yTFSD3GUV=L0IuVUHo%MbXZ2G#`pSv{q>W3H3$k&N^EGzXozmAXhnL zjJxS)CBJg#2)BdEk}+;8$``?=M#6&R!M-!ArhI3()s4O99hD~YM!SLiX!(g2$z+$D zRWn|7x931~XE<|Lp(AEu3UiQ<#_||?xQL-Skma|ohVn4nj#NZO*j6wTO zYRij*(T7R{tKD!;w3Oc}BeRh_sbEICWoA6zh87gynL8DAcpTAiPspYH0=Pp>RYbeq zhPLXF%1DD0Gzuh*s+wi-+%h+Tv$YAl4xY#ifAHwAV0UFnu=`y|oiE;<^nkJ5wkbiR zR#=jXL2^@TI_<*C=OOMVOR9%fl8%Te6}bZ-V_#s@e^~04!_ZYsJB(vw{f8L(iSow6 z{;V?`W9&_*m8FNP{+xKP;+C{7flk5?w_$yz>1b<8;FgF)&M<2Ri{Lv`rOBetol9@~ zupPsXnbCv}#G1*pteyKmmfTIS!$w;mzZ+xjc?aVi&pN3t1@chb=fI@d`*Eq;UV_vv zO&HXril6RGkPZsdT?6eGK-UNUt!OJDvUMQSxR-bV_OjN~?8;S)I}mghnpj>5f>Kgs zI({k5Rh5y*t0HPPw8mRI$xPou+e7dOZD?OLF`i3Erh9yWSdm$~ZA2p9hI;Q-11Fd) zJCe#3C45IUe7>6&DpU}0%bG-Gq8bnWLw+CZ+FEdKZ-7yCH8I)=6In4Y8(ia zk{DIUXXV}i$PL#7TVILbrOH%}yOCVRLt zK*ZxKD{O+geLe%Hp;4zX;(%Cja`K8K7chKiU4L0=Y^8ppl^6M&ZSCT*dou0M{s;TH zIfVs_khpBZSiFKUWjKQ=h36%GZhm-B!8zclX)+UQ^!P$}>Poi5lOC#;G)a0iCUGj0 zvFlOhOAr(}F1=Upfqgw~ZmI(KNvOCD3#QK?aZ(p>MCz2V$mc;HUcZ{sM_xnejuJ6^ zO775|fO?QbW9m*N+O?bBePat@)ktn=R_H+(MIq02)YZds)tU6Mcw@>ysfYM-%Cy87 zV*jJob05WA&=I+~$HX1?-Wt1)NW!^|#10I8GMiQin|S-)_%sPMlfegiuyT`8%j1rVe6yEl``^V0r`{gGL*K z_5OsEZa``+gOo%74X;))o&=kw-ROaz#ghBeVv0zlt4iY)bdE(i$`7Hl;;sA5cYXpw zWO;`%Kh1NB_RzBKF(kP#am$NPR~f~YV|&+GiXCqT5$Vu~5NujJE7*m0l_usUe1F@1 z!ZIy7why%)h_uKc1k#voRGT5jOv{xWKa0nv4eqrI>lhq&Be?^FM|4EMR{?1)iKHGh z#JFaOe^1M}r6Wnr_J4>9AUB)ws~*YBwD4HS^y`WP+X=?@SvdNeSvfqJ4j;7G3=Vl9 z+G&nC)&-qEQJERO93UF#E!d6j`dPeFnJMr4Nqki~R6g*Nh?_n^e&r|e!1RUEGV$f~ zWJ@n#|GL7qgP5G3RJMZ!W$=slj@WUzueDQIE%9g(JEOP!^-rRB#=w40{RAz^9fPsF zA{Mo}f5SU@C}d}{RVl}3@biduDB@Fo60goE4juy3$`2%WlsGvfEAnhQm)WWfDsE6O z{^@yDhFQ!#_m(%1D;q1eg!5 z1#Z1rVl^$sqvPCF4KdtyxK{{Vc+5vla!hTB$e)>)urHH;2Zz%iEotLOu`k8F6GhF; zn7I_(;7r!DmGKNhKuM15aXedL+1Pa!ZW)e<4R8iMTu-0~IFx%}a>o#w!bi_))0@;u zjvT>K_6p$8NYe96AoI1R}2B5_u#R4xiR1jVJM^W=& z`~!ucLE66l%#PBPY4}Zs_Uduokji4_jK^7A7w&auc7#iKTXBX#RHqxFKe7Y=EbvJd zoY(Ou&WfQA7KS%doef!M!kY{3gH6r0wRDJG^I*F0JQyLLIV*m7aEb+Cd~?TEIPlNl z8z^kwZBoN_Mrqn1%I0a5V8$0iuXuMWXHB{y?On@k)4(Wz15st{lb7wbuJ+eOu`YD zQpVi0l(ixf!G1m&%SVEXvQ$P$?+C)VR+-gpmlLXUg2XQm^|L?zqnbLcegtx~!IQ7Y zoH#ke>YjnTkaufOZotSn4wkxC052QzpGUagg!qzzM|QZ>U5~83rv&bM0jn+zU=5%6*&V4zJF?l4ExwGaG0+EfDsAu8U!H5Bm@aWf=of3UlG)4zjADj-dt4(V$M%G#Mp5)dGeXD?#+heIddT67Ss{hE^=*I+`MdLCmDcwSwLr(S0RV1{j#v(cl=ArVVhC>oNqZNB+T!jJUP8wX=k= zA8UVADv&UZoKhxnI_wnU@j1Oq&jJ&xT6U@tDZ9%`Mdb&j?zSol3gh8&6I=l>cG8Rq zcvL6Pgmc1Zd*%f7LH?Jo6es7ThBu&=g1*%L?A+TIMAY1DX|otUx9^=-VI|nRxGB}? z?Tb-l(wt{uv6Y!DaDoRZz6&#rjDsDqIerEX3pZb5)z5Ti6`RH1 z=B9%FH*cZiI*%QVBUlY7}S95E!fLQ?M8PmRI(69xep-$4H%_2)WlYdd1G5Lj{XqTzV(CR zJc*DLcr9(o4)>ZEw((^vbHB8fEq977^Wqa{p;Hvo1;BFY+z)4W2r2@yH;Yf_B}&7@ zkMnLHk?d-ty(z-(lex@&6*Su@SWdU%-RiEy=FSXR$o3`hK_+hFWbn8<13@*0f~b3< z#S`=Uq%}M6Y=-P_LCu)QW4T6NuHIT#%*$)6_ zK{m!$GP)BPPVx1^F!}WN;)jLV13VxZjeV}a8F_Rw$g$7+@ZqSVl!6x-AHbR!L>w(f zE}GwSJ!&+;k(vk8Qw0GHj+R!q{d>fxi{b+&0mCYOTGXRkWi~fJE^@G=MeO2qS$r>s zF3wI`2MkK_ug5trRjQphlg*EPFP>O@zx=}Y;@icUQlR$VmplAtK(hB1l{;{=OtHCa3RzDQKYx zTbe%d-)Q1R513(9i>Jz58;6*j7ARE@NBZ)MsKfrh_oQx3Q7%OPLWK=qc-b2w|y z;YH%nrF}z!sn<~W#xugTG$}C)uU`063zPU+D3WBs6`;s|;+v%o_1L!zdc&X(5)Uow zAM^4p|0Q6EczaoD{yYdkDk??$H}OpIwpEXE2o8JaQfMf@3eQ6;p@L!PDWv78(kx+F z9ur*DkDnT1?fmeJC|;g8o%+#SwI__*8cVn>V)X_x!vje9s{LJXi+ZQX066lPnhuWk z8ho3*Kxmk({3!oFRXL(JmIrqOh^V%6P;jxr)CXga^Q}WWU z@=>sA#LxtVqsT(4QZN zJN6v17Gmt0E$a>Z!fJ^lP^?zRk%CY{~yTTmsd4Jw{R+v@}lF#%P!&dgP z|AcO~!h^vyT&t0>=rY=f0sK!O-HITUU&buRk(sAvyB@{4D6gb9CZB%fum=2X;5J=$o=}%SaEt~N5n#^0>vWUK;uv zR=O^E8VB%qAuGCe?n1iEJCRIOa|>!A_wx7D)Z7pnjf~anPTtbDfUCT6b5A*4C^kY`aF;+idHjC7(_lB9QW{~`b%XJn zusWC@`*Sd-6ez`q#78?0Npu;z;Q|K&Uh7FkeDTCBeKNtbbs3d68-(d)Ih?0Xt9l^&y?g=0 zq<3-6o)EI>6#B50@q?#CiepKXsuSGSdKdNYUb?k&+bQveV^YBEeE!@i@tY&bcrWlp z#HxhSKVWhbwyJ=M7QPY{STFOsV7T$P6tE`v)GpY%e7=xiSXW;akJc0gZO`YG062tH z6D^L`^a_HjoCrX@3h1_~Ptd-6UebjzaaAuPVzpecd{qzQ(R^MdURgCPtcyJItg*to zsz;1tFhA8LAC`*o1w2?pt{xFkS->x!6jN5G%L@vGef7WqV)f z#Z61&P=2lp7b4-zbqjERR}WxyxT8f})y|(-6CKe&^X9;@Wd1y%YQh+EhVe>O(3~fO z15xMb;V2hPju4+C9RKHU*O9$c#0TkQ&kO0vn28a? zxe-JcL!)`%z5YGqm;OH()cYBL5XHPVi~@2sGsTln-76Ie?^Ef>^94MeF7*_Bo`&CV z6Jwu#K(1*M?>wE>^NbIfPb|ea9KyykI(rQw?bO+M1<18!|0vD@|Cu%swf0&2`(TIE zQ@+n|dmrjA^)tcnWQ%Q+fnTgDs7*AiZt?6!=w4M=8wlJaysPKrRYPlAQync|ff0G$ z+l;JY|HBBw(Vh}|mSzKAg%BwdZ5%kpc)|1}f{lT-J5f6Ed#P$rEixGK(w!S=EVzAP47*O=_SxO#)U zWejm&3bu4Dq^m0H5Q$MLC6VXl;(oHX`aP zMK6>Rj4p;I1nGvSAQWS(T7qGj9(&LZPgS4VuP~W{potK`V1b3!bai`OXInR%U#`lk zl{&_{VHI^O244?gP4-r0*V+(Uc#~lvCAbl*j%5T6Qo+~*NiW?>Cj{}XjuLBUFk)h_ z9QToV_L2fm3_}d&Xeoz~)P@pgmc?4TOSiJlPtlgl^Iiy0h;;0dGObRfzb%me6ZKxu zq?zmikI8ETc_Onr%4d91>Mk+JbH+vCdM))9#2|5l)T|NMi-y?o@p}+0l8`FF6M<^9 z(;AIjh6by%AiDXHn3R>OJtjs-2dTZbA;O|wQ(Fx`h`$cpR{Nyu2p|NCLa0dyt&>c| zsLq1$CyZc+O5Kj`EU$Hcsk@7aHHfd*dqsk)g4G9c>K%20=&U2*eKNm|(vg1Q&jj(O zsNG&9hiGgN2X;y7-H-cEkah;7rSYOTu#2HFm{T0oYM>J_RTFg<#6Bkh^ZBf9>ah)B zk1wQSFbS{X;L7_PVg}V~+NGTdI(9r1g3^s>5UL^sWZ^qk2l8t`q(haf=!LSBxtAb6 zMi+4yEH?pTrW(_xVD3pp50_fq-{IyIZq!z&L>mAHy=&0MRcPQg(A`58Uxs}azQd_& zg%;3`=y~W!oY_%{`{JJ7NG8K@0^eNK(xbgEjvac}dQz>OZD>%5jmmdvNO%RpcL8=9 zuzP^Z436@`^L=^K1N9r9fb(H<1{WN|#^f%{l0?KX)LS)3(}yBk*8&ZXR)++jU9Y6@ zlvGrRq!1w-v&sBk5b9F%+#sF=9GZe%uw}tK7BET@#1TWJh_3H_IO<57q)GS!mlwiQ zJ%o%bM6^a)vXh#O*CA5o!Q0!~nK+(8$VAscOu1V07>9TH0qC&-s;q)4+feuSg|Bav z3Mih&Z7rx7*Z;W>hm|LXASI6zy8S_{b0XS$u??g{6~aqFxZ}fF1GPt6`|pj{2lJ7H zjLnWpkgk6L8BV48C(11XJ_hv%kSaV#`ARUN-9HIL#7Y-P8%Z$L2%GSo0&WERh0DE( z?ym?9i0&hjT_ZdQ2t zQmq6nSP;ZFKyVsP(h3bH1ypy#c#r)Y%#&e!X}G?85Lfq;@u8G%D7f#c+rk#TvENV# zu8tp8MPia3ZR@iFc2Zcy_)FK}+S6gA@bQFCvxJPy@5I&tkJ_rUWN`>zi+7q8cDcE% zGcB-V7geYTYlC==PBZ}sej(I``$A~Wsz$U7IPw=|ovi`awLKc7M&{IWVoq(BDqW6+NB3Lc+bR|!6B7y)1lfWOaO zs9W#ta9wJ@Hnbs0KzbCz2DKWZNA;npo8ZF{-F3L1fL_UJRvmyiNrpjtt9sR@iB(Co zo+$R19eeEPy<(5uk%J!4>h&B}JX&H+w8WM{g;klgu+&12VPv5hwvqs?kaiNVx+NW& zwx`69G$#~}X)ug42~NmJ?W!_rB{IZ`dE7(8009+rq?;}n(V&jNqTB6pAaogOC!(@{ zB}9g=OWpX^fO@OCOc1(?sUxXOEVa?P+GV^WLz&%Hl~y|)YNsK1?FLQ$ZrnejJ=uq@ z$w_dLzpME^UBc_V;MXAJg}UfyV?P*D!loXftU(nby;k*l*Y$GzDKSuF+f`Hf{C871 z48F9y&@w|EzX}-&V0Kra25mBedjvM#l*H(()04GQZhf1)D3-MI%Jg9IiI{ ze)yZprVFh~;ADtB1Vti`1)lI_F+Ibj_ z)iiPkK8)DYO+BiRDJl?w{5cT!`AXgD9Kt&d;1&#I3OcGf_J-m744%oVNC5g2OYuo= zMFbY!3W1Y7xN%KkhJ^D0})p&e@u~amnmxc@wgbG9(z}%UVp2y(oCD591l&<-sJ;N=9pFqL2g975Hw+B?O87vt@TAVui@rfRb_;rwZxy{D?E zR{E``d?fNZv{aCK-@=iXis$IgEs`Uu0;=|p$-@{E^93dEB-H3vHQ|!_ZRTE@${{u# zDZTuYVt2lDy*}|7+xK8>h8pXEL_$&Hc=XTEF{0C!5CMG+sZGFpBKmYc35jhXZ3jun z9@hy;XOOCp36cB@@Q4OJ>9Q4DJ$*j~efESxKTqaIL8vL66b~pi*&#Cj;cd z?^@Mz1$#0&Iifi$qb?lrc=s8rS|ZSnwpj%8V$40*1bDEmGNImzC9x8_9aZ*ykyuI{ zQKWQ%KKMXO4`2xt2zQd1{uQ8XYG4~TWTeTqx^3;lAu96 z3ddFiy9u4Qs)gEK#TJ%iB%Z5b47P|U-j4ohiA!8XgvtCFZGDhKZI3$!z_mkx2A3@; zTD5}N5HJV~X_84e+V)`ABUB>H6$~Q`!Ju8mPRWCv4?ca3@}z3ZGaYPD+$rO$oTXQl zA%zgk0Ku+SrPl_a4er=wcVN9pCo9FoAR!s(*-qHw!Ngqq0hsIqQxkwBX)D$Wijr1A zVroPLsG+}ywzCP`eN*q20@p#oEVgO&SYN1J$`dq7#pOq|N3h+FWn0qzM4Ra3GXmF+Y5MU+)(TBj&+I1vha1p%lI}yHN zusxpWquM?vtw0TYA+wBo_4ko)PeptJ*?s_yI=3fT-SNzc^-~)`hL~4v4>>49+1eZH zmDcB$`_P6?Rp{M^k(`Bhx{BSz@I?yfQh#B(_9)xYXnqWxBfDw?!bvbBo9h~lq8L7w zgoHA5;^je5Xdvc^2ip&7M_Cyfm6M2Th%hPEwjfqr3yIdyo7#8a=!b5xwi)a=Ueyho z5N-8wJQv861W}zSh+T$JTaG029e^V%s5+h~au&MtQ60~PWSH8(T5=-fd{T%Z9Ek_c zhb-U(7?NP5McWx9{ooZX4V#l-BJnP#I<#@FM5xvBj|l!e8binJxbBi&Di9LFt3L}E z-Fusi1g`_$4;OT+X&Aimo0Ax}o0RdfLO6m)KnOFK;f_lkyCCs3mH3TtY@k(*yojoL zB+qOWJ-PkDw{TNv&`RzJ?(YP8P6)Qfo~o3`@!qwZtsll`lNJzGG{NhgLt7X=eJ3H+8uCn*m`73I8z`OM7X4N+nE$Qr9t)cpp8nFT?J zIWZ-C8)hj@$gL4}YiA=GQI4w15n{Zm!Q6qF>A0rksZ23rX>S8fG^=)jy>KQp;lLtG zeoKY`9q?PE6$-STM|euiB*e1)2@mO1mGOEr-vc^y)tiRaZpVE(vg&9cnPI^+{`B4* z@0w~^p4xDkh134E5JN<#BSidtEURXWIgX>MDb=J76C9`oV-BI)Y24{96MYR&SEsr( zb;81zqSMr2`x+2c8DypLC$I0}g(ChlkSe>geDboi6kUav)q0rhx*I*D-jT2!z%yZ~ z@xrkNu3yy>1jk4;JK*6VNAVkSHb z)+^gv={%gYNgY6hPu?$u+F^;v0uA-X3flZZ{X#Xtm5g@N0|uq@7rzznzZz!`qz?S5 zvrxq}j4h=C3Do!)lV`dL4JRX~_NZtM@1-XYh`1 zXt)zy0gx#P^sgWoB>B`n9?9Slieityj4=D9t}q+E0=_8)%qYx`Mwoq24YT3Y0KWvM z_%w*p^BgF{tcTfE2<YeEjUEHyhR{X0`6hg+R0Br-u=_CHDeU$l?2f#q_Mq9epoD*q-hdEhC;ryQbz%2V zbf6xSgre?v%xbTptdP97FZ%92CD7t2|t?i3=n-~#8I$N@U33+R{1F}g?2%Ik^15Pf2OiZ1TXBjuNkLc`9w8+dT#se># zCzIRjz=T}4nn%}j=(Ki>M_Mx#Q=Hs^7bmI=#8^f!--lcbO?_HR0Bfi91b+dC6Rt{h zt%M5%+7ZPaP`N5Fh6>+;=CvXECT$ZQso!=s%kB@onLCy9M{ z3ndH`d)$t1PteC)5DswC!ov_~Hk>CeM0S$k3}0THDZr)05KPxZZ*Mi+q%f31P^h+< z!7e-qx;zMQSkpK+R6J)6_74bv%5w#OEqd@Vu%Jx47ZC{E+aE=G!L>*VsRGe&v%%`7 zWGS6un*-^DJIS@^v}k!Py@-;2O#a9`#9BzRs0}Sz1KEyKz#t{~K+TrZM_mGcI*H+@>1N~}eF)}B9xC^NA^M=y7Ij;M|Z>j?TezuqU@K3;#P9xPe6J_Pj?Dj!XHOcfvB~&^Bd+!~2$n!8KJ4%>LGZ^>e+^;IRg@)VtlDI-@SzL`u+*OoIHFW)^X-4*?@wnh+M2&7&}eu*;7O%MNY-vv1+VBKL%t@y6ZuwthVIOo*ExacJ)ZALGic8yW74mdws5_yzC& z4$=0`GBcMq0*^KhYJw;H#sp6x>PkM7)Rdr>;OT`4ALpV;{@T}wj><~mxXFcS6We|Z z8Y~ZDYPM$uX15hX<$*BjP@T!;ub`e1KBPrT_z>I&BBVuHRcwcGxkyj=L_njJ5E3at zH__MthT4c}Q*63EV)hOt9!Zwwq;&XCD*{GDCBHLWKY*_UQ)1FJbR!1dFm#vT1L%-khG4w>1CjSy+JeCqQ!ta;HWDG?7cv&v-nl<7T60oNm_{t zxTPp^)LYT03ZK2u6@C)Hc48p!AdM(Bm=p=Fx6vyqt4N)2Uc?;3l|Kbnf)SQCQ_6XY zFH{YckKxl8%E&vq<1h^F?^&dp)zl)~lo#QY+zXzcqDnQhsx$E+exnaQEiCaP#u97! z*W%mlX?9xE&jVG49Fids=bVWjO~*UrF8?FsuEc^uIQtL;Gi3h{;aMF?;H&*uoX3|! zW`gUAZMK;QYoGo>ZkiLXK(Wt&7STBl+7xjk7C#_Gdwj zC=o?1VAQ^^oCx^w7VM~@cGA>Qyp!|wVB1xR4-3tZm_9BfE=|bk(f4sTNR=?;cd4+f zJ^-owIMgFmdZi|+#WryW&j;~$$QDAesEhktIkRv}<`KOQb?5_)5fxiS1}@q;V-kweEc zVVF_cND46H`mGX1k<3KVj$#F{aK z_(~WoCF#|SzZRZ1tJ33^5$@>4fDZo5Rbh7?2tw*7c8DB?e=YjGRc!ZycM=pxJ?n*@ z>Ah;EHnyo?MCC0oze|iZ*qv_7}HSacZTE` z|BQDpW;AsIJ`R7+F;mSh(Wyiy_Av&wngZPh+AC;(ea7x+c?69-@K^P;=Aq(M1dI&N z2VT&QIp5JYJ`l7#0gV%qaVzDtM9#Fq%uM`C;3XIw8|b8w7}H0vq$TQ@%`uc)&JNXt zfd*GXgW5;38m`AaP&LBln%`<#Y}bbJu@HvR=N`b7FX2ehD`OsuRO5g0z@HhGw_TzO z_l|Ok80dQdFU$fSxq)F`tdLp53?I_psPBOzvduUIdJBGQvm#X=#it!BP{(jZp5_p3 zIqftdNLt5yvpNg1ApqMy&Mo8b2DJUD)UEdD%~H4jQ(((nnd}!|o)z(o7*ih-oCIe3 zLsg-Z(Ed}^%w!yaVNVM?coDExj6XR!5@3oQpA~EL?e3ExPE4lEXDVUpxoyEPPJ~CL zj_UIiGll+%1%{4FHT5AzGKjgsz~(_47|{_tt2VT)h}ZkqFVLt5-d|7$4;!V{wevjw+}=(_X&0m4&X{=|gE0NIMD9U? z@!$Hh70PYFGyal8I}L=zlgK~Dy9LiOe(}LY_5)yV#`kgSQ8IiV7lo4Y+G+sPQOtv| zJ)yQ+5UYyjw-e;xufz{;r`W53M^;!%_*?0l&RF%YO058W`m0ip>h#XzU5&nhtI{ke z;b*XT5dHezlxO78}>PRXu#Ijqh4wj>so3jGcz=bU?=F`!b zF3q6l?JSR}`R6kb2wx=CF>4$@A+zZ0uF5SRd~CBKclPrMe04& zoUE!8-~2&)bhVExmGmFL!$}AJRY|+WcFjuXjVbO#eE|lXhR50(SJ(5cg+@o%~ejWQYc%@+Aa>=+>a`#QP0N_B(ZV_b)6Yq$=tK{Z+X)A-NeJ ztwXqWg4mZy&8sVmr>BF^h`g%)cHalOe_-n6}sp!)o zs8YKXf($=A%_)5K);12|z?b6vzYYjgSFIB##ihSy%e}u8Y46+;t%7{`zNZa|)|0rO zc;KX%@lLk9?znjFoq^#$BExVV7v!Q19lQVXt@!wzDfWx#6d8Y|oQAtsbddvB-|lAa z6%;V9${;6DSt4$4v?Mt}34W(jy4_mHmQ7#g=$JN`-OhO8aq(KC{Z`;Okj16X`$rxZUo~cr{Tb-$=^c!s6(0N`-Vq$0djxk& zyf~GRaglM_95eE}Nv`f_?xPG5{)U0441ehu-Us?<@nMYCd?6;hJImT`!zOq?a}3{q zjlI3Un`8LNWaEy%fhLm6iiW5{iDXN6`Am8`8E(Wo-9mkLx0$gjso)QZyu2ch^K?;hkl#)}A;7q1|m002KHTXZ^LmLJ4ui5OkE{A;&rd0 zUpQylLonrD*{f#Hs+wb-zF@)dUW?4L=Pz1JmDqhOHUE~pq2@^yr4@Hh${jPRv}|PV-D5_LnO0UY zKG#;E7G<|jm@p}K1b!#pK7LHuJ-L%cjN2LW#a|8fIA#z2PO=9tlI_7Y0rueDCVTJ$ zf%f2!QJ%v0*{p9^M08wYkJPkYOiDHk!ylnmJ^0#Tieg0W`ADgv90n}QrYOfzPDXha z<$9D@OxYQfSt#34T2ZnxTmwWIgL1Y3ncplttOUS{vJU04k%~e|r*@P^B+m0jfdI;F zC?}(gxK&XcD373QKv_9jQ9ei6gwlv9oiIjGa!|g7vI1q%Sm2|~8mB1RP#VWWP?Tnr zXDRc)9S;%s^WQ5cD9S{Xj@uPw4a&t673D3I>rrCIz}iusMS1iNMTrRnqjE(lK-mN3 zc$6zqER-kOGQIz#4_dErGP&%GdlpgrANGqR54^eKfLl03JUr>~NDEkZS6Hqpw zOy~}N>y>GW6%TFeAvwyIU&0unT=p_FLGQ0X)e%q`GDDM5HouCYK{@wz^e7TG^M;~~ zMj7!ZMOlV2uNjO`9{EO5D(PT^iFx0o6kjXGUq`05(!dn7W;ysBT>_;M3_k?3;&&!s zMJVYf1HTlhtSb>8ev@h6gDMP3*AF#WkKgTp(=+{0xgEdT0E;02eh7wi+JC{Cbr|;1 z>JPDP!!OY*!1Q6I;gx^v_G+l@#h{l0M+q_i+dguAso3!CK)J0{eEe;iY_y4AzU?QE zu!*$qG6U9PdhHQgzKazzzKfG1%EV*erO9i`#H-)+lN-y#$KPejZDryTiismciYHrc z93jSf(&UvR#XQfzxC~4#>_OBYGyYFAHD{FA1&q2;;ww+FoH1G?c?ZfDMvDpFOu1={ zSmI5g;w2Q<#)w@2HjEYDdeh>LW5QuRsy}A@zaB3~#)`OB$UIIAZS5y-8YdpcThlo4 zTx+HrF<$Iy9cU+ouf)8Zi|JU2XK29uN8_son~>K_YHH&MLc8*JKx z$Gl16V_!cL`G?sRLT($Hl!Gb1;BHJTwY6qoR>0QWE$(V7Hm$+q%ag^1wtgWafUys+ z$ES#plf|P*4kK*Mct5OGGX=GSBW~zmS-2zU6U5eZ z3y<5X#n979rqOuZS1qQT&JJFN$EoCrgau#r*Po6tZ3pD&Lh;_|p&@7Rn6Q`}y7=vM zx_N*UUODR9Z+@34T$LvWzU%lhML8l$&t&xU{WlV+V*!w+I>f3o{Y=~Nm{B8kof&94 zfyabZ;%7i3;MuIJMcViMOe64EutwbVeVS=59_!YKC-Ar)kL_#38+hD@$Hh;IkG~&m z>cHdKr$opPLrn$nee2eWu|H&+X5(??GvcuyicN3fanm2f`#)p`lXDya=eSAy^n)-h zhCWBE7f=0|X4-_u_Vwb=KV~N!#be!zaIk$Kv_AVshdZjp#51uy3q$@(0c151@R1AN z7injULnh;OGG15q5f7i8KqJP?_-zEJ@}r#x&mJ?1Jy#+IHn&m@V_)i}|6jZD|LZmv zb-1FJ_{VClTp1F=?6nWLBS2X|iymR^$VGY@DDuK&M* zg|n6a6W*OI(+S*&AHlLtT@TTo4fw`@UHV_}D7NQ{I&F7%?so6 zCS3Rre3IHZB}`fZbvRqXq*3yM1G|&Lr6&ybN)?SU;wl4uF->Cpc+~$h7A0$N z`ddKsqdFjzX*ztH4iCaR{S4LNZw=Gl{Z8mE9o|r+!PjVoonc?1GR_;WLE3aePwVgm zs|KH~s)e!Fbhx8bgO4_7)R!q?GEAQ6c_rZnJ&lDZr<9_XZz0P=v4sV#I!8-sa{_JH` zs0P}c>ft1ezR7vFLXGo(g5{3{09TOUsY+n zUa?N&%OsYP~`CPl~egTI=h;`e`8dq0A;hkp71u6E!QIMGj{R^&NLW2AWdP`z14 zwFbVX6>OvqzpzjP8!PO;!%-QdU z#{0Ai|NncSfjV-}=tE4w4t}!y@Q1*Oe)O*8>I~l6>5Ph#ilw2>JL07H#4;5<9?2Qa zg6q{bjNR_6q3Wr6b+e>Z>onOc=U=J1TCYB?S3C69E1h1depavUkhRwS>X)36@u=Rc zS0@;6tlsV{rRv>!bwR+5y!Sh+sk%k49-&v)>%6~nZlUV$_3D`>t+l`Uyz^63+ZDZf z8zr3a$c>^t<~#?iL|iyit0Qizu60@xQBD8K71>F` zP1P>v9aR0EUcD*wM&d`DHB|k%UcF7P&eFT#bN&_8_KSLT^G&TKxEEsj`Au+qlBL3r z>u`qPk$z}zP58%SG%5Uw=%K?sI@~`>eKfe8ow=z&p5CDSrUpeiyyGVP(K?*P-q`&L z9d6X&O{$oT-KWD3t8nL^lcbR8b9C5|n`kW7;YV+R#oefcElw#J zL-A+5`nX=LPgu6cIe@Au?LaE@=u44bg`Yd8qgrZpE>DInol&vkS#$7>JpSW60Iac{ zdbR%_BJ>jpzyr++|35_NhsWq}|35_Nho=NN(|Sn#2BfR?G3?!3+4>?PFqThAS zd+2SG^BEA9C!TV;dPwz1a`o%ha@kY2RR=l%+iWJo6+D&zTSGyR&ZiX|b zHw?q_nJ%TDRfbOaD<@AuwGY({cQ|g2fiF1^q(JO$&O1`ki4?7X%ci&ST5+FN%-4z< zt$0Bz{-PF6t655rTAW_AO0=PKW(*-I_4=Qmosnh`y{0vccW$A#ep*qi76IkhnWc$H zIa->l!B=X<^IEZ0EB0!|QLQ-X9AE*V%k-9zfSp$aY_sEac-`xM0-blHL9}?a8lveg z%8&7;^V3Wzen1MUqvSAl^S&bE|Df7mr7GF9qCzWXYQ-|G5SozBXm6XfV!2i{XhoA& ze5MtrossG2PN%=Fl-@#}pHk6ND{fJXL@V?h@jvu@n{z-0M)Xk)`5CP!)9Agfz3tJ8 zBWe+FoCZwQ`e`T603V~1xF*J8V;L#Ov!I&>GEJ)%*q!kmiqEaiCXvI@n@v>I9)FN>|sFR9rHmHv@tgp4=XD9CsiGrMW zWT6PriXK`~pcP}a;y$N^P^z@IC0emoD}uG+6}8yikR_d#vT@q-P}TBjIBu9WWA6N_ zIkRRm9A8YUestEt<3yj?QMm4$#(8h9G$*tRY1%yJp4=uUec3ffwobNdEFIr!-v3jr4EI z{pE3IDZn9Jd-6-W9~&kP9>eS@?5Xfe3US!$Jrz&+ux HtoQ!|A+dRG delta 28325 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 Y`t_(!Qw`k|TX2yyMAF&D7D;{nKOm^m`2YX_ diff --git a/patch_v2/meow_netmgrd/netmgrd_authtest b/patch_v2/meow_netmgrd/netmgrd_authtest index 7e0530cb4227ad183ad11fc7b0fc39e32cc7cfe0..f58cc61761232e49a8fe967132d6fdcca0966093 100755 GIT binary patch delta 47831 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ì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 delta 44332 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 diff --git a/patch_v2/meow_netmgrd/test_netmgrd.sh b/patch_v2/meow_netmgrd/test_netmgrd.sh index 3e6ba5d..96c32be 100755 --- a/patch_v2/meow_netmgrd/test_netmgrd.sh +++ b/patch_v2/meow_netmgrd/test_netmgrd.sh @@ -252,11 +252,56 @@ ck T16e "permission denied" "$OUT" OUT=$(env $ENVS $Q "$T/meow_net" policy del app:dev.player.ncm 2>&1) ck T16f "permission denied" "$OUT" +# ---- T17: SDK 自愿通道 end-to-end(meow_net_policy_check/report 对守护 A)---- +SDK_BIN="$T/test_net_ipc" +if [ -n "$Q" ]; then + "$HOME/Project/R3ProII/.tools/zig-mipsel-cc" -Os -Wall -Wextra -I../sdk -I../sdk/include -I../meow_launcherd \ + ../sdk/test_net_ipc.c ../sdk/meow_net_ipc.c -o "$SDK_BIN" 2>/dev/null +else + cc -Os -Wall -Wextra -I../sdk -I../sdk/include -I../meow_launcherd \ + ../sdk/test_net_ipc.c ../sdk/meow_net_ipc.c -o "$SDK_BIN" 2>/dev/null +fi +if [ -x "$SDK_BIN" ]; then + OUT=$(env MEOW_LOG_APP=dev.player.ncm MEOW_NET_SOCK="$T/net.sock" $Q "$SDK_BIN" 2>&1) + ck T17a "CHECK_GOOD=0" "$OUT" # music.163.com 放行 + ck T17b "CHECK_BLOCK=1" "$OUT" # ads.example.com 被策略 deny → block + ck T17c "REPORT_DONE" "$OUT" +else + FAIL=$((FAIL+1)); echo "FAIL T17 SDK test 构建失败" +fi + +# ---- T18: SDK report → status JSON entity_bytes 回读 ---- +JOUT2=$(python3 - "$T/net.sock" <<'PYEOF' +import socket,struct,sys,json +s=socket.socket(socket.AF_UNIX,socket.SOCK_STREAM); s.connect(sys.argv[1]); s.settimeout(2) +def recvn(n): + d=b"" + while len(d)=0(signal_poll 桩已给)---- +OUT=$(env $ENVS $Q "$T/meow_net" status 2>&1) +ck T18d "rssi=-45" "$OUT" + # ---- T14: DNS 代理 wire 实测(守护 B:高端口 + 桩上游 + 全局 deny;测 deny/forward/cache)---- HOSTIP=$(hostname -I 2>/dev/null | awk '{print $1}') [ -n "$HOSTIP" ] || HOSTIP="127.0.0.1" cat > "$T/policy_dns" <<'EOF' -global domain=-ads.example.com +global domain=-ads.example.com dns.filter_aaaa=1 EOF printf 'nameserver %s\n' "$HOSTIP" > "$T/resolv_dns" cat > "$T/dns_test.py" <<'PYEOF' @@ -279,17 +324,18 @@ def serve(): except Exception: pass threading.Thread(target=serve, daemon=True).start() -def query(name): +def query(name, qtype=1): s=socket.socket(socket.AF_INET, socket.SOCK_DGRAM); s.settimeout(3) hdr=b'\x12\x34'+b'\x01\x00'+b'\x00\x01\x00\x00\x00\x00\x00\x00' - q=b''.join(bytes([len(l)])+l.encode() for l in name.split('.'))+b'\x00'+b'\x00\x01\x00\x01' + q=b''.join(bytes([len(l)])+l.encode() for l in name.split('.'))+b'\x00'+struct.pack('>HH',qtype,1) s.sendto(hdr+q, ("127.0.0.1", 5300)) r,_=s.recvfrom(1536); rco=r[3]&0xf; an=struct.unpack('>H',r[6:8])[0] return rco,an try: d1,a1 = query("ads.example.com") # deny → NXDOMAIN (rcode 3) d2,a2 = query("music.163.com") # allow → forward → A 11.22.33.44 - sys.stdout.write("DENY_RCODE=%d\nALLOW_AN=%d\n" % (d1, a2)) + da,aa = query("music.163.com", 28) # AAAA + dns.filter_aaaa=1 → 空应答(回落 A) + sys.stdout.write("DENY_RCODE=%d\nALLOW_AN=%d\nAAAA_RCODE=%d AAAA_AN=%d\n" % (d1, a2, da, aa)) except Exception as e: sys.stdout.write("ERR=%s\n" % e) PYEOF @@ -306,8 +352,10 @@ ck T14a "enabled=1 upstream=$HOSTIP" "$OUT" WIRE=$(python3 "$T/dns_test.py" 2>&1) ck T14b "DENY_RCODE=3" "$WIRE" ck T14c "ALLOW_AN=1" "$WIRE" +ck T14c2 "AAAA_RCODE=0" "$WIRE" # 期4 AAAA 过滤:rcode 0 +ck T14c3 "AAAA_AN=0" "$WIRE" # 且 0 条应答(回落 A) OUT=$(env $DNSENV $Q "$T/meow_net" dns stats 2>&1) -ck T14d "q=2" "$OUT" +ck T14d "q=3" "$OUT" # deny + allow + AAAA = 3 查询 ck T14e "deny=1" "$OUT" kill $D2PID 2>/dev/null; wait $D2PID 2>/dev/null # 恢复守护 A 的 MEOW_RESOLV(其未被 DNS 触碰,此处确认) diff --git a/patch_v2/meow_netmgrd/test_netmgrd_p2 b/patch_v2/meow_netmgrd/test_netmgrd_p2 index 0a9ce02b59cb13ee20e9aee2070d248caff4aa9e..4f6d04daa0abdbef448ec8b3f26a1ea3dffb919c 100755 GIT binary patch delta 35523 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%0AFSp4*@qAv3h$^7`I?8 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 Vq$7Bu6E^q~t(*;6n7$KY{{n9>xf}oh delta 33401 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 d;t6G3k=)C-Fgww1 z>SKl@EBiTD^s7yg%6aM={Zm3DMxT@r{#~BLMUeD#kdF?#T8aiKDQGv-NUxTnU3x9# zrrErxwkL1Kk27AqEvl(tZBT1v!uC3OqMvQvMU^$%e^FK+3?AD1IGs_;b?~=OX!s-7 z!8>$5&gU>UI2QSy)!K~{#L=_Vc2aL77tk*lz&v1=i^L4oMI{5Q$IoH8g=G9&a0Y+nsK&-8^49=&8iE^6pj2UV z68Y^Au|Q&7LH?|+Tw*O1j5V^58y)ruEZa16FqggTrJ!wOa|ZKGpsk2c=f>u{cZthJ zpHb&44SX?>9fq(5d0i5J49^}Gd#mZpU~Xjg(uH`B4q2x_#|%a!|VmI%oHkK zF!qaYG)+(9)x;a*ma%MysWFMq>O=aZIBg70FoNkKQ2foC)x~+RYU2&8tZi*FUw)NR z{AP?YS_bmJfJAM`7&Ia~g>Sk_!e@b5n5B^&O5xs+xfC2p{bg^Ya%uvpPpW?(tg(m- zV8fintju&YmB)Mc+Ctb&F;G0+%!lfV*IS@?nVDO!67f-_xXBLIOCaU}XjNatvMatf z^I3hUhLT3{jcjQeze`u#J{pQQr}5=|$l{6FBzGUrL?2TBIvHzH`)7VSZ}Vn767{jS zrROG;kNL4W5I9s5Tv`+0@#H>WTuhU0=pRtwC>(}m5Ugd5Rsu(D9gO2!faHi&(kW%{jMtajrekK zcQBOnjLTk_0`-&=s}}K0vo5%Yh|N4CU6V#NvyD zuoRFIFH_4fep#2%oCVT=;e6IrQofb=rn`x!XYx}zFQPoTt!MiV0B#dgX z0zcoE)w#Q%uX&z>%JxKEW#3+v`4u6h1dEoW0T};fBe@eS$o|FzD6?uLkMBczN+k_Q z9+22*npntNbkb%M+pz#~)O4bdTd$IfqU87(G;I&a%8gpnW?e<|e}P-rTtw&5{9%wh z3ZYIzNW({mJ-HX&&t2cn`J?%pYCA(4en)9UJ1N353*)RYM0fwuyi(W78ABswG>`Y| zZL4r4N6c$vtBd$F5Ro7fcpS|BB&;Q!uhNCJqGS;E2o&tV46*U|YkeUSh9!%YM?#=6 ziOc@I0(lKtY%oa)Lx)q%halM!p}R#N$|pb>65D6SvV?;jW-RMfBJo>FhCGppxYQ&Y zFlz5N59ZUs^1UmraGH|bu$uwNuHy4ac| zUc^{+B}?X&%)ZtN*fKfzfHgl^RAr3t+3(4l<=~oOqB!ocCx`tMz%blRo%{8zxN*$NU>;O&u%`&U8 z?iwu8G83TZl*}Uh`=a{q7nz$)$^43e@iPNh52c@lmk?|j%clCpXsu~qvJgYlq~z^; zhJGcX5W}-2j}~h{ia3z<*Z`1pokca%(h=LIWS2|6Ew`f5j$2ds;jt;={hSz&7E?-! z_&z7br{&De#am5tQ-mug9nkU=k(oQg)?!+m!k>j{KgQpcB_D1bgZeACq-aXrENwkw zkVug(Q+713T+a9`v&BIYXTrkmP;w<(wpLYicM4yG^lsKam>T$0*qBt_Nw8AsDr{;h z|A}D!V~sY^<2ivZbH449_+TjXO>#Tjh>7j zGkBT3kg{|dyv-yK?J0A0OVz$8$J~E!{-+*{kC~I4|2i1QNnTYa!K4$6b=jn?u3*;FhBe)7V$cmYOJ1V-hKOu*nG@qn^0c=;agGuh zOMwxcQ7*AsW=!D}96Ervf{xAiSLqgr4{nH)_J|*D$WO0~;4@I|T}Z>wS0$f=)Pj!d zrG_>5i{i0&-t|7H%RO0k2lS9p+bukYgvY0F5=L;huuNU4GvEr^Y$$}(9|~m;!FzCn z6ku;nQfY!4UKBlJW1|}3FpaD`jhhxDEkb~^(0fb<4-v!0nY|iK`-bp$Ma8&E>1FZB zxP(X#)b2=N+(WjPwi!aqn^1zY`41tD4QZ$YYQdJCDm-@^m>E^8 zC&5iS23UH?;MS%LE_q?!07~5onl_Y9LxlMYG3v&&!P5cx0ZvM;cOG5R17ToPb)z;Iz6dhz8;=8SSM@05@KC!I2^wYQgakdMp&R&ZC6s8!+QH z2IJkbE<-#s=|R&CpkY#X-b|EmF>^Bwf?$hdC*Gam7RL?|Iyu4irv6rEU^y6jr6G_) zB`n^;=8WL;fyX>MIlSLQV4J&kmvO=$hQ4smWufo=EJVk|pM zXUFxZSq>5k8ouZ5l($}pW<9Qt`+s?6v&`cedi6G`hgQH~Ub-AX?=qA?F9+G5WDW~9 z-Dm?3)~dCZ4daHcF+I)%#`l1x9VLwg3LayTSkTx`@5jner-j)dxc#=`9ti@hO!|d1 zclxk0PblghKx6UTchIz9pb!r3*ZLI%Q2tSAMnpyz(?F7Bd#gQ&@p|CUb+zTdnPv~? zG1PcWm_{_fE;C2yWml7pMp?ORDX72f$~oE_GlCm7L6P0mLPREFTp6a#LH1IZ7o+r9 z;JQFh0!SIt7VNb^p|=5dLWo)?!(9gf1M?fjq+a?%!zoagwQfd*=1Z=e@>s_0cs7xC zPY+D}7R1OEYZ26H504nmFT60E9|jCv!Y@QydMGVBcc*phl_mS$Y&Oh1d}YadTUGO) z9WL^wR`}mYiok)XyWam@{B^3ytJWHlg>AflO^uV^zaV~{8tGkYnwZ7k`d#=>%e5^) z1!GCFx)G}~nx4fCzLp+}OA)|nlR!uVjol5{u%LcCIe?Xwl)xg`)2%cHpr6AV9*I}G z0)CLq`=cIB_ym_d?4_%bR+YzF3M?MzhHGVA6?WzHwZc~F!rnr9ubD5T!Bm&c-~L^k zpEm8LTI;@So`A{YXy1AkdugR!&+ojejI4;cr}RQY4lhJ--hplpLfK}B>763FPm7mI zlcYO@qckm{1I)1QQk~^Fm>uhf+8OvehlyZGUN&D}k}bS%Hc6vJ>dk5LXQ#!jH{U1@ z-BO4l8+dE5UkVzoZYvnV%>NX_ZcQtG4-7F}T9=}vK5=4y6M>|b?aSdS0J}gz$+J7} z9A=buZ+k15%@15?PKNo+e;0qbHGI?wP@bx^0k zP1SJ%Dc0^B>^+^nH8`~#SPGx@J+3^$c6Ct~1=B1IIU(kH;Hi9047u%$v_qJtXT;Z9 z$K>)8Ae21Vw4&+#s^3JaC?lCDH{alBGxX<^MD_Hj{2Xq`*fBlJ z=iHs4TW>*l5M9%awt6I3)P<&9xjfF7Im-VL!bu^(TFP5P)Olzhsr)P5%EBi&f zdV8K^5?|gPY>NS(9>}7=N(PC*JH@~P%y95=>{DAVhS*iF9;~QD?@8!%=5Vwj|&w**?ZmPi4^rM>)zSh>>J; zk~5gIlx3yD-{M%{#io^e8Q0ki?3d!-XqJg?kW-dTRA+-SFctpHu@DV`b2cKbwMtmU zJ2ALOpwXMedUv6MESHul7#>-eyy*ML( zR;{T!mwTfE`K__XrLH#Z!HDYENw@`YySh>fZrBH7)noBM;fq`f%G9cs@y+9=^hEe( zKHrF_V8r-aII^Fkyr`dJ2b9hhsdwG$f$*3w#9gMSjla2+_3de#=Iy5tvB*2f_EG!9 zzwgQ%1{GfbMg6BG4%rVa#W-MCHr0P>aG0jb>k5Xl9)Aig2{iA;G#I)>#@$2WNugR& z=os>yPQ*jnrnTnhbJMDP&M+Rvi6`!klinA9xqH#1A>gkD2n?K1tb*teWY6aYM>F!j zChI_saMt3Sg`6>*^$>0u=qYEiV?4b7d5ObT#Ht^pu>jn1Q86<@S}q=+IlS~X&~-q5 zJL*cv0`1smi6vQpeXh0CT#iiyJMy&xFP2^8&8kUnY}?e*lD~3&KCcW|wzfSSV+vk6 z@Hg?t%;@yp`P>^^+BO@wv%{OqSirbk{##cew{l>~~b+K@ir`>)F zYS9$lfqB4LLMs+*)gZZDhP2fQzsEr3t~A#3{jV6H{ja93MW{!HTMs$|0zmsf3s$Hx z4Gb>ak-!{SU{pl=4FwgA8uI!N#61-wQlfCmyzhec$>giO>Xs8q+SwxD+c#( zWK$#6p!QdBx+1-hdJMkrgphU!LB>@2FjzYSX*m_s@C=wZJ4ytcKMq^pvdPssw!M(j;`b|7qX%74y3=yZRX>X#TFrVCi9M_8#02rRsfSK{NKn+}`ChM5=lZ0InV$sg97(Mbzx!l1)sSJyTjD z-kKdQ{UAP>JuWnk7+}6zggpfKgqcG4LSecm+%y{sP`)Pz(OeeVP)_faw93(7GsNxp z%*$IBBG5_%OByF2I`Yl#6sA62bB|apj(H+y)4}H%|Im zS?UeZYeX+3*K~8%KbfK!Ka;cK>D7YQ1uo6#+ z|K1lbZ5DoWvWka;klf&VS};`=?n3qeTSPU`FxzkvlTZ+Q3=5zh8Vxn1e7CDfJtqQe zW;o0LmsmC@IF%D+7<-IrIgvjSm(>Itj#YXVvTt}l!JZKx%*m8G#Hl%Xga3v61M#$p z1}{yC*u~__LGughIn_jbwxQBh+2VA<)5ucMA=9>`t?zj4uW3%94-X zBpAz#RYiMA8FEa@uj8i&L1PGfW!S&xD# z@)olbKrI0dHvbdPd$8HUHs5lwIgDBu(l8ZFH;I?$#YsEGj(H{0dC@bkNSY@K9vUfU z{URQHC{|i5UVbRSX2twYj4WLkl7$l-M(o~h95KNGEgKWb>-5uvl{igUshuXMCZa%O zt-WfZ04PCAmWf`h>IK8J!G;?77xBmZFfnz$ zzo&ZiAS&l4>rXGvkN4O$n0JUB^NYQc)l-Wv#g+L5hGf1MWrCPd9Ux5;4_4O(cz7XZ zg*3eQU(J>`2)~CDhtf9VKm-RCT6GGG8_n~B8)S6MK#KGj5$%YhZF1NFyBt=tSX4Zm z>_@prJ0QydxguVEc!({T{{*&_E5lG`2`A&!E#Cnaie!l4kNnBB-dk0H!4R0p)en0AKEI_=ms|Kb)5SS(}yEEOR#=+SGKrl<{g-0s}Af6)PSYo}`P|c)f^& zzMOU#)V>(%C%%7V^dP%GhYyFSpk01^7|^s9qv&qec+e5x#)qTVA!%>5EQnr53*bAvv0wxa$35Y97zT5|0%@~f zRp+cfXD*lc?a@i5TO`)lz1fo=>%eS<b z&QAZUKPxLk#nnihv9@hM5^Zk7-}%iFx8Faur{j#aoI_%OcP}-I^2H7f>j#(ITwKuX zgTzs>JZ6$v*Glp2qD0v`P`DO_4qE2T$`*KSTDPD-LKd8bER%?dig~l_Ix%cXxPbVXq#yv$l$g#o<9eg4_bvKT~3H*yM=nld^bWafW%-38YUls~&>P zxf46jI}mY?jkGvsJ!uhbn+I_NB6t1XV#m`b#0!r_MdE%(SrS@%28%gb!@Y|^L^*(6 zI3A0(EknDhGu-}c-50=(i^uj*dyR{|ddSG6m8vB?=_RD!c3OGikb}*iTmUc4(K-{$ zgcAc1kNVJK*gXw;%7--*L^YV9Nj>6O8`2d^vPIndc&M~p-2Zs8Uji`52h8f_8u6FM zqi-lcL(4xccF40aLtrX$R{5l2vzWgPIK{~4V_6yDFQL(G$ULawax*ew;3>0+8_G^U zD6Tx77C6(us_5{E<`-{xa)l^Z5<$)ZUvln!vSNy z>9Q-&mTe8_@0 z$eSrXcp_3N6yH2CB_O7u6RQqveL9Y1GDpSl!cV-k}Mhe$@S=?jKl)A*r z_9Cf4d~LtU!$PEq%MxvaKzbI|Ka6>tTB0sA(GrTe?Z+{j_QFHeJ%jRA3~RLZd*GHL zXQfF5zA~&BQxY+S=e3y91G#)+Opg%@Qg&io4-%%H_aVm!&oDh196%e$9Yy1Nuu&{N zTjnQ6{VWbIGY<;}NigOgcQuM0>QHP7i%cFfQLEHevC<-hQ(uxG>Q!#i&8cqkNtqAelAH@BB z77whrTlz#yTbV2gaeBo}q}B9XjpuMtyE0qaCO%o2Czl-;f2>TB#~v3+Pu(Q@hl&MH zrG_3kh9nWAlKEI17+u*GWXXRM?>v3$!j{UVNXOP=-wV%#H#LQDx&*sGR6Ly)U;(8C2L3mc*b7UE#%Dt? zGTwPQT)Id6^J%*;*`@@xLC4-JZh2;C=;F{nDOG%2tbHancO!U^jf!cJi)R|f7Cq4; zI9!!WXVUm3gaJBralzJ8kBMKOiM6c(`7w~U4H&bPl&W_;LfE8=WA3q`*@L*Fz)jJ>tz_HV*8E0D?@l8fA;??>gGUAs=ouSu=!b&v{rob?COv=|19nWanEycH~!j*nc!o_4H%rXlBQ8a z-AbvLX=()DLkZHymI8G&%}C{Eu^ypVOV%(kvGz=YfiqZY`Z4kE=i)q?(6!?9bJ_C# z2$5VfSWY}9Cf9`9y0G^IM(s!?sn-lxlY(KR2^Tq5sqm<4;keAP9PqXky4fL^x~2$% zD{+ZLX6x1#8Q5vHOXva#5@_d&;)20Y>UAvkNI_?UwO|XYLpMb<1i3YSovmHVJR-UO zF>$`e6xK+aL(gMIBBj(8)X=0vbEkvVr0a2-qBsIV#d@Fx0Ij?K})?*Q(87QT!|P3H60R zy>gCzAXDK!%B_7h-5+s`M9fzJT(`85mjb>_!Tp!ZCJ|Ch#T3Ic1k>a z?X5$85g$H3JoP;GK-#nVG`l{NpC;JA;#AxYXi(dhAH$y#kuTV3yHvtHo)8;fNDtW( z^QWQkkZ5}$uHP3OP;WEi=S063pBRwLa}dRMoFCWojo>eqd5j;#KNA0WG1}t=kcrE+ z5yDvOJwkKb{fxg2Xt}nA&|u|*cmrU~2!~`awcT?E@z)84jo5jjqBgg`23|FYL$%&l zM7kBCt#*WtT|bCF3~ab4QNSwn6+A@f06DKqE&cKE6Zz zn@5M1$MWL{4b;P`!=xK|VTbsGmv~x?+}t6?zLX%Z_ZC$z4fmXC9NB2a zUWe(jk)Q6R#aO`k+9A;D#zK9-7N_wq#5-c>xbuwf1=9Y9E9Wd2xrOSpWFuQ>;^koG zOt$oFl(7q?ACOl34( z@nP|aVA~9)KZ7PuZ*g0$nb%P(z;F9EuBQK?EKZpx#`9q!@Z}gAE)*C*O(TzLl8S%D z>GcoDcEAz+6V}l7VLX3a=XmCSHT_6DkAMaXfy;&#b(`qkg|=3sTm|_iHqq5ZYNHkM zes0s{fo~|Tw1r>ODcFEoEIxYqPRT9?y^kW5l)Z2h1*b$^FpN~*u%sn&sp6|Ltg zGipdRNN%*wPUX&>NPsIdYbJwd0PyNLXywqF_Bg~oz$oBM@?d3q9zgP{nkBTsvkw%gPV;X;(oe!agjj8Ro;nyU@ip^h zXoV9?5^9}ku9G`<(74Uug&FoX}L zc#v6AYBoY>+){SB4JHe%UA8tA@cs}&yRdDQsWr|@bInSkfi1j9IPB6kB?DamT=EAV6*Z->Auz?GkKX$?qE=Pfo6UHomDW2U#I`dKVU)V^Mm&UXWT?u*LD z9!LD6^hd%C(~b_B@50O;$he9jz*Pjp!)kfB47maH2KWT#Jab!R0xoBTm}_;T<4$#% z8VTs^a^MX2+2t>^Icuvw&dL}}wP(4Z+LVQ7hE~~pwleBjB%2i3W6@Gov9bi-T{*f2 zj#fa&S5o&xhuY(plhxcyLY=lsQ;ijqej6@(IH7PGlvKOxNILI;LKnu7S41@Q6j^$3 zVq;SzL-+yXoJIN05PTU08c`Qeg?0=`Qz5Rzfysq&tmhCall#37!Gm!sx~OEJic^`- z9l{R+-v*{owAKkBx6jA<8t7*oC~?d*$W=E5VLyy423}CQQCdU1Z4&m#Fy zgl(9tqQxB;|;o>Euu-swsId;c<3wafLU(3_9A4x&%7c zB4%^U!q$m)_nOs4qR+^*4ELfCoO_&$EDkKIs|Mf#kIHm0;85%``tcH&PX*%wIH<9N z?uTKs`X^We^@yJn#|)}-;__|G-{90ZtRttrR9RRPgKr+uc~h1Xz>zu0lx$ncGUoSN&zFnZH7`*!3YE zGA`{zfEF>N`jmm$uy-Hbu$Bn04bx8hVp*(**5;%LF)N-gsfvIZ5~56Q3}6noLiXzz z%Q|EAq#Arz0#7`NA6bQX8AF(3Ijn$K6V&0V(jG1VKm@Fu@wm&Qx5nAyy2&RhT)3Iw z?hd5kJ0PHMkfH2jI-K^xyP0aR*@V^TUYsXf^$(=ux)1zS1lEVzFpuB}ka%tmvZj(h z?3l&)I-M{1#>@ox;uXk6JsJ$;OIom!I0s#?KDdPUJl@Iq<(873y@u|0dq?ur4F0sv zvjBLvPnv9CXj*x7Xg&d=_-{&jmdkxAZyU-NksuuE9sN;Ts(0d<<{sL(Ga>z=`DGz? zj~P<1UWKL);rF9n2aMSZ+dq`g2J94Id!92?muy5Bp1FcmlOI^c@~9|EWGY8s!t%te z?vSm~m_zb0q+Pbqty>|SLjIfB@KEQa5`=`xks^9ilx@Y#T}6hdD%>kC%Rx^@VSq-e zQ&vHZ8Yzaxa3@837}^Cxj)o4@aS;i)`v4=O<7z`OgIstxg-1e!j9H?HW(hhqK|Pg+ zQ?nE84iKLq;1Q(C7+y0d7!S2><5XtV;P$tf3{(N*G>I=ah0hwKi*(ywP1kf^cu~g{ z=<#3&;=%VYQ5&p4qhu5um)86BNZG$hZhSo1jmq z8g?{)b;Eyv4B|^XanAy$Nl=*VL%aP2n^`Y|uSDRM=t+BCGE}$S&dScAX-cqm+mlYg zDW`iA2AsJ-t`4NkW%=5uw#s2}gwTc{z&B!8&~qAQM~erx?n`98TU2j}u+2#1PPDNC z-Tn*G=3_#enU3$Y(9~JW(C#g$O!x7v5yQCY$S_O}`8=JbNa4-LsX{&aR>?Ha}_}@kg(Yjhg&lBz70uEsvn#bp&zIyKn(P;Q`F zC!?ktUYG#IXi#tSOIr~wc(A1hCv;9tY;k%9mu~dy<6^v27>PpgBtQ|;wX9%SX)(mejBBQ zP+7(m`$s9}K2 z-Vx8t%{VtBzGN$St}V!VGM^tt+g7L@!OX`XkX){}GiDU*nuGZQSs+$w9cdx5I3iT_YT&KYnZgvYILTmF#{x=ZQ7JwRE(J2?; z)20)Q4~7+J7s?1vQbUCncN*2W6M}nT2pj8Bw?AB*Voy8b5P2JIqL?6%EJ&S9L&54J zb5rAnD0oPCgQE6qXah2nu1Ne9Ps!p1OVW5h2&7CN_gbK2XoDx->5AHP?0(u20C6F< znt{G8d_xpFnac0SW}yWN65LxGXSF!uuVuS&JtYNy0rs^t)lncKMQF#!W?d-rhoH3& zMFQ+=PynR-f(WdKpe3}W;MhCIVUg4U`g+Vaw67t9NjD->J%S)j@BcvtMi!NjwVft9 zZI`mqT4zur)jse-BajM2HrT?M4f|Ws4PSr|X3eIS)B6Fu)43HYXRC@V_E5Jr>6iD7-TaSA1Ebu3P`ov|^Tbkm@ zKZRy06PU=fJDxXysC*#Hp%|=%rb4}y(G87gCAE;0-37W>#Mw5)NCP4QDcp^CT7)%_ zR7Y@=`iw4Xq9}0(!dVCE(LzkJ;mC%}RfNlO(O}{SW*sn%dLmIdvIat0eE@@E*ssFv ztbLw*CElB1tzOtrFKz>jET~%Rs3-p`8bdG}9 z4+Z8P1Y~WhkJQ4^R4@LY@3jC;xnLWDvy4_hfL$Q+X8JZK2{a*CTeo@f$q*0;0UebE zH8l1E5pQXTc7lg`3jlSV#}*ScWF+cUWO*6*w4>tRZ-?1F28|Kt>H(^PLwgk@{i2{B zXw~72y<$~18efZ}A}mo-`0ME@>H_d}To0x$CtXP|sXw}Vx;JkEZ@SDh7CH?C|BIL` zNI%tB`@Q*XE|)EQ&st=kxEyc++2_l>*{AmXkt1M0*{46U&rNFfnSlu;yx|-|Losml z{4F*EjC%HY5{Yj)?leL9F2=?=@T^VOA#^_~w4nk9iw1qCmXJ0c+iAO+k*Z()TItS% z^7&nulk4%FqLC2f&PKQ3owCt3WTP`Lt1YRu<`3p{J6S?VAcahQveC1sTaWIhWYib2 zsLfDP;D;XX2)-?~2)%OLhD{sH7#t?8eI02j%|2uvnoq69e%iNez{CrcC`7bl$fqF< zB|#*R4jaA)o??|9cZhqHz<%o2fCHumPIY89C2_;qF+CJ0Rd++6w5fgJ?8k2e@c`vtNWNpydwDj}jfNRoE7fgj8YYHbP^nk#XxJ6EyxArwNwz>WS zrOCWRM?1~bDjD>KZlt96iV#KI5YYGlM^gs{TAD5>C4H3|hD@b;;yIT#nrMF5-(S6P zPF8`rgRJWZ@D>Q&v&m4s5l%YuV^&R@xE>f`o?uEFxtC~X9nLG`N1AB8Ot~fHjWmDJ zdN~5!h6QRXt(RT4u&s69(f4`#$9+X_lKnnxSoRm zc#&2E-WG=^?fP60KWtAdL@pyU`G7IcQlO5fI4mB$+1BGApbn*-o(^!bru(X1xf2{I z7}2G#-C|Tzc<`1dcl6(Iw5Xc8mIg`DoE&jq(_maIe!eNf)-3bN@#XpDj0G50CDfF& zI9v{ZFC9(hxDu<1ArVf9ZNt4X5=CMqoa0*8`10o=aJh80z!t6#ifLb5jbp(czYgIEbL-e(p};ZSLooRQ{v;IX_ih?5p(CQ~41${A@D+ z8qaM|(iu-XnxQp5P%HwQ1O-_Ao`ceKUT_&se+lKDe_+c#7;aO-Y}Kld;QE{d{~WZronPjXy9Hc@ZUHO<2) zGc^t5AA<>9LL}|gmQD@eF9FsJVrbr?!VpQHCm34&yZH9qVV?N)kg^0ZaA%S{+aU6G zCi%<>;H26KanH`_w$4Bvcf!{}fG^N41?)YRZeGW5{jO+EV*c-VcejJqIi}e`yc+B& zh2GPESqOXB>MZ2%-UHEQp)T;6`IS`7dS@YH?<{mXaNQ-vh~c3PxJRgs>P`T6;r9lp zrzA=a`}Wj{AYKNcefLDDr#irddaDyNjCEhIZq$7K2;JL*ve*_-8#WER`*v7`-eHHk zUH7T+l6tJUZ;#c5@O%g)0lmF8CiI$Kn*kv-J~qR0?YJ7&1|^Uzm_1y}S`Xp=42==0 zYdspu=XHxG-+$naSN4Wlr(Z%|$}`j~LGz!FKpXHm4H#)tg|b(h z^oRjG6ij|Y<$wMt{6C1bJ%vf5d~Yl-Mr(*KzPFsy>8&k(Dgn37#gaL}hcCl2n384* zG#z*sIISSPD4NO0L(7Bm_(jN8@9VFEUZ9C0*;cr!dj=gE&W$Oa4z)dr;k+U!Z;E<^ zr2;x5_zB8<&~wc$S1q#)=MVU>y7G$?9TX&F8k;x_TnWKWFr^`d6>tmX3$G(LSW#E( zSQ#KLeh^&{5y@MK6Lr8AT!M+ib=LkjI@X}3opLFH*T?YBKttw?qh`a5TfY^PKa3u} zB|_bu-Hpb)4?C6bo#bf7neKzwKza=|%Ex;5kWR*nF3OQ>t#iV~x(_35XMtl_f!i_M z8DfM5b?!u+)g%SiE-{vVIXIq`krrjx1ER~OL=SkC6X`F?YSN5`4qF<|O=v6JY%Rf9 zOcdwf6MV_nA#kPG&A$ZvsUyl?DfV_CdS+KU#fUvoHo7*U&Sc=LhMoi@f%tio0<_eK z8!5e`W_%Pz4K5hNjJm?e&JIItU4U=u(RLt9Nav3&pSkOj0av^6jXhPb z6EXBXNCzbc;L*i!3kP3R6JPBy`{%2VZm<~8oElY!CVT*sYUeUB4aZBEqw^-__~eL~ z+??f!UAloki>I421-p0nh=?ogh1VT>RdgBnKT4Q6CNWAAzj+3=WLW$lW{t z^OLyaqgyj>KvX&dw`jjv!X3VNb>4B^#vB`v^Oi49BvY0W4i|D-*8W%g_)%1e+JYI; zeD^o#AxzK~_vzh2_zZ26VLu=gUO-DNEK+ySdnDeerH{?RTxl67M(#D@{_2dq!xHvP za-f?XY{lKXiuU-acVyX$*j=wsrijZ@<8cFAH10JHAgQlgMsN%o@%`RGwpf)T4lt)! z3fSU`#rE!*xyC8@;y<*a6qWk%)CJs?LEh7WcUpNm6Fm58(i-JFDj}fxyh}TKbV7Uj zMkT&s_Ze_@ESu^1AfDfX@ui8Df}&km@8g)MJVXYi6!bV@QC4in0?fq%j~T^ zzV=baqCK{b0b8uF}z}Raefhcw+*z6tytT2T)g*bbSfN)zGz3ktR&&0HNypM8DAVc2JKC7EV|yr z=F96w9TtClnuROE!#^vvZ6fh#)^V^(OqjXYiQkSQG3qu2R5%U?nFlqD*zr9Mx^e`k zXsELU$5BMr272o%9A6eNUiGbQ zSkixCd8~Y!cW&oNv1$LXfsIyNW26oIEl?l>%d)awCr*p2at<$t4k zMocB{YWv;D!dU*7!(#I1(UD-t@TE;+`o0@GHJhiIO=PfsKTP$CGSo{iP zKreEG8+kOAFC?L{BH(~0H3e7YYLK0)0f$Az@q4wVG-Fn#reNk>;l@sk0d!^v4kDVn!1WBnxZZ z4clk98#>0s4XTYI?1{Z*FuJjGOt?F`>~mv;(Yx39L2hKdiT|u3>j(5AJ={p#HvCqr z*{_%F`9pfg7~}Z?LfUZU-R&zU+{p5H{sD2p)bbl(GJbmEBiDw~nfNZr9CyREVD6@N zt%>LV&}lpWFWNVC+OzTe4bVDasBb|_hKhb342@W&&{QYw_jZJVDH7x_506L?Q~o_j z9`&`D_wP&_ZoUphRXeT>sJQ{wwkF(sO(S+#Yrl&-nr-SC6uz7cSTlZPf$qkEw##%7 zISF7kIi$*hU5cAX&7ayW9u59$MQ&8~4w=T&OJBDq_Bv8sd8z zOIHsT5@$4g9gnY5G@f#W@0=DRbqy5upNw*O%l1t_ZI?y-*(8zKVHLNuH;Ek`*6lu> zZyUCM{_`4n`^x`5;j!KHTazJb-XnA8KJf$_Ja;z!y^E#C&z`p+e#D*Zt|zufo~ifP zUflhXN6;hls^&ekXr6K5WApDZrW{|tVVGEdWsqs45s$--B~vC(zBzNuZEf9~Lw)HWg(E$}K1hQEo$7hH^K`IVf9DE=AdivKHlKlv_|{XS!USD7T@sMbM5B z9tu&G4|TcbqCAMQ4&_RG-EJSsnBgwh36x7wMj$Ufgc4~po0A1WD7#VCq3q0dxv-LB z%{fpM|1r0%2 zhO!go46Dm!?8n&n66`!Chh|Sk}lo8`yu0trxZ-R*t8CIc8LFt?b3!$7o z1*Sx4oCXC@)|H`!1JE_NOf?;4EjDZGP#(M!U59e~T`pIQFBF-LhM-(?kIS_lWv%T# zXoLqRN?$(+#_?l1$`dGOpj>r7T7WX7%H=wUGGM;T6@VYlSosM08fE=bm=fjsCxAz} z|4En2V<1{?ce(OWPF)6tQMRD0Lpgo9%e5P&#|p?rdF!r~Fhu|~dK#Lc-1Q8c1!c@? zSO8@gN+b%b5C^yGQ3lk(lqj7j&!X&Zf*?5Qn!PR;ep8C=!|qRFu=3XdQtaq0DX=a% zc(HdZSg~~cbpbY%VE7Qsf_#aC8B;pVIbSyhnk$t5kTRCv(vEC2Wsl(q?!0DMj zRKAJ7iGYO=03U+w#^3d@79AFWl0GE26Mw`nAA^e(`jP8S=?AB>I{pFTu6Oz$&>C|>@+ zuO6agp!Dn>0^=&v!lYnjuD=u_&&W`g`-46)Q~9gEG(7Ae24W0!ppOxM7L3wEnaZz3 zlRs1m8YqpH4-QjG2SS(i!A_L_%M4mJc1bF zW5i!QUgl>jlYx`BWh)N{fVL}JSsMU-SLG<5tMDAivNuQ?9X6&ILrtxrImaA~@9D)#Sg>T3=USCJf~5>AIaMd% z+s3$D`!PA7(=31SdChx_@T&71sO5GKT z94?LSM*%7YaVJKZ5H2N3yOeq1QkWNoD>hGgE*$poMP%APPx&xh8tyd)&$}N|&J%nw zo;&9&<_J7*!}HN<0EtvvHBKJQC&#L2p@>D4#}3N&WD1o9x6A%md1~NJ)4d#p{}7$_r6o zOM!08a^>A9$=p91&z%Tv5k}>|QBs0@-dhzU{UXIjX}l-}40r!8Chq^W zlHAJ34KZQpWffC?zbK89zTG+ElJttd`DGnGUoYMNn~3{=4|!CFPy24?#eT9P*}hfT zUGtBD`Lo^s6Fv~3PLtoaf&oF0z8`!2$AEb5{$E}C;tVW^HR}Ia${PW`vUFqJb+yr@ z`24vx>3K3}O$(6eNd7uA*Uz zPbY9bUa=j-r^(>1snHt<-Y!&l8v;mWvRIaTsd zs)Ob5sOH%kZJo|zxlUVlud*pv&ah3Kqv3Ux*Nr1HvLHrkgm(SM~AOevtXoUI()tkciOL|U!}u+muqkx%@iHJT7%oz zDhZe(UFMLXSck1xZb$Hn`8r-PEzjD*-0%zkLr?iay zs3VT7)+!v*3PxEpS$Ny?8UVkwqJFw`c(>5r-SoaNG|?Zd)8Ou&P1fP-U)JCeMy<>O zT*_e)tQ+6ES3kO{zUqrVmQlLu8kUXF88z)to(q#lN8UgTSU4gFd<36*^gdIWYtaqL zMnZ4b(Q7=eMekLyGO1CP5&9J!9daFdgYpicakCi>h+r`~+O9jrCrTTk zztYk512pDvLG^Q335)`|T}N;6)6glphNqQcpod-2(JeaK-9B$5Y$WuE4rj=N=o6r9 zB(B&NRMF0`Yg;r}`I68>b#&Kt=zK+r1{(kAky@LDUt4>sGK|o->*#&gp=T)-Ko6_d z(Fb*Ov#J2Ow&Zzi7#fQ^1K2;sJa7uj1``rI=nH&DA4tM{@Wo~%44nJ`n9}lGsYG5hS z69d1BP*MlUae)CI*T#n!<#a5@{ro|4L}W5JQZTAd*Uh6BsmjJd;83W1ISBkpmH*%^ z@@^1IEST-m6AE{gr<7r_Am&O%tQ;r5X;7BO%1KhACZ;)7?w4|1hNDHU0Okz-ADYEQ zdC=xipU-=$+yLegqL}04q#O6^O51g|i8}2UD&1)pyQDj}4nG1oV}DMle(_P(#>ug= z{h!Kv;44W=Tbyb=waC=oinXFtD`soOqgwHdR&3FV9a{03@}&{}cMBS6M3*u>>gu|% z4h)e13>l`6Q#bsyR@+w@W`Yh0T9Ks|p5w4Yh!=r!uvDSJtF>aKR;*DArP(A$NFS-s z9^avcGHiexEVGj;Br*zX0Fv8XgR$J_b6Mlzt1OF$+&#*$L?|B&;vm_NZMm-FBL5F2 zgOxU_ou?HOwBmNHcu*@=X>y*_-s-eso>siB6)+%i*{>Bx6%)Pvs+b1L5z0G*@yrws z?IMF<+8{V>*~eNt()AV%Rnd|~qq-SX0so@|$~CHmTCqwi)~f}6i%9lRI^*RKtei-c zbU-Vq6UTO-?Tzj-bsN# zWR_IKYQ<2kn5Y$ZYeltEoC=afN?B`}pSfUR#llAx zuvrUtwx!F7^3K3a`9qB9q4FH%wqf$i-izi}%&eSyzw)19a_r8);j*FM&WMq6n=HMj zTpT55_S2nx%eTt#(Q;m({_0+yxssH}N6Q)g-OIAwO!>!XIk&%iIc7H~ztg*W8RiqR xb9j;bnItV!E?VRd{qnKtP9NF~>QFu@mecyJO4S0@he}VeoF|P{hFRt0{|A)3iRSzY<6UG`j&67Zl`YA|RWf;tyIiq-v|T*$_}L$giLU@s=gf zUfXzkc`FqQeoBCPYtquDEmYHbO8{%B*fzx0+8?)U5>Q*U1^F2S_xpU!?mN7Rq_=;3 z@ez0D%*>fHXU?2C=gf~?b<@n7{XU;@{{_s8Mybe%BqWl`XuRH^`bM6~H$D0P<>oTe z4QLvFkyLKy&oQZL?q^1-T!2s2Tc67B{5d35&i!;L)Mt7s?_wYE^khl*)7ai5|1Vl! zI+M(Q=}fX=_w$y%No@PRE6VgQSx%)?FXN+RI^&~cJ@?b3=yyNe{;6;JTb#=8{5hOF z{c}H6R{!*=zs6KQI)4Vq)4!nof3mE;-g$W09M!x3!(>M1&sS1(xSwu&cTrFM`&a+< zOBF0mwbvy-Q-gF%>NCl`B)wVS5SM3s`ZMPBzx-%S;%MnD^Z#d1uTO8dYWLpX=l%QW z1@mW*UNGmH1@jj^vizE|vZdwoCXTj0zRkrCq?gb{~=-k)^o)^2o zv$TuyfiCE5?4ta*F5vfdf#+*o&=c$ePfi!*hjjt}uP)$U=>k5d3p!u!qI_TIycqv~ z(FOgQTNj&O4PBJKq6_%uF5uxV;CFY?uG2;NXGtIS~maTxu&$Va#+!6 zxNLz6RnDC=f2o;0f1$04X|&WVeq>qsyt1X{k%d@H73P5l7CcfpPl%T-sxXTeEui+I z#d8;ebUtm59amaeSzfmA0V6`@E;BS-wm_|xE~Vho3bS->`J)dkUG%U}EU@*;m#tVl zw{&(XMaeC*O_OOJt`ITj@v6xMX3isv$66$|tfi@P*_=g>EHkBZm(O1&v=7)`mMvQZ z74se;^9u_NsrmZf0uW*WmWu^Tmz6$THh-a+yL@i>0xHg#yL2f$TsUXhBC}wAhl3oChqcg`5%V)Wb($sCW*Rg=GxZqYtE7{zBROWsB#}vAK->{0AYylrLJi zaBlfBqajd}YM`>xlFhJ-x`!9j0K_d^BnFo)o4;tG`NGoq%jTN-3+FB?UA&BR+3ZD2 zmzl-$7uyaounZP;7bYvK!)41XbG?%D;3H*A=fJ1g<+7e9nv2`iGiKgeG`)1}wbxBD z?$>eS&wtG~rMH%Rsua%8eNY@4lw=mL3?#7 zU+En-Kh69&1$)V+17>$BoviQgsPFopfs{iQm15;zW6D2u;k{GveVyQ6|3|WXQz!UO zjwa!6b%KBU_eprX6a1H{^6z$nznOv`=>(6b;HNvm-*d|+k_>X`H@V4nGg5w*3wP5^ zJ(B*H3m^DlivCXUBPsmxPVhjg{JWjtCtZ3v!7oXbKivsFX@9ca#uWWN#^sVE$o_wy z2ku>Onmll?i}{uZo*F`nC+>ky^5B2h1JC!sPkZ39HQax}b4fn?q0{TZj_|-!qGhX$ z@xZ-tlzb1|8xM$h;Id8Jf46wxZp=e@cY5GG+`@d`>w)+5z@r{`FAsd42j1HQU+jU) zrgQ%-_rO!39GeyMz}?t|GM@0j`@2Z^T<3v%$M;zeJkwLY#sgPe!~OSy2R_gR@>%bJ z5AwiY^1v01aQ`)W;PT1bfBQV}!7h-`CJ)?=ohkb*4}7SneB1-S%maVd1Haq@KjML> zrnJpH?STh9<;}4A^(!0+|Iukpa69{9B$_&g7Mvw!=3z-v74i5~b19=KP()qCItp7Jkw;MaTLjUM=9 z4}6~oKE(rX^1!Eh;BR^0H+bN24_v;u`|n*3JmLcRJmP^Ddf=x$@FEY~r1ZA*^K=h9 z!vnw31Mla7-{gVkc;GjC;6V?3h6g^v1HZ)sALD`F>VfBb;J10;5fA)!5BwGne5MC} zrw9Hi5By#a{L>zI)C0f61E1%C-{pZX_P~oh@Z}!(EDt>9ftPsTPk7*;@xa%4;ELtA z|DN^0?{R^A)_CCedf+d3;Ggxt>pk$#dEnEA1%7vK<*wRu0pq+BFze5)-2K8XV2y#& zH$BD75y~v~nWp|?o^&zkDo^@u(px?0&yn8aNq?Snt0z61 zw14vX_8%af=Se?Ay2z7WNP4y>y_9s7C;cett)BE_r1yBzUnJe?Nmr5fPdVTImr3V& z(qAQA*@ zY)|@!q^msXACundN&kfO9#8sbq+31dJ*53NoNxbC(s`crYov=j>0gtc?MXM2uJWYc zB)!#>{v+u<$@ICEKdHUsdsWTSyT@kvYERtfuRT>BsBN!EtNo}ly*5#P&HhBd-yTKh zn&UItAH{@!jK4~sIpQ;s_LdiWw);%1x$!Tfoh?&i#qmU9LzH~edyMl4-oVvdV&l=;LCjDM7vp&8p(jc6Hsj}=?m){S?*3GUdB?`UANxqs}(eH-GNZTWS%adTblI?CrvaAqgVuQQZ?it=Uj zCAcG5C%A(;!y*mKaGBJ`ZevPlZ(aNiEDgOTgr!52Z2A&_iucAw6n$+D-Ie{&{BQ{ za8nQrL<-6tk38KHFzw6fTXd9}up-0s&si0Ddhte4B%a2zYCl0Q7xp7(oL&9wVQ+Fs3X^(do-?Qox zxu)Ua?q<<`MZ;yB2V4F zDX)`!E?3=IQ=DAplz6MUH6hxKO>t&>>i+2>byZL0Lqn%JS5aTzg(DKA{+&~uDo_3W z7pZUCo_>RK(to~fVqhhq@Pu@htHWYecU@ZdeadML zeuMP!ZGQ2+z7?FILupQ9bI%6q9Wi4DJL~$P*S?d~Yw>~b<+R@^>U~~*=F|7alum0z zr-9$%3Pl3Wr^PeyHfEWfp=AMQwx`~G7vZPs;ujp*^7#yBTB>d=le+!VoGMS+Mgh;O1H^g@~wc5(Ix=lf~S9uH2*d`UiM*RiLyUUUgx zP6|)FFL<6zcl?)}=f@Qn!Bfe2Rl=jpzGi$&ATvA;z9T#JCa0ToDdicjdaZMr=A-8XFf zN(#rHfPX~&4->SFzIEIAD|l-~5Bk%E9RjvfFm#^_I|vN@mM#6`!u|;CkYMN)7xp_~ z{}2p);li4Lp{KH?16U-x$VMU1=dF}=B^9Vd>JGda_hog26ne#$fOH<5m;0( zWX*;B5ZFV4AuBFyJFv$DW87WX3&8#Z80mTw>*kb@t|l!T2U`Yt%nTo!RfwHagq<@T zJLg91oSSOTt$g(b`I@dD`LBMK4iEh9GUVfO{th!HEsSOBFyp)(FtS_f&FLBK0rJxL zdxUWt4m}orWJY_0?UI~xiR^#YE@hjH8R3-i8RC-|&3lcqHNYK;&uC{p?Kl$f)fxO? z;ptpHWX%4&v#Z`H?7g}=bhhy6-ISkA-J-KI+R<^;^>@@w`rtpaKKQX-rX3rvDe9kB z5b>EwmgYk<+GEtQZKOro|Be2<#TqKz74?rOIMyrDes1NS4!>PI6o3At@v!vAihUV9 z8#?F=j&MTM^`)6l!ZMOD-;L&_HfZ!ERyRZMx}vP%PWjnHw(M5ftg=^6(*G99$bRjx zT}PVsgML#$yE}`}yYaxFx}y59^U=sid*|`j*nb+F$H8%eF_ewdQ70aDX3$U8@g>(} zn37CvtId0Y?^RZ9-dJ9i`^qp|_lk?u zt;~yUB)-x_ET!qCJ;o`RJl6SKuTf4m_=NL5;KDb}WLJFGZ%R7KHV?Rs~sk$GuCpvgs#rM}K ze{SW=R&GuWG40a9l1s_Zpsd>(BtMycbEMKgz{!HXgZ`|F-ab<@kUpOpg3ZgC?#j-& zm9JQR5%ot3PQa@gqxD2KXlC7H#wqr3V*GmgTIs*S`MYiRXSIclMJO`TvA!1bOFSGy z**JAo&*tAh(ixc==Xm$cgWWl$IV0LdugVEWX!%Gh|6S4kJ~AfSMYCv^&U5J&&1$nH z*R=N)4ba5vRi1Xjzvla9*0T8C&7TuJ(i7?vaxmbmZR>xMdWSJM&U|LgE!Mc42>8R*)QzQ` zo^+CSc6Kv&A%n$R{h7C~-ZKt;J}6wooa~e2*-^<`rQh`0<d*dS z6iYXZ1s~^QXnkl6ibD8@_wv7GoxzAM3rAR@Ey? zGY7Qpitf{VCIY?#en0vzWjCB#>90Mv245Qavi@;jea4zKZsJ+XFl0aGcM=IxyBFQ5 z`NP?ok~nZX{_96N-+^AilWWhpl}UMu;*W>mRqUa%e3eVfi98mCj$MA= zdn4fgD)NuPYh=|y?hi+b!R&O7d+^Riw5GS3RBpmn-wXzk1A4AYPZ#HO|~Hmr}7**j%5wnd_QZ0cObxW<_30{Ca;nLf<^a-=rc z7_2T#wGj-)Hb#3I#gUS9UiC@-?}l&3#z~IFdwidi&XbHucJW8*@8)mk-$y!c{$->i z9loKLWYlNnL+iKbV?63ZjU$~OGd@*}K~ca=Nb2uQs{@rUxeld`a-5)!5Wux@BjBzWYKdZs-n>Q?hv1 z8?EYWqNJ2Dy|LdtkA==9z&ps|W#VtpcxvsNZXyNSSnoS%?l;Q$3UKrS>(tL`*%zx{ zI|Ul)f3lCZZ%v_PW1R9T%dTyLYmSDFk8&Qcbo|unWyJ&A1HLf&Xk7?>;aj{hV_ve{R>Y z#B~38{V}VXt6S~7JaJ!l>}h}9sq&24(}A?QQ|LLb-jHq#o14#AXPJTfH77RvbKb*-F3IX{4k-SS zoQv6YmE`rLe&V6=`C3O@8GOTU+S|}0k~{CZ_nAapeAOa7M5}3MCJWOB;PnW1Oq_Yhf){ zxzAF@g>MC(teY901-$B#ShG*KDva}>%E240dGT>(1vJ#pR{py;Vq*sC{z1N#CB|?M z@r)Nq$IR)88q>%5et`_n=p@7NZxLnAt-Mw17&34hb2Hgz?XOBUp~J@e8&0d-?iWl( zZ|YzB&IaPkoz^c)3+tEYkMB*hwnco6zc$XA6=%JQcZ&^( zvtGqnui~s%&{1z9*E&x_uU*pun%BgvS;w?~Y3+(4w;Q0fjL!(M^p`2?($ad7H7dvU zD=AY6Xh^P67x>KeHg?r7(qMdMeDF@~2Sf_CU=NJK_qQ~~u615U? znN8tiU6YPnhK`KwDQrLnCY^;o$#!gyuR*#q`f3t>G6j#m>TCEjxHb3bht=h|&-F_3 z;@xYt@4?!VvJI^dl3G*tUG8iFM-Y3aMLHNg*OG18Zv-a#;@Mi4_rCDtX>3jF=O=9# zty9toif?G0`cgO6<7Di>@*(e8V%~n%W7EwkHE9*^V+)lU|B?uwh1l(sZ{{vc{aW(H zkI>`kn_}}qFU7#;BQIjE*o2-rA{`#X#+U;=(T#<6-zK`zcLDFd%$od*wC6Xy(|G?& zxu$zX2zyqv#(-%};}ENC#UsKie0R~8LxFB}T8q^WyM_cuU*MnZ6JHre@zVFc=4WQz zUSQJg^3M!=EZ*@G9(TQ#A0r)T@#6RGq+XDCfzrYg8a3Lf2NnZ=2kiB0obLdO_}CLc zR&CuoM?3%RX;WkC+R>Vm@}JPr1+4)y9$i?lmCuebPWe-!Lu>WxrxF|RqwL!DOTH`K zL7e2h>5NAs{=Vji>}1jRl_YHw4*Cba2aP4s4@>iNUrPEV?%LwovdCny=7K(DBZ)5g zB^UC8m?eH1JeVLIs{RcnU4xD8n_^=h<1_PbZQxvH)=j{pz%zkYCKB)>xt_WGMh6xr z{g9-6(%Bw44e#5Bp%a)3(R4FGYpMEVz$;!LOFKuUz9Wk}zCi5b3u$Kjqr^ql*&EEmV-AHqbPSgaA~-G81sbn*yWAZU3bkT)(p>c z>Yf2lBmR!+W7Atd`_0t%HuyE3wiPc>{Na5*(RmHiGR%@j+L*@v%Wgic9`_NGMxG^W zRz~KGb~K(=F7X?s*EJp*2X|cbnOO75wO?`?P3d2)|LVWi|9g$H4z zv~y;daTwp`g!V9#eL6a4@QgE>&*;k~|4F>8opmS3US}}fj91yg>=P=wC^Bm5q)?&ugEReCf#NC|h=U1T)R|-ltdxqtrQhGO^X}qf1q~Q|c`zTTJ0(Sha<33B*OmIF=nHN|iD$*5C?;h^XcpeU9gw<{Y-sHCX zmMA_qcm9L<@1Xl{nl~cVi{7rMT zFwK-4d@YYXc*Q;k)t!ZB$oP29Ulf2_G3=%`#on1qapt!#ojFOFxaMwhU0r9`2S}D< zeWsjQ+|8DoPdS%2t=WYa#A{-`P03F3HHQzt$3}bu`4EapNBvpV`}q6&%JszL)ake`($w2YwtMOY$inOa2$uQo%Fe zY$+EXlRnnx)rK$WV-4fG^kO0NQn8LUd@QeziF}s~qKtT;`k{VfomObOTJ=6oyr}k1 zCSt`}!joFlS^#*T$^xAwTH>Ec+!vXS$l`l~&8#;=2y*57o zf8p^iVu-R;PnF9SzZKnn8+^MRpEi*4L(bbm9Xf=#O(HPzfX;Ar@Vl+2^9Xap^13wL z>Xj&I*(kX+y&7upD@?GvJ@XV}ABqh$>6oUPydF+y@eR%f`eWDbK1n@uqRsD|dT6Y3 zyiMzx;wA%iKB9Q8_>p0DN-unoI&S-|r8iwLmuoUj$sY1mPPT#gCI9feZ7?Wl8;l)m zZG%DZTDHLw%87@s48G+|88OU*ec&1EQykmC%IB1^&RfDOTbkHw8Q+O7g{3<`#k$dk zZ=g9;G;^$7=i~HaCS_Xq#8wOc68muc>BJ6hys@toDKNx<{s;bB`+_+fSvm1Ef|UdU0S~73I`E`eXvJn>*si{EjazR=oL(X8YzZ`nIe8vP<1Q zE56c38QI9vjna!(P=+}2QT45++tV9Ek0<*VJ)YPhTkvY~-TwXRSfZpYS$AF0I?l-r z^VvRTQKp6O>YqdZ)>|6czuMZ%8N|90|1dGZ_8~Q<6=?1N}c&01Sr zT*rxXy}@7We_a^sX=GhFP94P-3)zdg4n7&ys@CbG$BlK+Q%(Y3{M*6{yokAlz0=$) zH5Nljw=h>!UUK~ZDEC}<&WT|U*Dwxl`2=wJgzNnSt6LdYwdV`QiXR3~@N9zlom2N^ z%4k1U`;CgbA%}JBNw1S_9)TA1M`s3;`-;Wru37M>gqYlCID>IF{J94`)y?X$#9kkK zO~#*2+?U3>VCvZ854-$0HY-5AbolMBYiIw%>ao;5Tb#a3h8E*HJ?S%i%I|BGUeAm) zY$uJ4-tZkhWq-N&TG?9@4)?52BWHcSnJT-Uy#uYC-RP@6k>7fg*57%6eEG07#AFJA zf2{K8_VxOtt*27;*YVjF$hI;nnJ)VCSSNILtfP1dxYn6>(G$n0LtONK`CLo+W7Jn{ zvW!3BM8DjHylp5T?KcC*3MPAWHGeOw9m-ez)W#c|;}4pv;{j{};Eml*Pkfh8gAbY8 z&z}EdA8JrVwd_;s3~G9+c~EA}hYwO_7k29JI8Q16H4nT#=sOIYb*Q58r1nu6b6|=4 zOznRG#|K)n1w1-;c`0~Q_fl}JW}nseD`T7!(B2;SLdeA8UMVpYd_DmxAo}(wT*J z_Ljsu?UNpxH68i85jkS7X|KD__mf(yOWq&vNJqQ&xYf%k8{NCEKE@oLj=b4((t9sC zP#)|DkFZ}}Oxo(qsR5_9q31b+xC%YEYR~E^(J+1@Jo};LN4DMP9tORQ$XO7+NByQj zI8{gZRMyhedxG;kbxsab3{(0wyYBcl&bz_e70{veaC9n0#6}-H#ZSk_6>lYXp&KVS z18GNkQ~S!%Zl)mz-5&Kv8e(S?6FTO?ix=A2W`HUA6YU14U*-5X*J^3ud~+Z}yc|>) zBQLq;b0#tvEAF52P2R`f@7#|^@{mi-fteGXrPOod`+n95_Bl30^CATi){w5+n%k+Z zlc_xx^;dn=S{ZtBqLZodC#GXYNoFGj+Sd%_{c&qS#r} z9%o&}rk}khuevm73JOyFRUa+QFHdxap(k$i(h!Li|IXd#VUB3s#5O5D#a$Qf z`-wv=&LVK$PT4qPDEav+IPZgw`}sQoKUR*O=sY)hqVq0r!+Jp6IeS}b-&wYdc&7HY zg2TH$$2{%TU@Ilp`s9AtXv#{C-W>GI;IBj94*IF`HRlo&9!0(%2CsZE#at45FZske z>pgFGZskvFT|3*IZ?ZAmc_tsO-TJ|O4jkLo&5<46`g@<<`)53htMGX;p~o=SVqau# z6?x?JvNMygs?w$YsLfMZa!$ZNH^w%=$w!-Tp z;4#>f$V7elAmkal4C%G|VgEy(?4?jDeiZ6m;LIjY*9JV!nA;J;CqOE#=hM5>Y?D4Z4`yq5&S>(MPoOv)7Z6WjV6!vyZIIB8_r0T zhwa>Bzmb?0d!jLHG{@pLN6<-5==FT(67WQ!Q*snT5A9@ak5v)h!e%{{;;VR>r+EDR z1y0)lV(Z|re3hOHGXGP2#WpCh{Q@2;x!$=J+>NqRvy8LK)2A);KOcMr{N-%RcM4AB zJM!HVd;9!Tf710O3acKA_h|2%;;#PFdux`5rzci?VNm^usK;-uXN*?7?tN zI`JdyZM7wRcL=zAC-istD||mFKM#M>`b_A-U9U~d-vvC9n)iY~NZN0fe^b0~nU1a2 z+rR(Aqu3REm))$fwqsIry^}^+^;PG#OmKjsvs;sa$qvHyousn+scZXh>BtJNBwuUu zTt4OV`{|S7bY1(IKj_%waOY`aO{VoR?ODuigB;7xHCfIq#zp&7!}=NaiHvhaj<5Ee zcl_<}ZEAdPmTZct^wFWssqyIp9nQ*5jjtIf`-uF34)I6w2RYqr{vd}K;8b@^?D#J7 zGcNF8dNy;Ly}&ht9DL8_M6brFan6Ut(_#bSlT&+w(~@UcDCZ>lHcr+4-;=iQKBt0p zD;mD3A&6}FZjUv;O_{^!{zLGe{Vj0!Ov?TH*E@URpD)eaHSOLWOI~2@@MC|dZVP2b zfX~wRE@#L!-r!OEOLHLgKm5EvZ=PHEo7CQYw*zkf z&#la?J;xs8u~}KQlK&I;;e(V9s=bHr$KZK;MK*SIPSWpSKUI8+*;o*?L?=7By-h>( zhgr@f=qW^>MVq;2f`7l6_JgdSl2gr1!+BE4_OWdy<=>-2nd=WzuLe04PSYD3a|*J| zTA?+w3LGw-ts5?!JMp2WG|9p)f28TCpjGXOmQG{ z`(E+>fpwu}lkNP8%Gbmbqi+=qu|ilu6c~B`V!|{VGDcw8R+uZM~R)^VV+UP(R?fC^EjU&K7-WrW20=v zMlr-)4Spy#>5>ufXqqtvamKeuz6f`NtWHPQUq<`t{|tN;-4Ceoo1Ge)G{$B#W7GS? zM9FI6<37gS`0+i=0LM3Cb+LcM>gG)*v% zsqayqH~Iy5TjVFxp76a5zT6$jy*Tw(xOy`#!sTcGyKGXAhSkqtzgs+c+P|*1xWT7A zJ?y0MZoQe_(mo8 zMxQ~K+>LL34?5&tVvH%@e0qTMnf|(SE4!n6e8fF^+PH`ITiyA7Y*t3?VQi2S_w}gN z-6@?XYOm;3E1HVTRQ#phwVy#p9mnqS$zPh3)Jz5M6V6KfSnxJi7Mo4%@v+xv_UFFOJ`XapVyqz^ z%$V>e{;IFZJ7V|>!>2l-Wm6r4ew_%PU7oZ~x=;rqqa|NbKezcD=0X407=v>wXTbYg z;Qg)e{x*1jJG`IiiSH)wJZP`mU3WX~=>`Va^;c`%-SF0J*YbB-a*b?6XP7&)om2ln zPoU2!b7UZUFN&A$`n9j25xuvgsJnw7Qy(A1yyyIf@@|Jt`64m&?oWSR*syAvS@N*- zJb5$86P`@)R8m(l`oRNY#mo1UzN9nepY>t!-ND@B+yHW4l1X099qeliU_2P#%2new z#dHptI8_K-x@Xr)+dg7!g1;+Tfjyg)gK)G;z6NJayP5IRh*fC}hG{G~YgqooRHwY( z>W!`J!}`#Nf1vJO`mFm2<@8%Vb-b;6avgtRs&jz+mTjCJ0;Y3OiA0~;&*M8b$hHP9 z+@W`;Iy0b4dcOs~`7!R!8fcHqGMjuOxT7MT62B{iXIeX(z$x8JJa&ifbH&>(aeP7i zD{ut4i!#*2o;r=JjYaN6cRA-x6gLaO3!Pn5`9flOH&|X^C!R|r_s50DvmQn8TV&_A zq4#nrTZ8}CMvOZ?T`_o5hyQtGHE}oY#kEJ#Ly3{5{ds6>?0G(}*MoW**XJk~VC_^K zOunjN44Fp_-=KUOcbw52o05-)xAxx~v~6>oADXVk_g z6I;mQ>t99oPM{`Z{i!p`S2vpokZz_yTBE1n_kd}thKcT9Lc3!3-Q~E$Q#2LqEDQSj9U&o z`yQW+Z?pEu+;RR1--)R@G2$^k)^YjpA=dI>PT^y>!qdj~1p9wO>(nppvu^3M-rs@` zI@=80FM4*f2j5ohtNlG~>pnousl<*}jX8NO9x<8q z#T*$zOgyp32md(Vk{Yvjs9U2rba}dS7)Pe1CxW``r8c&6+bMV^%qQj8i|(zN4{m z=*+r9O1Irs&dkx>@mc7ZXR=9K z@grLB9d3oTmTCCItXZLI=7@bq!@RoBA74PD4Z9~$L|Rb zPsN+2rQ%JwFEcLooIvtU=(PRA@(b1X_mX3(vnX+7&WBC%ZRoxSoX>pvC!0>;r{xB+ zD|VxQ6=T_1YI>{%1} zr_#&ua-VZ8Wp(z+rh$i*2Ch1ST}fJZx!$CG&Kt59GT;J#rSrW?&Po!~@55e60Ka5F z?HOdtrS;gXzO_1obmG2#tb6^F{>q}HO+c9@=Jz^-JudyaoOX#x%YNN4k-Zbe++^#& z$zJ{`=BIqFcpG*EbNMFt8Dq_QmKbMlF86#m->v@N2M)LG)Eu%BP zyP3bM_6^T(V_n__ZuG(q15EMtHr82F5!@sh9!_42{z!&n@In6iG5X706uW1yJ;<_o zN!jD<8#cwKu_^ArUbqw9-i1w3OuXAYw|c=H%5WjFMFcuf(Y*_*ITH&ovIKlN%xp4+F@3hDDcj~fE9KCVKoo7PCW=gNZM&S;|N9aeb zr_z1%so(ffVuxgp^{RL}>(2@k?yyBlvrYbU(DdA@;HIYom)bLsXThtwKfo>sR!n&b zo25A(7+fcNVLo}RMJwXi8*1Y&;b*^C_yrTbZPber>vhjvtL}ZOH^{6IEROCF&btL0 zi(fa6eJIvq!R`X~=tQISuE9Iz+Zk8ukHCxQ%Ii;mj`cLdt`_i2vc%w6kf|+19hw(yZoIi`GbBB_jlgtHoZXUDe#QmSRe}K(k?|a$U*D&Lh z(q0Rnn%j~`>hDBH=-zTt7qW(6J9X^u1(|dIO&ztT`v`4(kA0ljk;y#-&3pF9>^+1x zxO1g-ExAvTRrlBT(LJn`?2IDr7--SvikcunPXw;5SL{_QqaoITk61A0y_+SeN7T zPQ!jXJkDqDL&wJz7VsYBkwe&qvg_jGiV9x6GsAi3#Yn@?&6hR`c6=P?9=7E;ubTB6 zWgn{jq9-$CM>ij$-?|&}d)8XXnBDWavxoC}XowOs$FFSK>Bg$JWhHI>IX#?h#HxR% zy1;z>n0MRyIS;VsWTNZkhcpMLZ2ge4k+r&ia}T&wUi)2f7e}P0^Yc`F(dPSjb@AP) z{kHE;HYK97Xi6`K7}S7a_&nl~rHwP*lfZ|}X^*W*IBnVA_HqKJv3bG&{Z4ozDZKCJ zr||x^w>{6<(cg91P98X8mnY9#)F4mH8_xH2+n!j}oxcqJdhpkizh2vG>^|VYy49>F zpG9w9MO~d$FvO~K_a@#e*320c?8Jd}>z|UHsPi^ib=N>w8}gK=vuSJ6tbcuw^I&U$ zpJK0G<+Ly4$L}uG*^xE)QG9O!w{*VhOcp$Fv*zLi+wbM_V`2mT$oT2po5c+t`RryYYBcZBf^B{Mpg`bUjBbyUu__4*~wboBo{Zk<36 zJNECU>MZD+;_oYcbk-?bICW;>G_q0HHr_e+9(Tc@RenwcxKS*OwdVfrX6KHxiAitL z9(TgRl1s^xZS&boXD_mIFa0P`yTGly(e`V!tGx4dQu6simUFEwn*~pkH149T8KyUc zZfl4U&r!X2pqHbVY=;cJG|&m!zUjt@|OoBVKv*E7(J!?!-}vfrj+GBAT!7yBV*c8RkH!mtxA=AI+(ARHtG}zMnn4 z7U&V|JH$}z-XrO`v|)7yZ$)L9^@BA=hPnGR^)yEE!&>nz--yek`dWyhvCfy@^iYcvyVDf-ctPiEc}hHnNgrRHH^z)Y%}2!e~U)- zw`-7a{G?O8+o`vVwp7lQPn9dWe}MCS%IaQk$NXNK?S$!T6n%Dq&Zy5$>5Lp_tMDVQ z8aK(;IPi-O@u%opIaUva>NgKoJa{yAFnE${Vc**?SPMhgyIK?UHj2BJxc3FU`?S(! zvgdp=*!zdJ0={GCghQEn%PXsnd0YSH$rMyui@6-Odnd^`J^?;7t!1t22z&f@i2bb{;w zc%NLOxO4P1>KOJycxNd!_XgIz&RJk9U+lANBtJ%6-L|t}sPkWpg~mtYznOg%$-uu; zCdi!7cge{L(wc8I@_lHx=+4WW)zl+KsJEQxW0v!-;w{L-X8MMlSXnSBSx}v|=%zNx z745jp+63Z9+uxGBd=p$2uesdG<9o;adG2!ObF>|~g#KtfqQ1uUS^DGCo)Kxu({c1^ z3+s$sVW$z`9KBL4gWE%rd$FFIhubDasm#2?ygDr&mixdEDO-?XlXXSAVv3Gp?bDu^WQh57(@&XRVB9pk2= z8*`m)wAF$fXx#nu=Q`%M=DqGb2zQ7ztEeW|@qw!i`V^0lJZ+(#WKLy&Wn&Lnb(1LH za%Ha52igRWq0bBX3-ybkI|hYg)QKt{15Mbf(ns}!ph<<^y_Bwk{ zB6T)U=Kys+@Dy<*^v^o!AKCdW#Fu2#6;elccTdq?+|K35Cv?ZR$kTZ+WUuKMXTr>w z5O+T~7e@R^?>`hDO=M%A+k5JgW$lv`S@|6pCidzepT#G-n}*MUC&KqHJTs#qo{3M0 zUtxkZONlc!#Je?qPX3AY_p-@D_T{stQ-}K{6BB$I6KVK&KIKQV-i1YvSr&4}N?%g` zi{vRzx!a@rLfkDEo!;|o?wb|ryLhJlFXOK0kEyS_p>sHgp)u5*3qSWP0zrJu#WxoW zT<>d8o70eiGWvi8>-bI8MoY(-Jg1-NU@Yu=p~e5V523iSJ6`NZ*V}QK(Zh~QTrqRr zMjR-b*l!nKPYmm6_j`11-aXf+eiyN4vw?ER=269fD>=)zs^hGDRv2f@o?Q%Jujou? zVpz`tt^JcDv1T3v*w7B%lf$|>+P54CKd|STC$ldrJ1){|f{jh+4%qGe6^F^uK7IYk zVPX5W&aI-ae^Tb#pjmUvXI3|-y?%Q`x%OS(&vQa1i}#MQs((gXnm?lPY2I~O^>OY| z-WSLB%Bnj--Q&Xo&NlYft-c0kb-&TmNLD{|NH^hDL6tiAu5 z)C0!ZrtO?c$*Ow*oGsWG?wGdDxb*@%B0{+X)Ke^Lo5sk`{Wba@AO?Elyz>0b z__f+Y$UPlcvL`oIJh-W9a46s-#xkgGr+;v-``K5K9oP>X2OpY}uQB;5^@IB#$Y3tykqt<`nMIEEzTHgER$z5vi2iB)t{oSJBBg6&2=_8hU&l8x<`@!E!r1EhVppV zBro8v{y8wkUvw`+@-q+LN_>nQA%4f*)gZo?-UnkI)wA~UCSBOt-D`OtOlzAfQ;Jm= zJvppHp28_wW@4X7hHAK<8l_(~+&ztbkg#h=l78yFq(M7UrbJHH02|5S|79nwWSq@JrBb|CcT7zCCx*eb~Jd+`Be* zt-|)JKg~Ja!*39`)Y|l7H>(4UVtp_R^V+82aA>uCnM(*`C7B;ltKTEFPQh!F7 zqYw8pCB!!Bw`23kcgG(K<7bCYZu2=c58u>&hm6iwgC7p#Yf7qZwlNE?Xe8*i%*X< ztn%k98O1r?_!~tlTE2rl_(q=D_r_&T;+;M#&c0*s z%q)2rdJi%0*Te6_lOheXna3^LF0*{s+X`nW7p9-b&|i(nfzBJ4R|*?yxStni&nK5R zgbTTEae}y2%|!NFUe8{#583z9vQ@P7Ti2{Mx}xVT+7TUFX#9Ysa>)Yd_28fVCcmv~5x%R!Yv7K`2(wST0=a=B8 z^89mBcOxn?xEtYfJ_4Srwfb`O3;AalgBI2g)zSPL4SvNFa>tmX+!-lh{w>+AvHt$Q z73B7gd|0UO2S2?+G-=MnM>3DGnK!eKraRSIyZNoCtit`#{7m*~R^$InJIkF}Vjh{i z#a%hT^#2Gs=gbneVx*yEq++2yyWT~wqp4{uFITf_sz~fnb=&ME&MMg@tZ0AW@Sh5g@2k%Zy_%jMDKn7GUpWS#?b)@?z4nc z_o-(F8$REJ7IS~jtei+rII@3selTjnIgH1x>Y1otGHIHCFcwa9we#CI@_51wqJp}Js0~z-IKJ%r2DB|PYqqHTv z;r-?`bKPprCG0vISTd8nd*&*0EIqu1a=z1P4Oa+vPxc(xQ)2!cvHm^&Uo0!Q>Ch1F z$8#QGB=UI}Kb~^Uhla!&)@GSa&qhqcGf$Wm8-|aO zRcK4@+2w@si$;0xwW5ui3 z&(Jz0UUatm+_zG-uXjnm3wh=8Nxo}`ydWbw|IVAG$$RY6GOVrV?-Ofg57(JbpN}Ia zZ{n|Y$SQN+#~F`n$ve>j=XWlEN1L%3iFaK^-fxMy;#X+RyRHx!iV*K$&8-hDyVCLV zZkVNkGv|i!2_QE?`qm*E(>n2=_3Hs}YH!n?b0>~*h&X(A-dJAKhxpHBoZn+CwT=-t z3zt$h6TiuA!$%vk4b0gqotNRGVxYXgtUZS&?UDR~^6~Ck(^zLXC;b=k7yfzq>+V-3 z0y-DcoBIR-=ISM!1CgAapMxjv>yvzsZl!6j%9PBd-Uuj7#(3h$LniGd`N>^5+84|h zh&8ujL%#)m;4kGGM%@9>pqS>{@bvI3_<1|FICNN^X2yz#!%y{1^SYP#gN&~y9xHjY`B|F`b#jtv|)Q{WSMt-SZkhtG&dZl0)n}R|eT{JW|d)ox`{s>YmY#K5TBA zjz2*EUvS5f{`UvJD-+T?8k@H67s`h8#zFe4cI8nkY< zU_-@_CDHL^4;}vizgy>@(eXcB(2K>RJvu(D1y zr!m%&XU(5R^wZn$L*v!PI2?YOu|j_ys%E@QRdWM-PRXA(%zW_YEy7Tq>lb-t8- zy7z^}v!^I`Zsqh^#ZQjSx{))xuAcoVdUmaS8|?yrQFq!>zpdlqRSa_i^0)JD#U`My zZ$C?WBR0zJM4~A)=1M1@vCjF&jP_h?;s|qmIPEImWZ;)zXGX9?j{%cz8^9Xj3sf~T z7R7D+9)@8o#EbfrEJlb;L|i>mf*sUJj~oTh1$w0KofqiwM*N`?%19?0+KHD3s}=uX zaa8=W-W(a>EF+(D0QH(z<*!`r6dk%+zCyk7Luapc49^h!lrlQ&Ej+9ImsZUA$!(7n zGDfrLOQrwP+gbN2-q)HEh_pXJS@nA`pSsgKY-n;{IFC1zIQP(Be)G46{IhZeou3(Dy$)ggmx!CX%%LWIukl#)mVZR`w#iyWx(_c={V^3!9q*ON8qPp{KpWC8h4ep6S)EHlR?ok;H4Iv+M>`+k6UqNiz`N(DgWk69Z56Uk zuNss(>pd>gu6M5vk$)IGExm43%)GuW^QKxeXQcD?q)7X%w6PKVvxtX9Ig=3NeB3VX zi8KD|q@T<6+b220ouYngHcBV&RvB;@Vqy4$O9H?-gOHS+<0G93;L}||Y)VUKl()T* zYx}0xQs~gSt(a~;_~i?^YYcIna98jA>#Zxho_Cs)o#&z-d2ZvkkTiF^b5Uay*SUVr z+_B?x%cxI`Pslqy%pLFe7=B`>Puf}{^)Lh3_Ivz zbD~vkrRKy*&m0i1+&SQ`$yWZaztG;fsQeG>?zr-&wY7s+?9QpU)ujdP9h-XYusEUP*Erf!s3GPgS<@L# zomUv1dYhYb&_~OdTe@YB9T#>Nc5;p z++*4o(7w(yqa*9qaE`R2{+Mf>w~0H*HWe(uSx@@1F2uXdaSI=OAsin55qQfQJBOMK zebzkFJSykSXusLCaazC}wew5wMeB^mn!*D1=<1*6opSLeKCGzVTb!{{%*5r@^Je2l zbK|wn-O%|Wa^kD7ex>s>zKibxcx8Dm+PHJkm$*DI&8|8BpE%(ENO3-vZlzjJ0~*tlXKu-=|AOABn&-d4SdjCO|DF@Z+yrAwaFH{O=E zZwGaZ?-=J?Te5GWRejTYYog~=3Lan|_>Apyattk=1rr^`O&DeufW0 zw_={|7>Gvm1izC9-V{Ccp_$h?|4UkO)A)8`hjiXV{&MiC-@F#t!zZ;e4UdxhA(z&r zvG@HY=0)UiVghrM_uOV*@Xmbc6mv9$?Yfz_$?Sg6uq1z%!`Iev9lUM|J;~dwg7q!D z8k?!k@@@Hb&aa@S4Y`OtWPcaIzA2cCMhpzjC?s<`Z zpnIC^x%uo1bx#ep-4Klf_zU^8x)ZvSeZ25ZQoXC42c9Bq@s9WTIm4>6trM~5PN55? z^VxP)GJb$9x+H=xHjdxY!Jb_KF6nI)XLZsW1UOD+en3@r&9R;(~D(XnIXGM~z$JVtq!w&hw5peSX#j4TZ$3E=I!{es8Fw5A2D2PrP7E$8mN!C|Sgpm%R{V ze9Zg2FV~W^#if%wk57mz>GtQC!nWT$#ZNUWR z3DE^_I*-ljf9SprzfCDQ^1d^gl8GOEWBbxQv0~YJ9W)M~=#>5|xFZuCy|3DtcZGjFk2?Zx?M-&zj!$%M0e29(k6(;m zM<&|4U!8GodHXzXqTtj!FT$zyGgQLw9H++DFuu=%|EuKtnB#UHvZjs%7RUa0BYECR zah`QWoTCr@c9L_nqb#_1(xX1}_fy$U zAK~e$pELRGINI&p&$5H!U6!pML+4&h4&FcxI@%dK*g1|IM|el?qWs*E@7#Qmc0zwn zwL^W$X9urXqvPN+(ESNskM&Fd#0nl=!MIi$>7jf3!nI+-=fi7vq_fUoSFXS<<1XN?Ob#o zo-T0GXk!`U&o~`fe?9kI{z-eeZhPR>++ck?FEiY|m;;Qp=8oiji*DS((r@Z?*SjfU z?p-NoVXGvPAkMcZ_1V}#TAZO_Z} zUTKPs*3qAguUtSqvL7z$cP;+%Cu2pOev26!sYx+^ z`HgLDzGTd8*QGY*MqdUbx(~W~H9mjK7l?zs!Tn3dD~~-<#lk}Hox1_}COvDXLQ9l0 zpKXCVuI{^NZF9dxRm~^LM^{Uxk)iq`-ppmswIN7#)vdX)=Fb9? zt^X-}*-k%}<`aJnMQ~Tu7wZw)-Rd46>Yy6$0?=9?Eq5lfF2e~9( zer@%e{^Y#_@ju499mWj0-KRHJmUDiGIMYDw>thSqv)HrzPB(DJ`OKX+Azy1k{AtsW zew|`aS5$X{PUcH{oZp#_Bg?FzO{S6G3ms?LTZYM|%CdV7lkm@NJdnH8@#?!8LhR?9 zc>1n}7WQ=fRWwe9rIe!B@OX_|Q#PFBU(q zuKojU${%fk*8|tB-WUeni#Eigmhy0QynJN!%PIqpx~pyY)mDC0wZ_(m-7NdLA2_w{ z5fjuJm2B@Vztc*46Ud96uy0M^n+2RE%Cv8|t6^IA$da$X8!IDg1NKd^ley(9{=k}Z zka&-5+QzEDT|V|;rsbO@8E@e)^SST$rlf^9Qt;mB@-k!k1z!kO8`)v`v5s_-St^(3%T*u`0q@~L}-)jYfmT*Sud1aPh-p(7yVYum!Z`##{rt#@*U zY44}F5cJ+h`_-J)cyxMqn`iOgo91MY-vUm*)+O4wH)E7@DdlJXrm$fe`?AdsJ~9_7-9tK za}luv^;vZ-jvZ-^Vt%d1lJ$YFlb?PU^_AaxjC(=CNt|M)U=@W8F@9UO^})i14jjkR zoHxLsK8bF@LnY~s`ldbz&wkO~=65!;uh&8QbLq~{Rqv-sI$1+H=xo`=y9CfW8(KxT z;u{_9y_D{}D4GMFKI4ZgR^Ha8w>3FWi4We^^Ylc~ZrkIxx9U7JiZ)9p_s(1zw<@35 ze>>+%&(as&EB}ac3H0nf&OYhwKgmxHGN55 z@e%!h61@4yreQraCf(_a+^C-L#km_OoQ5;{@vAtqip*R-uBv&c8O8nA8>-{E?Dtgc$c#vFv@9spk~t-(K)7KV!qxhzMJ`RDL$IU!^R6z<1jzP z1NA?d$DUa#?@y_`0?zCxUw6On15d|z1=F3+Qbu#H12&4^;031r`9W%rSd+K!pCV7Z z6d(0AK?}4i9~%1?uy(sVn(is5J%9Nlm-0JZ8iPHo-#zIs?;%V`r@sOCSPmZ#k@xeZ z&u_B7uf;sIdYSs7DZPIUb zy`r+j?^MoDtf82)=#nKLp!0N3cpv$@Ia9Mo=gVlvhi(=nLwePHe_lM*Qr|^k4!WGQo+!4HxZKgPkK2Pzfd=oWJ?%5k^b7Q%uB^PC! zH4tAV?}{b;1NQ%-f6AL~LRx;wuht@+?@n%G*#?o!>C@)QzP(KSefSDgFZ|M=hJo(XY2 z_%txAb7mp@0>0u?D={5c#3A17s>I^ z@2)du@HCKl^VOQOIc>&S;wh_hu+un8Ejb>7&6M|a)!>%$$<mci#*3~$%ta$kpyN>EC7dG#B-8xoHr1PQi2G^t)>xF|H0?$CA9ZdJ;U>gCpCv zF{%0~=*{7~_Noq*=U1~o5f<;u;QQ7K_;_Bf!yewK4SRMmB~Q<#^1Qn5PvEid2cgq$ zV1DW>0sC$fF10iiR9ju=>0>oG)Hm##qdnNqY(?*3;~tnkuPlERzk5<9dlOr|bRNG8 zs(J9ld07fjSL=?}AMxfR>gH4C4EV&OoLQ_X=oqafCg*cfSG&5{Ef@EclRutAj8S}9%lA{r&NH0T@G)k|cY(9(zQb5d ztMo6C&fHV=jlqNDN0d*j*1e1@@>*s~k7w6i$NC)6Z-;i6^o%`ih ze?LB%vV-c%kSTuLX~W^CBMs80Z@(C6P(N8Kn+}1`zPbI~3@5aphkf&G7IsA=XK;Gc zUR!lxgXH2B(vpcS$b@`)i~rf{Z5&&)yL63ZZFj%RHf!YE#$j-{?WldVU9^_pM^Jmv zVBi0uP3h%}@#KLNPcq?!c+yg?-!kT{GZhD8-M%9)4I}yqltpv$_3Jy!a*Ubmm11y!a!r3d@V(Q|#|)`sk17Q4Bg!?Q2Mk z>sC+&{WbU^vf0M6$Iud(UN8W;Z_B*rYT09NV`t%0^M0o}@;vwZpT|BEpW@|XtBcn5 zwD(|+(ta=MSXseW8EJhfy@`!~OKfXCZRp%tj5FmOG!Wk^2M%lkveA?V{#ut6O_f?&wGEO${MFmiYI~vD&hNYSV_wOq_x}I= z-F`m5GceibtiATyYk&9JYd_9Dd&na91pRX~FTy-_0CQIh z-j{8{GnwgWY%}duIDuz2yw31^@MYLGo||pX#(SioouPMV*`Z}&;^mkuU5@A1Vy;T_ zU&7@)nzQ~fvS1K4A>XeS_E3X!{p0N6J9w^0zDMfazYS-Lk>2FjqvfOD|CZPi-vsDQ zWkTNlX&;uKE5$j~G?#u1lkBg}E{p*?WegGPI%cj6k)*AC=fRNS5e|EBFMUo`8|;&#G`&Y8k{G!G2W z_>Wm%)vhUCOl@uu^4=ZCo;-#0gd4q6UfOj&+8WNn#B;(@BJCdkjMXuf*U!1T0stS!}U>+igb+EORd4NOgI z-!>D!TZMCbva!FQ8f*62{Nlw7>mT&)(=gUQW?(*HFFr49U)`{%0dwcH?K5^XVD8K@ zd}Vo<^c@&4^gY3!Z__*Qe2;M#*Z1S|!xuwmTJPj((pT``C*jw5EBHI2{JLgEnD)r< z>$VmA+zEc&vx2`f%&&V_@O4IhJ-8x#f@~TXu?!Zby?*?9CJR&l$gj&;n9ktj`~%DR zSw#am^qg|)0j%@v*!33rY8o%X@Baxn-vZu`;eS6uxT1`0=Ic4I)e~6Hp)oqyAld7k zNJq9uK9hV1`N4@OqddE>E8CG3-hg}Td%3b0@1j$`l8<==gYP_w{IjWjbYz9Mg6E|4 zn}czFv$X1hX#epNeB4&F9ZL6~sJE{m?{w4|?R(&T2<;0&Jq}>K8+On8tRAd~MDrQO zSp&$2w@Kt%x^rU8H^3)91^L4$?-$T!+A#*Y=G8TQ|A}>dmHryEV>*|o3NrAU&6kqy zyqt&dEFZL^;u%0cr@>EOMl_Up2mF~0@~prIXDHXs!anzGy!(^Q3h;ZJ<654=*tG%i zosG2*JJv$R;5`p3)RnNvdqPaM;h4xEY@$SgG zusf@};#_(V*B3E5@3SktyQHu5war6AS?so_Dok9EQS=w)YwC}FVO4G$Y zda{}4(XZru5YrRB;Po`@nMd9&RTwvszBGpB{*3l&uD&Qd{Y+*b<*^BQ?1qf=j&D4O z_7h&wJaf?>aIbL0^Un*jU%4p!XYkQ;%Rj-cc4L1o?}N}z$%bx4+=@3Wo5#QpzRUaO zT-uL)fc)O@FEI|ox(WGx<@W;MZ_g0pmTvgIVmb>)*;m!1@UIb{JWe?Y8E6mvGzKZn zyEtlRvtb7f&~X4ZMluGFpRhCGLu}H{R>IC`Y~XGJj87S?fG$R z0mixfnNv2N*-^gV1ReEsA@yb0kJ@j?d2RHLEahKXd};VBc*suZy{->XCJLVmIEi&T8oy<;DH#4v+3|DaL%y2c&DCDQd!1O*UwlXB12jjyAuX4WacFFK4sxtW zZ^7ALrAXU^dz7j6A(W{BHc31`#5x1Ry!a(ttNg5J7p2E1hhIQGM5lXdE2Y~m6KC$y zS`ga!chEO~4YEkiuORy)lpW)^@6w!SDwPlCs{RLbq_o*Hr*ioXER&5ON6<{#zh82UtTn=`3K< z?W-8?(z}@nW$Bn2D+}I3yA@?oJcI);GquG-Q^PkSukS$L72`3EqP2CZU+TXD<%=K1 zx<8%6oIbJSD>jsMU~Bo}PON*Q%>CJTM%ya!xexe|ZD5S~-RptP3Sd)(cfI)8Ho!rh zTOE(b;wTPN4*b&y9I%!H9O^+QJxGV!@Z3Us7Vo`oVw+!sU0L9R82aOEc^33bZ;EoM zv!Jy!wxe9ieHn2ajeCEem(&|ddJL#vhup_m=?Yh*P1*_ zn$9vJU1+?OEzgoBUFckBjx)+ZbxZna$@(0d#?NEqau+<|sR^J_j=hi{GA&dkf<+p&L`>IKia$3YH_w`eW=4&+JWuLkrlOYz<|-hcig z&Ho&bm4@@X^|WdHJ>r{jPiK8oovCxZi@iM$&O-Xj$c~Z!`FtkUn%i|*@60`mGz0L>Jv1f({W;7Z7_NWtb(#lHIq)j(sck~f+Q~>e z`N1p0C+@NI;r^h8_s4$$zR78w573$-TK7aE5Wy#m)XR!v{PK1XAk6V%ttNNa!U9F5~TYpHLhXJIE`OXzzJ zGSurw`0egS>_NjhjJ4CS9`*>Pq_5S>4%gE4TU5omzP2q_ML}Z_<~&G@k3+fb>6wUieK1 ztanX0fN{yWw?KQB>=Qnl^1p%3Y?kteAe-{I!OOT@DtGCz={T3>w%1oqUpf0OHg^0I zY~1*j)5p%Hd{#qNALN$~APww?*5$bUWMqfQFY|sHGERYy_Lnfwcs$PTpg3&)yp+mY zdMG>m2mIdn`FOq?|LiyUTq3bQS)9vBXM2+m)UZciypLvi^4UlPzw=dXaxMq?N8dX$Sba55 zGll=&COv~E{((2J7vL$Z^<9^?_&LOro&S{hzJYgrVQW9c8SXzgj(IfBX*mo!<-Hgo zpX-5_=f8JG__yePiGK;=Xs+>tt4Z%E2mXq*M7N;4-@vs7IZsMCvk*qhFfb$h4rKfe zX~URjV-RzYe$U|=gddc$u-2d1H!uV1!Q`5xP;O=X1N#Qh26hcV4& zZXbg=VJ&Zrc>Z`iCu~F7QmmQqa$|qkLFjBjTRs|zbg|-`@J;Egy8&l96~k{JeLp?F z+=hGyAd~zA)?E(L8p`8XFS!F_@NGqfe2@RF@GEJ))qRg+JWsNz&9K*IhWF68hU$33 zEdI=@GxOTMJ&@OlH78ET`yuy8?B9a!gt?95+gVHVHQEnB<)X3>9;F+^xUCJmhY{cK zlQn%u(a)cc_i*XiRKvAn&yoK0TW-Ak(`N8B35Gd)F~$mPcS+xLoU1c{dBPFW4P)F+ zTrU;pB2prX9FwP zyuh|UH+((hT=Yg}-y0ayD*1FKDAi-beIl?OJ-@-ty{-i8zk|eKeJU%IuN; z`d^V3VNW#L8~l5e9c}l!R6feP^kcjykGg~|d^||+{B^LuKNu7TO0!KAYCu2y4t+7c`=bFQKl)^DXR$fiFFUa~be1Ti;zM%c(N- zS*18v8@`o(XM1oBp22pq@UQV+ZVTSqJh7t$zxOcpfc*~M7xMn+k65?7%*rN}zqPKf z%s!uf$EWr~=U5vdR=v%6g z&%4;4!!bnvb`mlM=OaD#d;Ai4@$}f^F*v`tZyR(Z{eDRHiSqKXF!nvXd#UBg*MAP* za%stvH$&HkEAj3So@Ms5E$KyGJRj_tt$z@>p11@4$!-a^y_MCMj=9|j*sE|++S%v6 zi}C3o+S(BIGu*bc{M-*LXP>hN@Lm??v-Hfa(Q0`$jitS6+q&vp>4cXacocS%jj;6N z$L_wpKkZ!h$B*89+p)BBMtD4m@`uJ7N=Og>Ob#$rjMA4slu@ z+Bk3@z`K3N5QjC^19;E&yL5jX_hd6)X{0)w$=CTPZ71|2ySp`Qa?6B^Sv}e87_1|l zMV^o23=yi=Rp{IGlbM*OjcuX1R`JPealW%<^D~o0+r;leyv}~S24^0yKK8-7zUe<6 z&)@rIA7u5}fG5dc1({Sk2lQY=RbF&ei`f| z8}&WCcyjOb&dH1D9OQR+S+Kr`-=AP@wzkf*`qd1-J)w&-^ZoY!fjI?@6|k@TO4|2C zzZtLw@f6OX5IW)aF9mMhzzsUlIb3%kt`qz7=z0gPpFw_>s^Y~fdf{vEto2>2$ED-> zG|u(8(sCZj&A@LLj|ndTFRe+^{ks^GWZ)iSz2CRux#$Vlz7_j!bi8vx=NYX>9O;F3 zda!ndGnCP{p?+UKiT3i7H)&n#q5~(!>nYFKKP@fn|i0iHcp^@*l|ztDILva?D+j+O7lL-brQ53UpdK zr+3ZOdU-bNb31e)e_}`7-+=YK7jRvSXV<73e%1)#cq@2{@6daDpkLWbU+%SYJ#ltA z`ic{%KN|bc?_A`HwXuU@ZEQ@-mGJRbV6AE;{LmG}z?li%ui)!eV}Elu%0XDBk!@mq ziu5m=(DNYKW--pT>VwX-u1R{$gI=Z3k(Jskn)3dtC$bSab@ER|qGFe+}XsbDsiu)eBge@dq^0n{6mUQ$L zufY$JjW;Z3=NiCY3_TkzDQ>4e@dWz(A^6^gvBiDQq93C%0NITL@nqkqzy4CZ*SwYL z6t)V#0=t_j=y`cz+s=|jRL&FNWtbV*o4a-jQlJn=W+0nZ~rakdLN*k$dBC&-$u_bqWvhF-0}?i zQOb+&kH&Kd@-=jZ%S_;8hwVIqwxVIZfUqHqrUN(Z|Eq66+z|Raj>`bd>0cfnhVabGED z*(lo|$Bmzj@O3JO6=$(gAGZ*Cz!!<%aC@=19sR}CG^R%Tp!xCZC5Y$G-oD^ zlds$W8tFl2RyBMJzb|MP=U`BqBKZSNs6+IjmrL1epMgF7JM8C~aaR{$jOE1MhhqD@ z@Q+ZJj;mm+ZO&etrNYlFp|(k58Nv#-(^Y!(iZIP-(FV@_8htTr`y8dUA)Te|irxX( zEMY_S13%sO9AuMEB|Bm1mp#aq3OlBC7tEVJ@obR4;CD&?l1A^BTlo9s$iJUWn~k#} ztvILNa)7@Ni7`hv%GH2=)dD|}jd3gdwV1DA{gdmB-yI_VWx<&P--TUrIW@DxcYRtq z{H733hxN@TRJzXD;kHjphqGc;y8BhSBeTOdeOfyFevV4FL!~=2JG=?$U7Fj+j zmxlQt@iUZ@o=^URN~2vFuKu*Vum_6g1x$P@UBi`Ovae6X62FJ6(lx4dT~~(Ze@Z&i zkL$`TJL*-s*RBlbeo8ua6mvYPJIv))s&wqC@TH%Y4!^s}(;?qQD&6Xz^<@3<;#87=;djPJcFd=9ckr2kOHV?W^UM~nYh#%uZE_eP6?i1?}V?~9{?~lp$a5g{u z!%s`siTB2-E`aGtm2TRc@S#sjr;QWoU~4~9>FVc%zxiqDdd5f7{aB^Ld&YY{EuD5= zRL?$@?%160-Jg~Y=Mbv$J*CoNzhMW`F|@z$fM&(>;2+?OEFF8(n-%u^#tH1J3c{Nu z?-Qwb_ek*vE zc|OJ~&wV9uR-Eg0=>Y~gNVm|2J%B=~~*)Qhis|jLW-+SQ<8EhE_JHBvV)(UaOdK)pG8Ug1mnau! zV#eJ@Wn_*l%$(&K>Q2;ICezMiwd>b0o6iS~SzwEO8S}Xu%jk*-xuF8}pUtte!bX>; zFaS719^KyRSfbgRU2cbliqJgXpk}nWf||>t%`Yly4diQem8;fNR#jT@VSS)+miOZ+W4^*iuNw$JW=d^6Kl>MdjHX4per4m6mHI z;&RDn6fLYjL3p{b#bq}>V|q~`3F)``Y&wTy87r$^TT@k0Us28i0jeICPnW8qs$5MT zn|s-3&4+XAKCj!IkXdbAUF9-X2Gj(UhsM2%mPgFo6KTVbJvH>T?)UEBH=Av>`8_N*(82%XLZ&9yN@T83*pm;_n!XNqo=#>(#onTe|KbiytC0xKd?=!tSQrm@7p%?jc0#%kq9ms%=ZOaZtQTl0+Qb0^>n~ZA#Gz& z6XqpJ9nx4kG~pMujZ4WVF4vZdB+DtokfYh|v!m^KjIAAh!)@3CP{-w@IJk=d0?H_$ zZ4@;~^q|*=zvLxleiQ^cobFJd84)l#m%Uve8kb6u0o_s|Yq>Cj4pINngbr`34GlTU zbXBuA5bT&ke`C@ea3fKU4z1a6`(O{YCS!@Fpx2h>29{^C%;9ezKK=X?gNF~F+IG+I z!8=ZO?;q~G^LIxc9J=d%&{0HF)@i-yPXG*xRkGb~U!cFi!1%bm+)EL-!nj4ktTrXLHz90oxWsM+Qz; z6Ys`2h6b6o%++u#%XMhn0f6Z8QIsFIpfa+I&uH7knqbMF&395V9nLZ24kk7PidX{w zPu(Ps%p=ETce}LHPd;BbwC|sX4?RBnGwMd&DD}kLz!Q{IM4pp36!e9H+Nc>xu;60Q zDzwu_o`(jXF?Y0gm3czmQIYWsqF^x{27CW;=$>!GhE~kxP6#b?33-sH#8bO_G?(Ku zssg);CX|(~&7!fni>msu>>Y|Kp1q?_)n} z@!SCW|D%jp<4Y(-wCYu}lXj@17e>A04L$cA^g&dHtI(xE4I1mjeDG(i?O1|@%(>5x z#Vyg0+hFgGp?ku@LFCdnm5*#S8uFrt5_GSp5RQL|Mi$2-B-8M>zCX0@tEaZ#2L~t2 zm!Z#XGJ+zRxYpj=+o>&$6?6G#EQ8-@^}>P4gc`t!uSs4MkpWt;Xy6h<6zcR7hta)5 zeWBSzf{dWfo6y2&(unc` zp5bple)^ve4?VnN6ljD~XS@Ss;%1444vvI#VxjC6S>YC&zYt^MLcvv#8z{gaI+}*^ zd9iEw(VfFDK6rZn4lNIn+Nt}#I(Ybd!adEFtV+uOdO;dJudl0>Rf@XYd*JjVj}JZ5 zH57hf@bEr4F%!f40LD@1Je@X|TM#hZb;KqLOHdaS$A{2-bP}7x#LZ|ti7C`vg?B(U zdoy|>HM!GbV>;lPJmSlBWHOLZ$w ztxd-Oh<8f?CWcrnch0=4(J1JtUQccS{xXIaA6R}u2GPn9!^=hrp*4k|KV&dkXkdJ(jp?pNca$K+$5vv5)wGqHagJ2lz`6uaNgV>C;g@ip(P%zK zqe(2!nPzJcm@rt&WI47iXphuuNMSjAA{&*BA!n3>Nt$hb>a5~m76ndSkvyKwX=Zcg@bNQ^_ZbY68l@KXLBe^#@UGxH$#y&qkS7U~Pmu8^tTLN??zh zVSwFmM|m;Hh-b`H5z)d5e;xB0yaSBJMxm2FMOu%LNtPw2bD6S(9?>ahVts3rnvmjT z2gx-|oY`fnu7=`9&h0YM-PzDdVo3^<=2jO}!TJk)w9CL?hnK+~bZcAvuAl)AZ=g{J z+5(%DO%U&({slxYrYC&mC*;E# zoWv&N;gd@&>JbNxmN*Ngi7_dbin{ueQdW2UI=!x9T|K|3ttk5vTUohIzpkXRes1(? z9;>fhTfvE}tg5=MLi`nks*<{Ty`*dntE#N4uUN;UD%Y)I*k~>mUUD6UMw`J3Y0b)E z3)%`>J;B0&LoX^^i}i$(nwmhNh(rfp$ep3v7V@BP_B*1BkBX8?N_AbK*B9ghYiw9^ z<8pj-6%`@wxE9fj;>AIi!YH#HE2FH@=FnPgO)h&OmN2mr+)k@J=%l<_BWANV=a31g z_1s3R$m&6?-{xQ;IEOB1A(!QFr-QqV>_*&?wd5?hnZ^5ES_RG_my0BnLR^YfJ|BX}L67pysl0!EQt-OXdqVwuPxYVH|owLzkM-GQ$MG__D3xog^D~0rT zeR)j>Dg<{lAeBTBMYl4BuiT90m8jbji&!aqo&+|=H#)GXTw^Sq^o%3qDPO82V3J8g zF)@(G6p_Xf@X%{3s;|?_*VXCem31YhRTbjl3?EEuYBVIKt282r4xNQTi7|d5=$n`2 zy4@l2`|aY2kC(+IMjv=EqC*;5C|{D|4;f&PNH0(#O&|q^?spk9zT>*WUZ)#~LH zn7ysje)z=I7?mVUmJFVzP9>$ZD{ZQQ+uBty6etUJ-vgy z&tq9_j@K7Anp%QEw03IGx8K|Io#C$@c(41m=E~Y*qo`39=cy_kB0Zl%LZ%$^EYXIa*fzBN z{!>r9aO&`*nKb+&CB^(tjf)b9nzto7V3MOQB*25kxCpGB(E~_LNtJaFW5*N71a>mk zD0hsFW|A1JAy5+dU0hO_ImL4ibn2OX0#K!&@-&$EXEGQ#9#~*7OznkMohg*h(;O`< z;Ap`Eu~Asa>rkZM@Ol04twMmmZCP$e3-Z5trw@I5_*;)^xuL?`5E{%Ua>qw6k(1bH z$&oTaXF1Q-s4LU*PVIeU?wkcnG>m8J*Vh$Rt}H35D7>z6Wu;zLUsYII&x5k+b?fR1 z;YA8-s;er?t}m=BUo)H4uVjUoy<;W8?QXQ;0kM-FpwXW^8i~Nu#8x55N*P~-06?_# zzzMXtYj|S!=xSjkI#vbHM7Z$yd(gPC^QVVu;>Rb{LXOMRgpnOtTAuW5`RJ(JZukH^ zdqiqf4weKwG*z0-r-HJogacDgb}?QFl3}-N!Dg4=F~?`~<7pH&3!!_4t#wrQ#a)mUy5GqwbkqEE5z-}%F_DUN_kUTQCD3h`D$0v zGuoI8*g#ZXX?1nIzP7qtCabDml^9oFrPNl$L`kGzzIg%g>2a}J{{tZcSBfKdO&oFe8pBi&(($=d>HFDnz$7YY?sj*TA_F@%w}ZE z$MKmir?yecnK?H{Tc+g*Njch$Uw}oUxf%9muQn_8EIIlpdDa(X9L+bEt!<~yBT9>V zz&y98;F?7Ra~IDqSXhL3rzbThr7T=EQEUC9I6`Pgv*Ya zo+RjU0-l!>7cY{`Wj0ScT(+l)H!jkF*PbrAeqD^<5)&fR_(Vz&mrZNOjfTz7TmhXn zCqPwui%hQKq6tJ{Mk<)d$c>9n-Nb_rjJuK^l3b<5J@m!UOH_=%m3N4!qQDk)MeWzw zl&Z}qicM;UIWvoMwB;H-JRGI<#-4k9N;1__{lME{P$ly|r+N(o4)na19_L&`HIDyz z{(_*<76jn&k-#r|nYM0yRn-W#I2_`*63eAUr8kD05S<(wmr!aU_(qqVDaPtr%|fjn zgKsz$2lqMH7myrNf=x^{C3SU-d(jXE1ui`E4kmO1;s)EM9P+9?5OOh>2OT**f-8z` zM#H3*VJ-|u#h>(xXXQ!DD`flyysNC64 zHX^dC&YyVEB~zwN&&g$$scB!p{zY~j$oujmk+T;vHn=bnISyL+)se{i2!jam&Hy`z za1z4wYa)@Q2qz${M>q{(Gr}T-9SF-2b|Kt^a38|%#gPbpBa=;75{XR4VOTW?mm)lh z(2X$v3z0}S!a;;DBkWiji3}rr8{uTUXs}>eB!YKH*((Tf&NADu9Q+8&S41Mc2(@D9 ziEt@GhVs3Pa3;b%rICmO;oh=HWDmlw@<`+;!h;A05KgE7KVG01Mwo|i!OBRa3gIGz zILCtRLAVX!Ai{$PpI(J@2tP!ap23)VbtHn{dS>aB&hHFi@*n=uNHVC>|KxYW->N_FdyNf>mm`%BG|#}Ba!_GXWodH zq7iP;5kH=>;|w2z5fI`2w%Ae`CLG6%S0j@ z5Y~J>64{BcAK@W{8+Jt^ZzD{{%WvruQNDXoj|lhdjzl`?eh+X(IPIZG1~%=rcRj7 zX*idFrO!thDY9hT<;0hdZw+WgM8k(@#rV2GTZ)iAGx4Pt6T3mHAwtQVk}U0^^oP?* zcUjl{>YX>TKmmCYz8&};1s|$8`XQO!_#OnEuIWSJete$>jndJFXh-l(ru9o2=}#Zh zYY<>Z#qXrD{b<*1xJLTohcX@>SGwC;c5nK9DAm~RF_iG;zAP z;7O8MogkBR-2nb0;NKwlxvpiqtlbvEO6p2{o#1;Pd{pODH)S&KZp)Y7I3}`Zd5GE% zz731$<#^5)%fIwqYYpWtWon2%MtOtxeZkvfEqUm&ho_Y8n!H66i0bq#c(%c}zAbn} zof7sHyRE!VsYr2kIuU$$my+ef?@psM_-Odzy)d=_wCzNYmX3Pvwrmu|B>QuKXAgL& zUcgiHQ0BwumELcCz*4>|qkCL=*3tBP$KE$)clw?*t39h`<*(j}*&w$+>Id@S&(lTv zE=viwK(f4YZZ5m6dn{Xo*%D-g>v5#{7->GlHS#=YQI*4nvCBh;)}|Np;lB39%}P;7hha{oVxhXHvGZjViJyEUSnbE45W>xx%OJN7#+D4RLzFqjp;fp&v> z=z$HA6_ex&l3YsW%Z=I^ROU-oLiI}H2p`4~+a5N&q<|{f{Z{LNtQuHvv~0qE42H=IKfH&@x-dprjdle6cz!Fhx-Ln~?*WVTUqp`4UIXk@<_$={XAQLKRGR#GkOwp!Q6*8}B; z-)Uq%jOnPa1ZHO}4_*H7=PR=M$M2ffJ@wwp?whiE@}5hr^@u2kzm`2WSc~y}8)*-I z3HhPTBW+h&8ONKTE>op0S9qsgXo(e97y`+_I~(l%8>0D>?a=6f09&o*LqU~L(p0A$R>m&Vom3^lHcj_SHC>ta5Ld`Ug{UIQQL zjq-9|a;@|w)b@jjA4Gh=i0_0ip%Dr-{0edbH&N4t+SY2XSPOhX}`H|h$ zFJ(q8xMaLL{zllO59#+}4v`K&9n8Mr}H3PyJIzm2q;U z3~GyKA!FblB9V`AO)^ANdNg8QEQ3GlGxP} z%_>f4h?JKD>Goniv`M7n^;eN~FkAI<*0othWy;}$pVI6>nwM{j=G6&%r%^X$C5Fhm zt+z&z20z*7Ye;kCcC>d~qfBCaoOMv!W!;da$w2_|eF(lucO;G3INuEkeA6(G3xe-y zA+M$+IyQAi?UQW09DHZNcSw|v_Z6$M&J-v16;?gbBZ|36C(`=vM1L*qiM-3|tby#2 zb!lx9CaIct7Vk%oBK^d#V(yoKZGW-C_Li(7)Q9Lxi=ivcP1$zLSyv_ zoq+cgFdw-_Kx8sgurV_4RqNK{FJm->A=hVqOax2>Oax2>Oax2>Oax2>Oax2>Oax2> zOax2>Oax2>Oax2>Oax2>Oax2>Oax2>Oax2>Oax2>Oax2>Oax2>Oax2>Oax2>Oax2> zOax2>Oax2>Oax2>Oax2>Oax2>Oax2>Oax2>Oax2>Oax2>Oax2>Oax2>Oax2>Oax2> zOax2>Oax2>Oax2>Oax2>Oax2>Oax2>Oax2>Oax2>Oax2>Oax2>Oax2>Oax2>Oax2> zOax2>Oax2>Oax2>Oax2>Oax2>Oax2>Oax2>Oax2>Oax2>Oax2>Oax2>Oax2>Oax2> zOax2>Oax2>Oax2>Oax2>Oax2>Oax2>Oax2>Oax2>Oax2>Oax2>Oax2>Oax2>Oax2> zOax2>Oax2>Oax2>Oax2>Oax2>Oax2>Oax2>Oax2>Oax2>Oax2>Oax2>Oax2>Oax2> zOax2>Oax2>Oax2>Oax2>Oax2>Oax2>Oax2>Oax2>Oax2>Oax2>Oax2>Oax2>Oax2> zOax2>Oax2>Oax2>Oax2>Oax2>Oax2>Oax2>Oax2>Oax2>Oax2>Oax2>Oax2>Oax2> zOax2>Oax2>Oax2>Oax2>Oax2>Oax2>Oax2>Oax2>Oax2>Oax2>Oa%U4MWA7}DER~# z-upXo|NQSo_{7ge_`l@+n=%}b;csLpxEQm@iyc;Rq3-XM_Y-9N_9^1xe0jg^C*neq zS?`}kf~hh-Lxz{h@TiQRmK6WTzec=7Iw{5Au^mF1u(K{~?_o`gQQqXylU*&(fyjOf5MMU|4 zD<}O`-fL1`MBXdC&dB?lvV@>>@?NSVrT^`NgR)}HP+)E1@b`g3#z(59{1@B6^wIe< znD7vVM$lg9Hv(SwmIAxi;~bs)e~wxhZ1okk8s4pXqt_eMTfGkBe@>ZEaxM(C2MXmGV27{v3d$@u{#O^L0d2s zNZ|ONy-C*Z|0Xt6@6B?YV{Gw{b|*cx5B(?DPDH*}lFp*OnVnrW_VVX7vD+|mA~fy*}v zTN=`Kk4jIA&WGdWrLlCT=D~^dF-*;u6X|1_nnxzm$1yekOr&QpHP20?pU2dEIFX*o z)Ve?-eLPe1r9?Vb6Gj<_r?K;yT2Dyi&tiM!IzuA;0=7xkXCi$f)BYGw5!Y$#bL{9C zwXzY5Ph%HG*DYdHh8e*{Os!WW(kHQ3gR z3I37wMVfz-KEWh?NS>8VV2ZBRXN3ME?M=`}+RvO%%r}$mNrF_#=}NM<1)nHq0&AWP zhPcm4T$BEaK2gT4mGm~rugX;~={u9?x}^6=x>{eN!6?b^mGni@e{@LtnX7PtPn!tX zc7zt#RcC#=pmd9%3jx3C1ePf4ii2NxH0kcCVy&OL~Lk z-zVuGCdqk1(u)@h##bc&v!HXkvWyWF>55*E{25CGd9~#KH%YIN^fpN!kn~q1eUGI7 zhom=rK@b`w9hJ`O{ivi5Ncv<+?^!AcHIkku>1QN8L$;SFsl06BB>jw}zc1;%@&SYe#Uz~f zZ5E6>rJj=|y(l2)>9TngNcsY4`0DvXG3Xq(VO-Eh_DgFNeX0~73-(1R=i^%i`^O?+ zncixf6zg^Ow-X`dsB4E2EJ^xNY*e>ahNctg3e_GOe zCB5M;K{zDyJu2ywq<{fQ|B0l3_%*>VtCzi@_;(1p1NZd#m87@bBkqrhfDw#TFI8QF zuvgmK8A%_$FOh!&;3fVey9Hg@!z@YPDIHRVe6TZtvt_ZOr19r`@bh}yAv2sNHU%pxcH|-(vKz4w@do*BssezeS=lV?~!sImGrZc-YMzNNP1gZBLDX! zeR6uDo-a!J9!Xd7|4q^tjS>7x|2HLlsibGfeBYDwa!FTm{v_#xlHMu#8LHKSr-P2M ziF#&AdOA5?e0um_#x9ZceUh&9$(Ho}N%V!1eo)eto@J8Wn?(Pjq#u>^qcY!(lHQq- zh=Wtow@bQ`AC&YiNmu&cD(OY%C6-Ir;bfMPG*7vk^T+6_ykSY7Ao&%2x1>)@qCY0- zlalC9N&4g@`VS<1nxuD1fAUjF-#b1LhhIy2PZIq%lD<#U^CX^smh{(>_$T1OFtzvo zB>H4YKbAz#k@Vw|&O}3JS1J0WL_M#O^Z`j%^|eCMhm-iLB>hYh|80C6azz@+-O~=>tjhd`TZpqJKfs&m_?+B>ij>UFbP- z-Q!x$AEOt`0to(z>|oM*!aDGO(mFs-oUyYq~nJEikf&a5$oho_VER*}i zk?VV(m;AjE+0dmN;YLTUH_k`Ig_0*es7OJ#rJx5=(6^`e^u6flhdKK7j#4+@~M~|8mZcbznJeQAy5V z-`8mJD@cxY`a3D;ze_<+ zzd+bwvOk{)`e^n~&tFHQ&j(%O2qyknn}WYO1>Kf{eoG4aJt^pq5#2iSx!e8}{D)J} z|1|}DT?+cIQqWnQ-5;D=;AJ!0*h~l0b$T)%v^6o1T_D?SZnwVGu(jw;579iJ1&u&Z zmphbn-@*br^Lq4vtBHcj4AL_QfV9-RB2YH#|XCuwBudE{}sX z>Hd)02(ZSWZf|wyu7JMP@4_A$nT~k$CbzfI=4N77sfgE|F1G=S&B3qqU|WzyH*}H| z+TzLDbionAHcHR}hTEyTX{X*zJnx$VK|j06=5X*o`eqS;sC)gohbMB{?1p|*00s0m z-o(U?Oe&b($mMv9wjhsj`RqEjyLt?JkTn}^y35B}y&kXbffm@nh+LbL{wPM!>o=Ig z6VPozqsJu%*ezix!}r zXn`Q~^A!~F^g;nHB_U2$RJ3+Ri)^&nTOiox^SRp@?JU*X?9EL&@CYWcJ0Y%Fnhwh2 z3ow^YceW<7p=j6#sRzA5n>$faf5=0~BnXAE$ql6(ICb!0O93KK8UQ~fA;I{!gfg5e$q}DVVhdtykSio*Vn;A70 z?X1~w`;@!@_6ZtfhEW1c*bby@PD7D|g`ia$ZHApTsge09TeJCtichsy!yj;=wM#1? z=4R~IaT~f16^BiLFh;MR$Kw*wEMTCeI{mg*1NCF)waFcV5XdiiBT1?X@)^|dQOO}U z{044G8imA8O)nk-9zkt`r$ZG8R+y2vkX6Z(QzPMgFae>S;rGW2Q)T9=`)uu0w^9)m zB@0cJjdD^;Y;1=c#5E_8aXD-TnmQ=L>~RrwL`3A9xOIoij~jx~Nj{G*VEz0WTdQ@x zwYo{Cto$Bqku8`r3+GDN%BI}J-x3f#iqK^<$(QCI%>W*=T?$t^J6-+& zAt`tA#~Bb$#a)Qvb+`gbb*fA1-T)~_j=xQzqn^1b`228mE+_1Vv=BG3D=wJ3EJ{j! z5aOcuyq=m258GNW7j&o1EmaMJNE7q0kIumrJ zmtViGWNl>`VppwOuUD*=OsmUlnZBy3y0oN9uU@&buA*MAFDb36&{?a|YWKAlud1pn zEz{=}%)JIlU4U)gd>E`h=nc7}aq|~(hZFQhDa1{EeLR7uYDuEF4NpA9iJm_YPtbL@ ztIDPiGkZqF@P0k!>JBVO!Aaisuk!kcgy{3ZKA)!8FwO`VuV2-VC=G&qkg%{vNVD z_Euj!$#2-VIQ`z%cp4DE&h>Z-j2*+=c#6$#HxhH_uTjCb&>IWn+8x{;^^hkNfD1-3 zV>SchAY(|XPBePJC=8ATnnTcHYeK0xc1ej)B-EBSp}usIfy%WvW4;2X7Oyw>{r2Vr zcBq!XLXgBK(e);H&bWpUlin1v`4bT5)0M=;j(}H=mYA&(-9$ocWi{kFFyIy-0n|WJ z`;PZ1F*V7h1pP^M3EL00`wYDioo|Az!(C!5Pk!GQ^d>;6Qxq)KWAk_eZo^2h4eF6F zg-K92<`cLAiAa(ILd|+G?2Aw2w0nXv)lvCmyNTxHbh<-<=J-TZyhQ(swmOQ@lOe^Y zBfp%e6(r$*JkOSZhfhHhEK=9u{ba9z@%y~^1W4~m(uRA^QT^r?=V-!VrI-Pds|>ml z>j334JP8&@zN*=lpfc~#*jAe>h-qKEY9UXuPi<{UY9mfUESXe2P?qD!|?kUr#9OH&8)!D?tugmV%E%Kw$LO2L*Mut9dUlc zZKDM8%7<}1B)agIrgyA>dUeEkxeqNcnq@!U>_A#|#|pSwC8d>fXjOuz7u~x^udYc3 zWe9OxIa{mC4u!nPMuzNNz1lTp;={-qCydc$BRk zn@8VIQ12gUau$_mm46F2blFC1;C0*sO-k(sRI$uDt^RlXI3TZnY z-rb4nuimpzq1@IL)nDbK!W)sE&H_;P>U|6qHXxopq(AW}{fR~&H@<|8O0VAAP+_r* zNXAc<)XU^)&4|Ee+j-Sf0e!yG^$hev`f7QqC!=FVBsI7hq}KR7xC%U z`ywi=p@PSKCdOUUOB<| zzBo&z6k&4u2a?jO_gPflwQ5}qQagez*PN7aqK&|h;RSu{TLN$icyBi z`5y%xOX1O{F6#V`-am_$o}8b$SK(_&izVJ@diB1|(a)IvIMPy1>Zy-KZl +#include +#include +#include +#include + +static int g_fail = 0; +#define CHECK(cond) do { if (!(cond)) { printf(" FAIL: %s (line %d)\n", #cond, __LINE__); g_fail++; } \ + else { printf(" ok : %s\n", #cond); } } while (0) +static void wf(const char *p, const char *s) { FILE *f=fopen(p,"w"); if(f){fputs(s,f);fclose(f);} } + +int main(void) +{ + static const char *T = "/tmp/nmg_p5"; + char path[256]; + mkdir(T, 0755); + + printf("== wifi_status:status 无 signal= 回退 signal_poll ==\n"); + snprintf(path, sizeof path, "%s/wpa_st", T); + wf(path, "#!/bin/sh\n" + "if [ \"$1\" = \"status\" ]; then echo 'wpa_state=COMPLETED'; echo 'ssid=MyWiFi'; echo 'ip_address=10.78.193.50'; fi\n" + "if [ \"$1\" = \"signal_poll\" ]; then echo 'RSSI=-56'; echo 'LINKSPEED=54'; fi\n" + "exit 0\n"); + chmod(path, 0755); + g_wpa_cli = ""; { static char w[192]; snprintf(w,sizeof w,"%s",path); g_wpa_cli=w; } + wifi_t w; + wifi_status(&w); + CHECK(w.has_rssi == 1); + CHECK(w.rssi == -56); + CHECK(w.connected == 1 && strcmp(w.ssid, "MyWiFi") == 0); + + printf("== dns_parse_query:QTYPE 解析 ==\n"); + { + uint8_t q[256]; + int off = 12; + const char *name = "music.163.com"; + memset(q,0,sizeof q); q[2]=0x01; q[4]=0; q[5]=1; /* RD=1 qdcount=1 */ + for (const char *p=name; *p;) { + const char *d = strchr(p, '.'); + size_t l = d ? (size_t)(d - p) : strlen(p); + q[off++] = (uint8_t)l; memcpy(q+off, p, l); off += (int)l; + p = d ? d + 1 : p + l; + } + q[off++] = 0; /* qname 终止 */ + q[off++] = 0; q[off++] = 1; /* qtype A */ + q[off++] = 0; q[off++] = 1; /* qclass IN */ + char dom[DNS_QNAME_MAX]; int qend=0,qt=0; + CHECK(dns_parse_query(q,off,dom,sizeof dom,&qend,&qt)==0); + CHECK(strcmp(dom,"music.163.com")==0 && qt==1); /* A=1 */ + q[off-4] = 0; q[off-3] = 28; /* 改 QTYPE=AAAA */ + CHECK(dns_parse_query(q,off,dom,sizeof dom,&qend,&qt)==0 && qt==28); + } + + printf("== global dns.filter_aaaa 配置加载 + policy 回归 ==\n"); + snprintf(path, sizeof path, "%s/policy", T); + wf(path, "global log_level=debug dns.filter_aaaa=1\nproc:thttpd net=block\n"); + g_net_policy[0]=0; snprintf(g_net_policy,sizeof g_net_policy,"%s",path); + rules_load(); + CHECK(g_dns_filter_aaaa == 1); + CHECK(strcmp(g_policy_log_level, "debug") == 0); + CHECK(policy_net_blocked("proc:thttpd") == 1); + CHECK(dns_query_domain_denied("proc:thttpd", "anything.com") == 1); /* net=block → DNS 全 deny */ + CHECK(is_self_lock("proc:dropbear") == 1); + CHECK(policy_net_blocked("proc:dropbear") == 0); + + printf("== wifi forget(remove_network + save_config)==\n"); + { + char rm_path[192], sv_path[192]; + snprintf(rm_path, sizeof rm_path, "%s/rm.log", T); + snprintf(sv_path, sizeof sv_path, "%s/sv.log", T); + snprintf(path, sizeof path, "%s/wpa_fg", T); + char script[512]; + snprintf(script, sizeof script, + "#!/bin/sh\n" + "if [ \"$1\" = \"remove_network\" ]; then echo \"$@\" > \"%s\"; fi\n" + "if [ \"$1\" = \"save_config\" ]; then echo \"$@\" > \"%s\"; fi\n" + "exit 0\n", rm_path, sv_path); + wf(path, script); + chmod(path, 0755); + g_wpa_cli = ""; { static char w2[192]; snprintf(w2,sizeof w2,"%s",path); g_wpa_cli=w2; } + g_mode_meow = 1; + ctl_result_t r; + wifi_ctl_execute("forget", "7", &r); + CHECK(r.code == MEOW_OK); + CHECK(strstr(r.text, "network_id=7") != NULL); + CHECK(strstr(r.text, "save_config") != NULL); + char buf[64]; read_file_txt(rm_path, buf, sizeof buf); + CHECK(strstr(buf, "remove_network 7") != NULL); + read_file_txt(sv_path, buf, sizeof buf); + CHECK(strstr(buf, "save_config") != NULL); + } + + if (g_fail) { printf("\nNETMGR P5 TEST: %d FAIL\n", g_fail); return 1; } + printf("\nNETMGR P5 TEST: ALL PASS\n"); + return 0; +} diff --git a/patch_v2/sdk/build_sdk.sh b/patch_v2/sdk/build_sdk.sh index e900bd4..dc518fc 100755 --- a/patch_v2/sdk/build_sdk.sh +++ b/patch_v2/sdk/build_sdk.sh @@ -40,7 +40,7 @@ FT_INCS="-I$FT_BUILD -I$FT_BUILD/include -I$FT_SRC/include" rm -f meow_ui.a *.o # -I../meow_launcherd:meow_notify_ipc.c 复用共享协议头 meow_ipc.h(同一份、杜绝两端漂移) -OBJS="meow_ui_gfx meow_ui_log meow_ui_notify meow_notify_ipc meow_ui_img meow_ui_widget meow_ui_input meow_ui_theme meow_ui_ime meow_pinyin meow_ui_sys meow_ui_vol meow_ui_activity meow_ui_global meow_ui_dialog meow_ui_config meow_ui_draw meow_ui_view meow_ui_nav meow_ui_media meow_ui_audio stb_image meow_ui_box meow_ui_anim meow_ui_scroll meow_ui_str meow_ui_ft" +OBJS="meow_ui_gfx meow_ui_log meow_ui_notify meow_notify_ipc meow_ui_img meow_ui_widget meow_ui_input meow_ui_theme meow_ui_ime meow_pinyin meow_ui_sys meow_ui_vol meow_ui_activity meow_ui_global meow_ui_dialog meow_ui_config meow_ui_draw meow_ui_view meow_ui_nav meow_ui_media meow_ui_audio stb_image meow_ui_box meow_ui_anim meow_ui_scroll meow_ui_str meow_ui_ft meow_net_ipc" CFLAGS="-Os -static -I$ROOT/patch_v2/meow_launcherd" for f in $OBJS; do echo "== cc $f ==" diff --git a/patch_v2/sdk/include/meow_ui_net.h b/patch_v2/sdk/include/meow_ui_net.h new file mode 100644 index 0000000..332d434 --- /dev/null +++ b/patch_v2/sdk/include/meow_ui_net.h @@ -0,0 +1,33 @@ +/* + * meow_ui_net.h — MeowOS SDK 网络自愿通道(NETMGR_DESIGN §6.3/§4;追加式 API,含入 meow_ui.h)。 + * + * 定位:框架 App 联网前的**自愿自治**通道 + **自愿字节上报**,二者都不强制(防君子不防小人)。 + * - meow_net_policy_check(host):联网前自查 host 是否被 netmgrd 管控策略放行。 + * 返回 0=allow(可联网);1=block(策略拒绝,App 应中止本次联网)。 + * netmgrd 不在 / 超时 → 0(乐观放行,绝不因监控不可用而误封业务)。 + * - meow_net_report(rx,tx):App 自愿上报本进程累计收发字节。内核无 per-socket/per-uid + * 字节计数器(NETMGR_DESIGN §4 表),§4 的「字节级精确记账走 SDK 自报通道」由此落地; + * netmgrd 记入 per-实体统计(status JSON `entity_bytes`)。best-effort,失败静默不影响业务。 + * 用法:App 在发起 HTTP/TLS 前调 meow_net_policy_check(host),若返回 1 则按产品语义处理(如提示被限)。 + */ +#ifndef MEOW_UI_NET_H +#define MEOW_UI_NET_H + +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* 检查 host 是否被策略放行。0=allow;1=block;netmgrd 不在/超时 → 0(乐观放行)。 + * host 为域名(如 "music.163.com");判定以当前 App(MEOW_LOG_APP)为实体,服务端策略引擎权威执行。 */ +int meow_net_policy_check(const char *host); + +/* 上报本进程累计收发字节(best-effort,失败静默)。 */ +void meow_net_report(uint32_t rx, uint32_t tx); + +#ifdef __cplusplus +} +#endif + +#endif /* MEOW_UI_NET_H */ diff --git a/patch_v2/sdk/meow_net_ipc.c b/patch_v2/sdk/meow_net_ipc.c new file mode 100644 index 0000000..5247867 --- /dev/null +++ b/patch_v2/sdk/meow_net_ipc.c @@ -0,0 +1,157 @@ +/* + * meow_net_ipc.c — MeowOS SDK 网络自愿通道 → netmgrd IPC 桥(期4;追加式协议 0x00EE/0x00EF)。 + * + * 与 meow_notify_ipc.c 同型:只做「一次性 connect + send + read」,不维护连接/订阅循环。 + * - meow_net_policy_check(host):MSG_NET_SDK op=NET_SDK_CHECK(app_id=MEOW_LOG_APP + host); + * 读到 allow=1 → 返回 0(allow),allow=0 → 返回 1(block);任何失败(无 socket/超时/非法应答) + * → 返回 0(乐观放行,绝不因监控不可用误封业务——NETMGR_DESIGN §6.3 自愿性质)。 + * - meow_net_report(rx,tx):MSG_NET_SDK op=NET_SDK_REPORT;send 后读一次应答头即关(不读文本), + * best-effort,失败静默(返回值 void)。 + * 映射层(SDK 入参 ↔ IPC m_net_sdk_t 字段)集中在本文件;app_id 取 env MEOW_LOG_APP(与 meow_ui_log.c + * 口径一致),socket 路径取 env MEOW_NET_SOCK(宿主/qemu 覆盖)缺省 /usr/data/meow_net.sock。 + * + * 线程安全:app_id pthread_once 缓存;本文件纯传输层不调 meow_log(与 meow_notify_ipc.c 同约定)。 + */ +#include "meow_net_ipc.h" +#include "meow_ipc.h" /* 共享协议:帧头/m_net_sdk_t/m_net_sdk_result_t/MSG_NET_SDK* —— 防漂移 */ + +#include /* snprintf */ +#include /* getenv */ +#include +#include /* EINTR */ +#include +#include +#include +#include +#include + +#define MEOW_NET_IPC_TIMEOUT_MS 500 /* 应答读超时:netmgrd 单线程 poll,>500ms 视为降级 */ + +static pthread_once_t g_once = PTHREAD_ONCE_INIT; +static char g_app_id[MEOW_APP_ID_MAX] = "app"; + +static void ipc_init(void) +{ + const char *s = getenv("MEOW_LOG_APP"); + if (s && s[0]) snprintf(g_app_id, sizeof g_app_id, "%s", s); +} + +const char *meow_net_ipc_app_id(void) +{ + pthread_once(&g_once, ipc_init); + return g_app_id; +} + +/* socket 路径:优先 env MEOW_NET_SOCK,缺省 /usr/data/meow_net.sock。 */ +static const char *ipc_sock_path(void) +{ + const char *s = getenv("MEOW_NET_SOCK"); + return (s && s[0]) ? s : "/usr/data/meow_net.sock"; +} + +/* 连接 socket;失败 -1(调用方降级)。 */ +static int conn_path(const char *path) +{ + int fd = socket(AF_UNIX, SOCK_STREAM, 0); + if (fd < 0) return -1; + struct sockaddr_un a; + memset(&a, 0, sizeof a); + a.sun_family = AF_UNIX; + strncpy(a.sun_path, path, sizeof a.sun_path - 1); + if (connect(fd, (struct sockaddr *)&a, sizeof a) < 0) { close(fd); return -1; } + return fd; +} +static int write_all(int fd, const uint8_t *p, size_t n) +{ + size_t off = 0; + while (off < n) { + ssize_t w = write(fd, p + off, n - off); + if (w < 0) { if (errno == EINTR) continue; return 0; } + if (w == 0) return 0; + off += (size_t)w; + } + return 1; +} +static int read_all(int fd, uint8_t *p, size_t n) +{ + size_t off = 0; + while (off < n) { + ssize_t r = read(fd, p + off, n - off); + if (r < 0) { if (errno == EINTR) continue; return 0; } + if (r == 0) return 0; + off += (size_t)r; + } + return 1; +} +static int send_frame(int fd, uint16_t type, uint32_t req_id, const void *payload, uint32_t len) +{ + uint8_t hdr[MEOW_IPC_HDR_LEN]; + uint32_t magic = MEOW_IPC_MAGIC, rl = len; + uint16_t ver = MEOW_IPC_VERSION, t = type; + memcpy(hdr + 0, &magic, 4); memcpy(hdr + 4, &ver, 2); memcpy(hdr + 6, &t, 2); + memcpy(hdr + 8, &req_id, 4); memcpy(hdr + 12, &rl, 4); + if (!write_all(fd, hdr, sizeof hdr)) return 0; + if (len && payload && !write_all(fd, payload, len)) return 0; + return 1; +} +static void set_timeout(int fd) +{ + struct timeval tv; + tv.tv_sec = MEOW_NET_IPC_TIMEOUT_MS / 1000; + tv.tv_usec = (MEOW_NET_IPC_TIMEOUT_MS % 1000) * 1000; + setsockopt(fd, SOL_SOCKET, SO_RCVTIMEO, &tv, sizeof tv); +} + +int meow_net_policy_check(const char *host) +{ + if (!host || !host[0]) return 0; + m_net_sdk_t q; + memset(&q, 0, sizeof q); + q.op = NET_SDK_CHECK; + snprintf(q.app_id, sizeof q.app_id, "%s", meow_net_ipc_app_id()); + snprintf(q.host, sizeof q.host, "%s", host); + + int fd = conn_path(ipc_sock_path()); + if (fd < 0) return 0; /* java socket:乐观放行 */ + set_timeout(fd); + int allow = 0; /* 默认放行 */ + if (send_frame(fd, MSG_NET_SDK, 0x4E455443u /* "NETC" */, &q, (uint32_t)sizeof q)) { + uint8_t rhdr[MEOW_IPC_HDR_LEN]; + if (read_all(fd, rhdr, sizeof rhdr)) { + uint16_t rtype; uint32_t rlen; + memcpy(&rtype, rhdr + 6, 2); memcpy(&rlen, rhdr + 12, 4); + if (rtype == MSG_NET_SDK_RESULT && rlen >= 10) { + uint8_t pay[12]; + if (read_all(fd, pay, 12)) { /* code(4)+allow(4)+text_len(2)+pad(2) */ + m_net_sdk_result_t res; + memset(&res, 0, sizeof res); + memcpy(&res.code, pay, 4); + memcpy(&res.allow, pay + 4, 4); + memcpy(&res.text_len, pay + 8, 2); + if (res.text_len < sizeof res.text) + read_all(fd, (uint8_t *)res.text, res.text_len); + if (res.code == MEOW_OK) allow = (res.allow != 0) ? 1 : 0; + } + } + } + } + close(fd); + return allow ? 0 : 1; /* allow=1 → 返回 0(放行);allow=0 → 返回 1(block) */ +} + +void meow_net_report(uint32_t rx, uint32_t tx) +{ + m_net_sdk_t q; + memset(&q, 0, sizeof q); + q.op = NET_SDK_REPORT; + snprintf(q.app_id, sizeof q.app_id, "%s", meow_net_ipc_app_id()); + q.rx = rx; q.tx = tx; + int fd = conn_path(ipc_sock_path()); + if (fd < 0) return; /* 无 socket:静默 */ + set_timeout(fd); + if (send_frame(fd, MSG_NET_SDK, 0x4E455452u /* "NETR" */, &q, (uint32_t)sizeof q)) { + uint8_t rhdr[MEOW_IPC_HDR_LEN]; + read_all(fd, rhdr, sizeof rhdr); /* best-effort:读一次应答头即关,不解析 */ + } + close(fd); +} diff --git a/patch_v2/sdk/meow_net_ipc.h b/patch_v2/sdk/meow_net_ipc.h new file mode 100644 index 0000000..98646c7 --- /dev/null +++ b/patch_v2/sdk/meow_net_ipc.h @@ -0,0 +1,28 @@ +/* + * meow_net_ipc.h — MeowOS SDK 网络自愿通道 → netmgrd IPC 桥(内部头,不随 meow_ui.h 发布)。 + * + * 定位(NETMGR_DESIGN §6.3/§4):让框架 App 的 meow_net_policy_check()/meow_net_report() 真正经 + * AF_UNIX IPC 到 netmgrd(/usr/data/meow_net.sock)。协议帧与负载结构复用共享 meow_ipc.h: + * - MSG_NET_SDK(0x00EE) ↑:op=NET_SDK_CHECK(app_id+host)/ NET_SDK_REPORT(app_id+rx+tx); + * - MSG_NET_SDK_RESULT(0x00EF) ↓:code + (CHECK)allow + 状态文本。 + * 约定:只做「一次性 connect + send + read」,不维护订阅循环(同 meow_notify_ipc.c 型); + * 全部失败路径优雅降级(无 socket/写失败/超时/非法应答 → check 返回 0 放行、report 静默)。 + */ +#ifndef MEOW_NET_IPC_H +#define MEOW_NET_IPC_H + +#include +#include "meow_ui.h" /* meow_net_policy_check / meow_net_report */ + +#ifdef __cplusplus +extern "C" { +#endif + +/* 当前 app 的 app_id(env MEOW_LOG_APP,缺省 "app";pthread_once 缓存,线程安全)。 */ +const char *meow_net_ipc_app_id(void); + +#ifdef __cplusplus +} +#endif + +#endif /* MEOW_NET_IPC_H */ diff --git a/patch_v2/sdk/meow_ui.h b/patch_v2/sdk/meow_ui.h index 5a9f3ea..1c7c1a0 100644 --- a/patch_v2/sdk/meow_ui.h +++ b/patch_v2/sdk/meow_ui.h @@ -71,5 +71,6 @@ #include "include/meow_ui_anim.h" #include "include/meow_ui_scroll.h" #include "include/meow_ui_str.h" +#include "include/meow_ui_net.h" /* 期4 网络自愿通道:meow_net_policy_check / meow_net_report */ #endif /* MEOW_UI_H */ diff --git a/patch_v2/sdk/test_net_ipc.c b/patch_v2/sdk/test_net_ipc.c new file mode 100644 index 0000000..a15f6a7 --- /dev/null +++ b/patch_v2/sdk/test_net_ipc.c @@ -0,0 +1,27 @@ +/* test_net_ipc.c — MeowOS SDK 网络自愿通道 宿主自测(非生产代码)。 + * + * 通过链接 meow_net_ipc.c 调 meow_net_policy_check()/meow_net_report(),对运行中的 netmgrd + * (MEOW_NET_SOCK 指向测试 socket)验证: + * - meow_net_policy_check(host):按 MEOW_LOG_APP 实体判定 allow/block(netmgrd 决策权威); + * - meow_net_report(rx,tx):best-effort 上报(netmgrd 记入 entity_bytes)。 + * 用法:cc -Iinclude -I. -I../meow_launcherd test_net_ipc.c meow_net_ipc.c -o test_net_ipc + * 然后 MEOW_NET_SOCK= MEOW_LOG_APP= ./test_net_ipc + */ +#include "include/meow_ui_net.h" +#include + +int main(void) +{ + /* CHECK:域名放行/拒绝判定(netmgrd 决策)。 */ + int a = meow_net_policy_check("music.163.com"); + printf("CHECK_GOOD=%d\n", a); /* 期望 0(allow/放行) */ + int b = meow_net_policy_check("ads.example.com"); + printf("CHECK_BLOCK=%d\n", b); /* 期望 1(block/拒绝,若策略 deny 该域) */ + /* 空 host → 0 放行(防御)。 */ + int c = meow_net_policy_check(NULL); + printf("CHECK_NULL=%d\n", c); + /* REPORT:best-effort 上报。 */ + meow_net_report(12345, 67890); + printf("REPORT_DONE\n"); + return 0; +}