From 93b21f7a41c02c6682c499752c41a0c25bf224e7 Mon Sep 17 00:00:00 2001 From: zhengkunwang223 Date: Mon, 6 Mar 2023 14:16:03 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E4=BF=AE=E6=94=B9=20halo=20=E9=85=8D?= =?UTF-8?q?=E7=BD=AE=EF=BC=8C=E4=B8=BA=E4=BB=A5=E5=90=8E=E6=94=AF=E6=8C=81?= =?UTF-8?q?=E5=85=B6=E4=BB=96=E6=95=B0=E6=8D=AE=E5=BA=93=E5=81=9A=E5=87=86?= =?UTF-8?q?=E5=A4=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/halo/versions/2.2.0/config.json | 36 +++++++++++++++--- apps/halo/versions/2.2.0/docker-compose.yml | 4 +- apps/halo/versions/2.3.0/config.json | 34 +++++++++++++++-- apps/halo/versions/2.3.0/docker-compose.yml | 4 +- apps/list.json | 16 -------- apps/mariadb/metadata/logo.png | Bin 33880 -> 22183 bytes apps/mysql/versions/5.7.39/config.json | 2 +- apps/mysql/versions/8.0.30/config.json | 2 +- apps/nexus/metadata/logo.png | Bin 1245 -> 6338 bytes .../versions/15.2-alpine/config.json | 4 +- apps/redis/versions/6.0.16/config.json | 2 +- apps/redis/versions/7.0.5/config.json | 2 +- 12 files changed, 71 insertions(+), 35 deletions(-) diff --git a/apps/halo/versions/2.2.0/config.json b/apps/halo/versions/2.2.0/config.json index ef216d43d..254df5009 100644 --- a/apps/halo/versions/2.2.0/config.json +++ b/apps/halo/versions/2.2.0/config.json @@ -1,13 +1,39 @@ { + "formFields": [ { - "type": "service", - "key": "mysql", + "type": "apps", "labelZh": "数据库服务", "labelEn": "Database Service", "required": true, - "default": "", - "envKey": "PANEL_DB_HOST" + "default": "mysql", + "values": [{ + "label": "MySQL", + "value": "mysql" + }], + "envKey": "HALO_PLATFORM", + "child": { + "type": "service", + "labelZh": "数据库服务", + "labelEn": "Database Service", + "required": true, + "default": "", + "envKey": "PANEL_DB_HOST" + }, + "params": [ + { + "type": "param", + "key": "mysql", + "value": "3306", + "envKey": "HALO_DB_PORT" + }, + { + "type": "param", + "key": "postgresql", + "value": "5432", + "envKey": "HALO_DB_PORT" + } + ] }, { "type": "text", @@ -44,7 +70,7 @@ "labelZh": "超级管理员用户名", "labelEn": "Admin Username", "required": true, - "default": "halo", + "default": "admin", "random": true, "rule": "paramCommon", "envKey": "HALO_ADMIN" diff --git a/apps/halo/versions/2.2.0/docker-compose.yml b/apps/halo/versions/2.2.0/docker-compose.yml index 87b972a86..eb050c307 100644 --- a/apps/halo/versions/2.2.0/docker-compose.yml +++ b/apps/halo/versions/2.2.0/docker-compose.yml @@ -11,10 +11,10 @@ services: ports: - ${PANEL_APP_PORT_HTTP}:8090 command: - - --spring.r2dbc.url=r2dbc:pool:mysql://${PANEL_DB_HOST}:3306/${PANEL_DB_NAME} + - --spring.r2dbc.url=r2dbc:pool:${HALO_PLATFORM}://${PANEL_DB_HOST}:${HALO_DB_PORT}/${PANEL_DB_NAME} - --spring.r2dbc.username=${PANEL_DB_USER} - --spring.r2dbc.password=${PANEL_DB_USER_PASSWORD} - - --spring.sql.init.platform=mysql + - --spring.sql.init.platform=${HALO_PLATFORM} - --halo.external-url=${HALO_EXTERNAL_URL} - --halo.security.initializer.superadminusername=${HALO_ADMIN} - --halo.security.initializer.superadminpassword=${HALO_ADMIN_PASSWORD} diff --git a/apps/halo/versions/2.3.0/config.json b/apps/halo/versions/2.3.0/config.json index c4870e425..254df5009 100644 --- a/apps/halo/versions/2.3.0/config.json +++ b/apps/halo/versions/2.3.0/config.json @@ -1,13 +1,39 @@ { + "formFields": [ { - "type": "service", - "key": "mysql", + "type": "apps", "labelZh": "数据库服务", "labelEn": "Database Service", "required": true, - "default": "", - "envKey": "PANEL_DB_HOST" + "default": "mysql", + "values": [{ + "label": "MySQL", + "value": "mysql" + }], + "envKey": "HALO_PLATFORM", + "child": { + "type": "service", + "labelZh": "数据库服务", + "labelEn": "Database Service", + "required": true, + "default": "", + "envKey": "PANEL_DB_HOST" + }, + "params": [ + { + "type": "param", + "key": "mysql", + "value": "3306", + "envKey": "HALO_DB_PORT" + }, + { + "type": "param", + "key": "postgresql", + "value": "5432", + "envKey": "HALO_DB_PORT" + } + ] }, { "type": "text", diff --git a/apps/halo/versions/2.3.0/docker-compose.yml b/apps/halo/versions/2.3.0/docker-compose.yml index fda65a3a7..039ac941a 100644 --- a/apps/halo/versions/2.3.0/docker-compose.yml +++ b/apps/halo/versions/2.3.0/docker-compose.yml @@ -11,10 +11,10 @@ services: ports: - ${PANEL_APP_PORT_HTTP}:8090 command: - - --spring.r2dbc.url=r2dbc:pool:mysql://${PANEL_DB_HOST}:3306/${PANEL_DB_NAME} + - --spring.r2dbc.url=r2dbc:pool:${HALO_PLATFORM}://${PANEL_DB_HOST}:${HALO_DB_PORT}/${PANEL_DB_NAME} - --spring.r2dbc.username=${PANEL_DB_USER} - --spring.r2dbc.password=${PANEL_DB_USER_PASSWORD} - - --spring.sql.init.platform=mysql + - --spring.sql.init.platform=${HALO_PLATFORM} - --halo.external-url=${HALO_EXTERNAL_URL} - --halo.security.initializer.superadminusername=${HALO_ADMIN} - --halo.security.initializer.superadminpassword=${HALO_ADMIN_PASSWORD} diff --git a/apps/list.json b/apps/list.json index 8b01def98..182edf73f 100644 --- a/apps/list.json +++ b/apps/list.json @@ -31,7 +31,6 @@ "shortDescZh": "开源关系型数据库管理系统", "shortDescEn": "Open source relational database management system", "type": "runtime", - "required": [], "crossVersionUpdate": false, "limit": 1, "recommend": 4, @@ -47,7 +46,6 @@ "shortDescZh": "基于 Nginx 和 LuaJIT 的高性能 Web 平台", "shortDescEn": "High performance web platform based on Nginx and LuaJIT", "type": "runtime", - "required": [], "limit": 1, "crossVersionUpdate": true, "recommend": 3, @@ -63,7 +61,6 @@ "shortDescZh": "开源博客软件和内容管理系统", "shortDescEn": "Open source blogging software and content management system", "type": "website", - "required": ["mysql"], "recommend": 1, "limit": 0, "crossVersionUpdate": true, @@ -79,7 +76,6 @@ "shortDescZh": "高性能的 key-value 数据库", "shortDescEn": "High-performance key-value database", "type": "runtime", - "required": [], "limit": 1, "crossVersionUpdate": true, "website": "https://redis.io/", @@ -94,7 +90,6 @@ "shortDescZh": "强大易用的开源建站工具", "shortDescEn": "Powerful and easy-to-use open source website builder", "type": "website", - "required": ["mysql"], "limit": 0, "recommend": 2, "crossVersionUpdate": true, @@ -110,7 +105,6 @@ "shortDescZh": "MySQL 数据库管理工具", "shortDescEn": "MySQL database management tools", "type": "tool", - "required": ["mysql"], "limit": 1, "crossVersionUpdate": true, "website": "https://www.phpmyadmin.net/", @@ -125,7 +119,6 @@ "shortDescZh": "Redis web 管理工具", "shortDescEn": "Redis web management tool", "type": "tool", - "required": ["redis"], "limit": 1, "crossVersionUpdate": true, "website": "http://joeferner.github.io/redis-commander/", @@ -140,7 +133,6 @@ "shortDescZh": "开源的对象存储服务器", "shortDescEn": "Open source object storage server", "type": "tool", - "required": [], "limit": 1, "crossVersionUpdate": true, "website": "https://min.io/download", @@ -155,7 +147,6 @@ "shortDescZh": "人人可用的开源数据可视化分析工具", "shortDescEn": "Open source data visualization and analysis tools available to everyone", "type": "tool", - "required": [], "limit": 1, "recommend": 5, "crossVersionUpdate": true, @@ -171,7 +162,6 @@ "shortDescZh": "构建伟大,无所不能", "shortDescEn": "Build great things at any scale", "type": "tool", - "required": [], "limit": 1, "crossVersionUpdate": false, "website": "https://www.jenkins.io/", @@ -186,7 +176,6 @@ "shortDescZh": "项目管理和代码托管平台", "shortDescEn": "Project management and code hosting platform", "type": "tool", - "required": [], "limit": 1, "crossVersionUpdate": false, "website": "https://about.gitlab.com/", @@ -201,7 +190,6 @@ "shortDescZh": "开源关系型数据库", "shortDescEn": "Open Source Relational Database", "type": "runtime", - "required": [], "limit": 1, "crossVersionUpdate": false, "website": "https://www.postgresql.org/", @@ -216,7 +204,6 @@ "shortDescZh": "分布式文件存储数据库", "shortDescEn": "Fractional file storage database", "type": "runtime", - "required": [], "limit": 1, "crossVersionUpdate": false, "website": "https://www.mongodb.com/", @@ -231,7 +218,6 @@ "shortDescZh": "MYSQL 复刻版", "shortDescEn": "The open source relational database", "type": "runtime", - "required": [], "crossVersionUpdate": false, "limit": 1, "website": "https://mariadb.org/", @@ -246,7 +232,6 @@ "shortDescZh": "Docker 镜像的存储和分发系统", "shortDescEn": "A storage and distribution system for named Docker images", "type": "runtime", - "required": [], "crossVersionUpdate": false, "limit": 1, "website": "https://hub.docker.com/_/registry", @@ -261,7 +246,6 @@ "shortDescZh": "开源存储库", "shortDescEn": "An open source repository for build artifacts", "type": "runtime", - "required": [], "crossVersionUpdate": false, "limit": 1, "website": "https://www.sonatype.com/products/nexus-repository", diff --git a/apps/mariadb/metadata/logo.png b/apps/mariadb/metadata/logo.png index 995c4cdb685051a02f6e4cde84e56cedba71e6c9..69bc4a717b83b0e10de16ef329a897bca85427fd 100644 GIT binary patch literal 22183 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 literal 33880 zcmeFZ`9IX%8$bTC55`h<6-^70m?W}`QnHpcq*3-IiV$Li>9&OIWv}eAZwXB#OGHXU zwvZB8iV*r-ub21d^GAFi-yiPB-JCh+I@h_@=XISk!VL7zu(1fTAPB;yb@tQ+1Yux9 z5PBgTBaGZA+szOEV|G7#(E~vw_oM&O_++bkA;?}t>(ogjpVZl5-3ymYt0iaUkCn4u zW_{%vRGVPTlUrW!rBbbyLBxXe`3^@7HIG5F&$!I!5>Ev0ff<@g(#XKls}W7|O80t3 zH`mG3NTn_7=%D5f)2p334A0TPmPm56Szjw5q?xm+`QPnX$&iIx%L#*DuMKgC$k4;r zWabFt1{MZ=54GBL--;=3KQ8rJc7kPg^|RqgeNI7Im_mIusnt}$*`$RVzj=3b_%CNu z%bzBVECNbhhiYz6`%v7!Z^GL%Be?m^^cJ%HMdX1Jp^T{#Nl_NLMU|?qPlkc1J)GzY zM&82p15Bawn#G%OFSGtPwzJTerzb6%XuKMmVK`)2^zUCN1)bdUxQb`;SNf><=hlB0 zRil>NR52Po4ZC^Mr%Qsvl2-RIrCffneG>LA2?@(T{gqi-8tB?@)X3&0rd&eEo4woL zZ%XWy@ONL~6g1aIbwb`FAqMmR!BPMAdo~KAYm)Dp^%dsVcN0P~c)9tDQ|W)Sqr;^S zlrH)tin3llQt1M+blyH<{a%yhcjjibPx6~`i_|sZFpd}E&H6;;CHzedf=u4Wt7Dw_ z#F)nD|1ui?LCboz7dt>xhV{53JF7NGuA_hXfAmg=8{batkJjh&AFvTUnl01pwhP_7 zI%)Kf5)XIdw?G|C9i?V#ON&}t3P;A)uZxCYn@VW1Ge`H|Y1$e6U{==w2aBi@Q`)T@ zG~?H|%5Qw8+2%Jcag>0U->qcHihC;f=M*+iZF=e9!aJ_O;fdWF%2PITFBGMZpAg!f zKl-0>gV0Z9oj=MxyKyY5yqeew1M-=;z#lz<>#R9WeweBPvb2t;!riO7?<3kco#5KZ1cYo z$C2)jC)AsqOKwQ{Ae-^x51~jDHNEZ*CVhHJ>F%Ty|DAUYV1O+8lz}oL6=J*klO~=? z1k<+Ls{$1+{-!T3GPeBnn1GZL>6$O|F!D}6XEG4lHnXjrh3l3iT*Pk(*K;|-otPXJ zjEiRaxO)}*$fxTDzG`f10rqpT(EZ;z_Yy-|hMYQxICQ5>7g`Oo`lq@0U^(og&bD&E zG6LvH@2b14I*$)1oR(j#@v8>1BcHN9tASUUrwt+2I~H`1MAHzBsB@GVSEyc3KUw=C#I*3s}%$O`>b|UdNyI$r$`P(I{-R zJt#s9dGy))s4YJhI7%&H$=gpVt@jC@<#BDt$-_uTt%{oy?U2uy0AHQJ`8h&1o z=AND|qir6;Tr|1btPj%gXeD#_5()*9h0QRzaV1C{^lRnpkoG0>0M5%d}WDV7xr|eRxBam z=g)x)E)#^69=MYDcdMg8!@8wFg@aIU>}B=@1xFI&!51-#LEzQw1b@#X0=)Jg=lN7x zFptGgqZBH9Uo6OgAIGXBV+UpAEcC4^Up0SfeLg_T)uZuMA_juU=|G#Auu=TBlt04a zOn?ri7-dKf{OYT-=F$?c_x0ZwuE65tW*s+w(-jG?J!?lXGwzAoR_g~oyLlCTz5t2r z1k6jnowU+!ym>^xZr+d`j^mWQYy9dJO_CKv$(*Fq=sSvlD;*@*J;P*^I-C_Zy|kCOJv}R-FN9mEH~WY2a+mK6$;RE^~f?!!LR@|3P?~m zM+$^>29r3O^1nCDZO3%QHs^LzC#JX+Z56M5#Lux93jlBfKU!(MrMP zkjXN@YVVuDTI(^-qd{5L6gQ=zR{jt^x*OnB@-?S-jr@CGL8Q&IC z_jzhUWPTCCsYg%QEW=bg3K2|9SXJKOFn_{TQM&&PdLJZ)yn7mzmYP%j?0xta7AwaX z$_n%~aBd%Pno|Sq)NQvt2KoGJ)ugEt{o~cxT-Jt5Cx}=o8oR|utHIxesm6UbCd4sj zhdncpZ7!oh0buVYeEjh@Cz-dIab8-C8{%vVs-u#M z_UlJtCbgQY9Ynx?RVmpYXtd;b6boq=i)P|Do91U|f@_%xsi0QFpWnB?3G~>Yr=X?C z19SZ(Oh60M@#En93Fd0^0i67L85q%U019Fu3!f|~J%{J{-u{QF&V7S^ePtmai|Q_d zMMwjgR{c!xjHQsQV9{e=FimCy`Spphb{))!GR>kg)Jg()`QIjOQ=MF8{_S*=@QHgq za(jXiO!#BM7uyXvr*N(wORSkEU{LDkuh7Zv4#mI`G)!ckN~&W|+sQ8(iMkB=(Y9zl z-uxCxbq~U%Zx9Liju2wuCZKMA?FPvw_sJU!_>p5z1keue;FnCsju1Y!%ItZLRO^nZ zL98WIPeYWR!hiw4QXeeWxp@k%cu5f@f-#nPyB4{=MILTvz{E%GO=HDdyU{i`VPJt& z1}YEb+$wA?*b}f;RNw@OL ziex5u?K3V6r5?KcY>gSv&WK2aP z^jgv)wTW!+1Tvc7Y>KX9R4hyE)Z8BH%8q)ery?KFl(YR=vuNf$XVb1d!D-3THdnVd zU|m~nx95wq7A-u~%$0rB5EE8%ghvozw$ohIVq4pjXb?7}02eEOmE|wURbxd5S-uu> zz*`-G^5fVc;&=;vm)VCbF5OA{e3!F0KFSpf63GgN7fPT1_#o>&(^`#jq62d2Ta4>h zpjSL*+op%*HBv0t5QXzvgDptD@}5qx@w9g zn4Go{?%8RPs;;Mk<%hTV03ah1vY=^7lDgx)g5_6|^wJ`iHPdXjle8ZetceGw2_dEm zw0>(bgJ1QSKi$O~N(&+)xB9A<9LX&Q|0x9<%P&pD4|58Z%VD%11EARn*q*DjW>;am z=Sj@Axh=obdN!$Qdt#+7H4gwJcw1W8Lmkm8=d=z&*5*I060js6;+{!YTGQvWR3_ca zfax*v`vnp%Z7na}^E5_DY`1FA+gsf+Z!tsRk08_4d4Ppg`1bN(+Xq8jQJ6+p(y(fb znCHJSY1x-$ICAWXAtnsUSMclZCxrif&kuo#PYy71e4-?#3;x&%(H><(il-j7-Co#k z#0Rzmm|6gMwx7H1IcRSP74zm6v~V0!4`b8hdEf;HQp z03}aD)SC~X{1(ZHH{ydJ_ZGalh7dw$96C}oa!l!h)%tcoE55{x&+^W}e^0>F^cGBm z4PepvZ)rU-R@h;`owCyQf-nzUZktNojUDPf*$;c3_xVw3I&?BHW1IzNhJ<-0A>?GT z^b>FFICbvX;Y5DmiVMXCrAg2Rs+#OCzy2@%oG5$PNdh~o0y|qR-bP_Y zEU)hmiij&~Y&)>`RMq6+ggfv2FZfappgJUR0eZ0Co#C z3vtgH?yI(lR`IKCEeG=?2Q zX=>11T8GjT^Agj@D%wzEZtgFjjdKUHHaX1y5L4cZZNGl9k0_9X7YN11N-!8ig5;uusd5oDLw>V}FqMLWyr5)QGu-GI9wN$fG z%Oo7-{cWcdjRtE8EKYWK0w&Ue5SE7>HZ%;wQ-$+HN06e?_7;=g_Czrh&dw@0bsO3ep&HcVC6`oLN>-|WkMI{Lt zwpr9|nal1?JRuIVU^B8=pFMj9b(Wd!0Un#u3B_B|I<8_G#}Wt1ssrOB8m=w0KW!Ez z2Ijjyl9lGcWN0VOL=k47l;Scf?;pZ6(Al4@-CoLX68C@`qlBN*ZlC|n&fC0$TLg=e z#AA{NoA<#^+!(I3JFtzKm4i>C-KMkJ54LmUF@Uj9&py3edLjq^0L!yfd~G~F;w!L( zc~tU=Ac91?mWBuhQHZy}K&n(;N@t@^IElHc2=sWMQsJG`^n0)mj=D|910l6$l%I{QV$%*Sw1x zi>%2w=y9M5!5WUq2z+Y)zn}OYK=FT2#-<$GWj_>QyVYwy(22z^+lXkR-bjqy&0j2X zkNr0i?tv<2=z%!KAr6`eN`@32%(X})S`DfnMJEkYu-e+UFe)d}vF!;2e0JapPff5H zI|+`%uk!%KMPwQrKInJ`cW^!y`F`t=a7tg4HAM8$4SOC#bf(o9+c7U7ee2)HeK0-X zRY4;Qq2ADHY)2eL2Sf>DLO{aaA3#;^37s@-1TEq^4NsNy@%Y?1q+z%1qG!NGnejpM zAh!w<8aXrRAU$}1`K41?bp)kZG4ogf=>iij`>O6~Y1m=uwiJR0A0gy21BJ?{a%iWA zHQIF}F|CcYXS23bd5c7j?ZRB|$W*XsKYKc2QU0*g1=D8r*cfvuQyis}g7u?hx1%1k zkp^BS0X$)8wZ!1;D*HSi?H;0STM@R(DyIK_N&RKqY`Y(&GaLngWP6BLUGGoQYLG6A zusujfzR-IVM&U#yAMXbm@ny1tfvZc4V&&&Yn9D-2Op&Bl_^oyH!7i*x0EJ1##?NFb z=eO8C8@pDtax+lszaNw?f2U~{-Ie?ZWY*q)|8jyAYo;7*vIkwK20;5Vv?2KTX_f0x z2~#^kEFiiQAi7_kSv9OdjTd$860x{)8p2V!DFcX!6J(-|ij%w#nCW;Q>gKtdKL+I4 zj&5A)bE|Hlg38H1aN7y8cZChA3^R%Mq0}~5XMwFd-H~)(myhc>?eK@5@vy4JfSFuHSmKjiRHr3se7bijExE?p=3hb1t9aLP*3^y;=W>7uG2)t zvz&!>bY>s%C`8MTSfI6Yoa+GtP2L9<=8SE85e^Z{k!E(9F-OOttq9E`~lbAy&5?HY0 z58W?HRcB_qxZOVp2LFs5J>oe@ZR1FFt3CtSFdd#dr7XbPl#8S4Wx*3l9tsg}q9Ch4*h*Hk6!-eht`xFMB zgjEhRX=B*7dY=Tn4>T2cvEb-($_%$q1Pw;-j^R{!6`y=%4Y5478mv>k%wXHlONQwu0r=)BHF)`Nq# zpa_DhKJ|yCdr7eT4+~A5J+OxjHckFvF@;;Q22)%QVEPC&Jd#5JoIlKEdAgSlui?;k z1!aZwx@a$5FLB$)uAbW~WHSKt#= zGuxjS?cmc#6*$yRROBQihlPe0SU8O$VYTQh#;Ww8ZXX0lJ3=Vjgq(O!K?G5N;N#<3 zu%PBjleoW1_k-R!EC?!a!VObMsc+!|phk0D8s6{0)fX`1nI#Axzj(XB@C>=7;-L;^ zL8aOLA10OVhDJR^;x!!39>ws*uF?R!K|PvfviX8;paG4{XQs-y_n7V3^XSnQ{`=92 zD2X#_^~O9x*%$jbs2Exp)+86O6Y+TsepVB%p@lBx7JXq@ z%fd1`qk`-zeW-IC8?&CvY|r;*p&5Wk7LKM>QrSoLhpE1~oMdGj+ac7n$ftL3)Ap3< zLm|SQ(2H)7+)(wVwXk%dDvGv;U`XNCg8V|2U}mA=|8Kt-_aP9G5coMKH!ZOgJxRD; z7#d56j$nCku_;%_KqVK67)qd)7gxc{UEDY_!-?#Nf~ySWN#{-`Cz)B=@htW!QqurO z4H<^+Pv2hbW{+fWM;)5XA%i4i9`^r++6MU)MfQwBIS z0t%O%WV6w&7U1$NSN?$I?LB$i2m{gf>>?UU$gMyL^>uEygE{fswBTUZ?*9uyknOhs z=#kZ%Y65r>F$mBp8mb6tD4Ay=;xDyaJxM?|x}2nKz`MxmlbH)L!pCksoktef3fp5) z58-v0`?468$%!-qW_SR*k*uLhS=4ZT^;{qgX+KsQvTUKa#SGz#rXjhRp2G#Aymt0H zj%XDHK@Ftr7b}Hg>;oM_Vzg9ZB#)rE{Ym|T92()czJ581;G1Z;eb5_Z;!#NHEg z?~kD0M_dP7WTH6kh>pyIHBt9nay+brDskZ~K>Dhf9$>{xWL}_&6%xX2g!~0eFjEYQ z*4>WsN>E251`;4)?l&~ttL(t60bJ*w0R>)C4tV+(ZR!g&d87S&UVQ@`QdIU3zYFam zNyLJ@eJFi417zUM3=b4aX$sp*X&{ADi(m)x5i?y18=6P$&cMRiHYaJ9v%pj**e&u6 z7RlNGrb$MxYQe1dz$ETv-t67V|^ z22p@4Pzo#1>uDDk*Ui<>5Lc*pIPD%VM)G{P@uqvvD|9T?a)x&neL|oFJ@3WA^)htr zGqe>~=v)dY1X)Ph&7FQL7vzU98IU+YgJPB{4ojs0vuWxG=}^5r&JTjCS`hdSwdppn z`4-nFBW5@UGfn(!g^`g1K>bYSWL}3E9>?Cj_-_ENz+(>+3Rd^gxn?_-Z_+igCV4T1A zzA*Ipn#l}$)DckU0LAp&2LpxF^)Z?TfxbtG5CmJ2{;dKun`j=PK^Sj>M^waW{DHZp z!5b#y&+>tR^OwX`e`~DOs&TiZ_*+BeQ-Hu&YCFk(d!&a0 z*hC+@IBl*ru}CA-Nl>p4)D!Ep)Q44&w=Xj}(IG^6%!yckquAD_2{!pew8beyWHC^( z2CtvBbQJgvAxW()1jJwQdxVDjTSgBjdEXSBXc9IZyonApY{1>tcL^Y!l#c)F%%l z=^+zi3~^v1HrU9+8oc!>z}#Di&bf3+%cqZ^8;T&O*U`%NhqV%Te=_>!=+>UKgtw5f z-&jzH(hzrap!wS;#U2Qi1HwJ065@WzcL&J@AU6Lc0LE|$WiAISc|REZTKsz-bpXts zSOC=?Atag>a9jD|Q1T+gD-!qGKzqU)ID8S>_%=C7@&}OLT{zB6)u%v?q8b@&YWg2gkXSh@#vKhWKlyMfu<0ECz;;ZbwdUN%v8F1+;;W+ zb&>+?-;?4$Yf}}qp_f2|_`J;iLalriADf8upcm4a-o#rAnVtGk>dd3#~7t~*7XdJ3#?z&zl^!ef*RFHew~ z-Xf_E?4UFOtNm5cW6ypYagx?Sjr!iyAJ#x)C=pjk9h`RPTcgpbO<1XL1wJ+br&8vA zFAPW^lty4y2ZSLUsAO4d};fX`p>E6&^5@p2x>pLT>>gN1I|ZeC{up@ifS{cCbld9=@*-PYp8B zrp6z1DcIT7e;<{|<=Z^GhqsKrzh45u6qFzi7V@_}Q*W*Z(XkMSfSC5q8xDOIm+eeh zwjqZ?S3Ozkz>AM?f8*=r*1?$wJp$?-bUXe5Tc;Go(|6Y(bV$Ub`VG2$F_aR{j=tkF z+ly*ye=UTTH_&7nWG>x{nyco*p{lO1re+lVn#EubFS^ljMz5@~Qi)O42-6Wa;gWC1P^3-J*e?q!ff zD4(f1Q-|B(EdgwLBWI!1QeA^A&=EB5)U=SWMS~FUa71NL%i+v+c1MW*PrVT&lDfzx z1}UDTiQ0$`^|Vup#XYjE2abUxvONNQ%&YgvQ^y=}L^_nPNRzoVH{2``Ig+q_Rw5=u z4FHW$UxAB3^W{C5hURbE<-{yTHTe()gv3PMlDIky|+L0iL*9M%>zKC^E)2+WaK4hUXP zhNc5L1f+d1mBLw!daVw*%0>*jza-ilq}qo>|7>_X`F{^~1J0f^4sWf@rJx5!?lWJ? z)>QihT<(X5rt1u!6d`7iXic2ka|LN2S82jM*s@+{v@fDI-Uy8j9AP8%-!WqPvHsYg zF<)t_&r5>Ye0yg|lD0Zqz z>xTr$y$zL&-{n4%%m6CC?c41G%?n}-G)_&I8OiS8_$C4*&yl0_=}@BbtHJXV^QSa> zQGlFH&gK20=W`@p=3fSy*0e z*KXwvp%5ce`r@<9>7+nUzoDjuHvyu@8ObGR_r0<4YBGcyDRL5=$~SiOXypYMBfJrx|$w9QN+mj8YW zche!yLAaiPa^TKIbeWzUI3Q9hZ=~S0@VPs=y-t-Q1NSp14USef;ax#9mNDYCMtSIX zyLx%*!6A*^Dl{uls(e!`n$iBJ!GttgH-$B>=?>+}`_rN?T}yMp9?lE}8l8b=2DCsj zCDC0jE)+|bG1abR83i`%Zh%7vD{kQo|S)+RSByr`5a5eKR4XUbvZl}4K z1ORPv)og6h@i9kk&)XNh+PgmeK{h~R*S8R`@-x`=*Zc<#q_J#{CVsDsjdsdzwL`8` zx0kzzTj(1(NCenN5%#e;B7mec|%1#tr6weI8!}W-rk;Lo@k^i!YKLlJMuR|Djt$ z(+F17m4?Eh5B-<%0S|lqpdWBPXseO36?sHihMS+Z0fIOBB4k|XJr`ndr|-E_M$KmG z+Gts6*roo_q^|_x=k*LZvMzY3tT)=Cvw|Y^QZBy1zAdNTb~X1{5TOSyKBjbJ+J67a%|Gi zi}~$WAx&0%&^wUDN4T{a&1XhjbR5oRm@pZr@S0c$5s1vNOyb4W)k0r{`ns;x!CCo1 zlI5&f+B3>KAPP+;B=E)6+WCLqXvn>ui}QMM6s75a=!~*wo0h{sIe)DtYU9PqPm#k> zhb?xw+dQ4o9>p2lQ!^5M{z%~y&vDxE9sJQ$2l`OWz5GGvlcKV;b4m0EHQifqOBRIr zO0HL`ixu5r(-$KS4%HO5MQ+INaGP!5pnA_Sf2U~BAo{(hsn(lQl4rO+A=zyBnne57 zX=Wi-YKD;@ZJb<+)Zjh+5#7xb2$kznqs(Nfhct)JHRl`76*0kwiS)f-C~>^IGB%W! zC*T=r>FCRo?;mzv(o3>$y?oi-(~8I4MrzRAkc6|zRu)Ju8d!Z2!779#@B4-S{=ULu z^s32CFTV5ECqh@8GvP{+6#G$D<Y}|BJEYtVQAMn|Y z{OL`{>-2@a{DCaET$)=j@AxcFG5*Eg1eZZ-hftP}0n1$PYOHP{KGl3RBHdpj?h*|e1`e&g`g{QKDJ!OJ*32f$)kmpe^$n^T__Yoemsda|sCqUwjOc_h^Y)ip8|KrXqC4=*>ABRvm_ z59fK(mKMMH)Bl4edbV}y({(o2KBNZpZv3E&Z%FsO|4IR^TCT!SpO@@q2VJ{i>sDi5 zjrtdokL!A7)ia%B)oBWL@Dc3V5w)7S&q(&Whn;NM#xu8_g0;Xk7{u9v#7~iYdS$u} zmxv*r1wVG(5NEsiT_NV0uYX`wU#Q}niix=NtpKuT2t{r2N|F))E6@4zyL+sS1Ps zGAP2~hvK?wtWLv3`(2sz#+0Jp#?Sgsi`^D{igxRJVXyo2P!>P;G97Z;^KWMsLASEO z+sc-I`mWS`XRM1?53`jF{;Az_pXR5ijKpV`#sPCyhMF(k zjfYD|hW`YncJclA=PMW(a4$n-@SMf8a%X$il^y&63xYsqeX!5O;q0g}g`-QRK3vUz z^d^ql9716TON@HD`bpx6@~`20sunMbw+OVaBdVNQoCD1}FYe%{rIOYQ8g~lzdfSes z_-(n}eHZR>#)f?6;gKZmR`Gm?qu2C{t0%hi-;(7ov2vO6M9{V{W2*+mo8LA!)UIu+ zN=-beGN$|q^_7xMkNJ$xrGty0{%<`BDIEzlDETD@sqwQyNc=zO+MozQ{mK*{c? zZnuBVV)p^MGxnJt9H>sZzC=kDt{qAD7qrg0^#kdC(n}2cbs7*dvgfWaxOJe4x!{KCA1r zPx-yowO_TGwvUKqoM1fspY@_&^e8nu?s7`{lHohzz(BfSBp7wdEIEpJbO+cU{-^sb zug}^J{L>9D{Io=!W5hL(y4+rO(oy<#HM8WmR}XV_cj?UPyKH%6-e!j83D4CV>sQjp zE7^=~acZqbg6s}psjOd1;%+tFd~P=6-@+)d=f7v^XShZV?nYiOy@8nVqGVJV0-48? z8mnQg8CN|KWRpvfeQ#3?ov3!)ULF5Od6F)4%NY^AV~D}s2=HUO%iRa+T(+hgq%Z!H zUSi6$9E|hJsdK+E^13@?u1c2l>{3YR^Tn&J?g;;x4A=I1A1AdG)7IA{)xL*Nl*67E zoGD;s_U_WDH#a^|92!3ARIC@-F*IEJA15y@)klSmbH+h8O|k+{!;-7~j0pk+#3hD( z^{=MP3xC!0WgHwSyLXAJW}>xI9pS(1mtOWvNpb6A|NgMzJO6%}>-Q#2eJT?-Bsb;D z%npFX%B9?k+Av5P*f7o-c(w7$%{l8!fq9w0F|){XP0PZHp&D`~ayx%6#ddH0SnV8X zwHKHve{WCXHxke@9d(^Y@M;bN_iN*PCm)5=JT)H;^yz-e5K*`?ZFhv^@^kf1?m%Qr z*2TZmas{~Ylis&Q0$2SLi8*^Uuh&0Y%y6U7|M<5xIKX~(d_ql*-}s^K`|+jO)y5P{ zgj?P32GeX5o@&0gRtPDU?C567`*uh#Qqt_%Tt;YQPlJ`WwiRT=MuGlg@^j{^uOBiQ zFeOl=xP!*Sxb~5?%ou_T-AmWIBGx@0_kJHK$lYapuaISWxq3#|`KZ!2r@X}Ra)bh{%DSh6!$19xd~9k-33_ytrANks zj#0rpE_YhG_#ToMvNCBOPF?W0&mlye?=2i>9EV=<7;yBv0Cz% z()SD<*_A0h7?*LDgfoaQ#NqV!?UnJ1Idjpklb?~t{(ZR=kv=c!Tr(4-=>F^K^9S~jl#+IE3q1`zLe#o`?S|>!ieEgM z!!J#om!4Q^CS;{}BMHC?$h=bYlJEu9vt)&*cbe#2TNiwsv#vbeymetve0J`rTaklq zdTO9lcT{vv04L%kB2#~tOPKufsd@AthR~i23t6XIT&e{;Z$7;B8Wwo2>k0HmN9S2p zqLfCygDl@H(&nY~EU;fs+A3UOA)oXQ3s>i1jd?X_cSJ6@MYH9KxG;btzpJX5C%m^_ zSl*=wZ8l42kk>!qrmmrOVRh-X_gv7evoYNoDOECouDmrYJ531_>w!a_Dt!^g#w%8j z#$Gduy}LN6nmpC77W`qpYqA1W&o)O6atl!fExrcQ~mWO28p%e7PwW`RIY!GE?l zi@M`XZ0ALM@W0(|Hgk}fd(!=*lO1ad8JNaejCg4EZ#)h!dv^Ziz~`MRvhDWL)qO!f zD$HLDum1V9>ZVH{+~RNg+Ijf}JxA!)rww|NdI%+&)BCme>?8bwO>S9!7%QG+1H4S^Jm!{V%5Pan@i;=FA%BdUfeTL-MCbHyOvS-EFsXrRj--i2?m? zCmM~N58KK;{eisSC*w~U*mF%TAmlC*SZnTl((618k>=>zX}OY{%K<7`%}-IA%>ibX~a54y!<7&-vkI_4ns1 z22a1%W$h!~%p~1iyj$R00sD#cY7S-%Z}?m2siz$Ee`?`FRSa(8jMQuiNdEw0yK}1w zT=2pANhDc1fuam-3+F4)v*ea@lAq^E7Y&I*4iRT#0tUTOa@O>h^||vxJJgY%Hgxeb zRns&n03X~8;Ww&=kW&!&;N=k?D68vnelw2YoL8Srmy|dwjSpG8xo!^p&LM=-d~vR{ z=#s$MJT_L<>is-lM3|7z_Wkej6RT~IttZO2=m!&mPN|$eTpmt~2+4r7#GAXLj1npj z(z)O3aX$dTyu$Gz*Ym@4`yC6@y;11i06kTZio)9y6!f^L_-$Nm(giT)yNbDu=Mv$#Z^8!L}|#S(dWHP*T3B_#W#=1y3&)KXVX(p z&6=&3)KZzgHCfO8Cqbki%Pu;2b6pJnAt}xl7shshy;GjvYD`8}{`wAt8qu=*XNl}W z;ak)Xozab+!$u;KOEq5}36C8bd={!&#fLzKSExKpEYceqt~|CJj8Hd?1V!wExyP7Q zUe7kUu?r%X9(M7KhEV#}{y<`IK*|TdkY!}G822CadLF80Ua^nD!Ey?%p8au*q!O`r$fxX$Tgn{Js zGIH4Sa9JC^>&WkO3DyZ)jz5ng(b>JFoMp9cuZK^P9s&hjuoSwokq=XR@DKg0-clmK z{F@fGHo@G<@zp%H`l&Y%igb!p^~0RCVVaWHkY*QGK5)^!0=1=)5hqCj6lepZYSBEOOW@PYjFJgd|}o+s`Yyr zw=dAz!%G(6N9C7{Pk8FlP_-TOi`&4MED{3K*RPXltNNNyRL>fz^TSBUk z%Y|_3BalGh0f(8dcD?s*1Q$O(0V=o$LM+RdF4FWnLdvy4taKdA1U%TY_~*_B1;WCv zd$fC5oiFUEMlBa3B0txj0F+BoavbSi{V`PKjp;PTAC$X_Bg@PtTi&}2NBV213b&IQ z4rb3#2r2Q;ex{Wsc6Db3>x)|_k+xS7&El22GG=ukOu+rxI6dT;t~>>Q#pSCs`^(-j zBaU5PBfPeT-K?@6eOjd_zkT3%f(Fj?E7@b!ai*14vnSxEEc7@JQ7TT<7GY?#E^p=#7=soS?zvMc@ zL`&YvmzjL%#cT2T*~Z-tjatL!_j_`Hkop`mJ^~)R(v!}Lvpq|KZ@x;)D#%|qL&V-e z+;w^Q^@Uaamm*pX#e;O{+v(_?EW)eb9 zi&w~9bMxfzh&)NpN9=0vz9{{aE4gw#pnO~qxymWHWP>^h{oVOJ%HkhK`bI6loc!+7 zYh-1WVGLunFHsq~Ck*#jQg=QJ?(FhGe=FnWCF+J3X|6 zR*71R%Qs_o5Pg2KV_RIyo*(}dZg9`;D`4$z_z(Hu1bBnygT0jd4yY@iz#+7*L|N~u zbUAT@J8$@#P2erB`so(BOgmZCLns6Boida8P=a!ApOJci4V+|HDY`d^!n74I$qAE32xd3tOFc3292hzsup2RiGg)fl^G~%e>IvJaGV}b^`b?`O1Ic zKYjR?JYRWmdN~e=?R3=tDtYEBf9$~N%6%Dr_mSi}@Z`5kw-uKsVm|0!yGCmuKG(jn zS5GPMrp?(r*V7|l2ZcEZS@rGEh>Y$p)z*D`CJYg=^m7`;VYk4#q!l9L=H0CJAggf( z;u*5U&%HZn(Bf#LeYZwz-G8MEuUP4kKF74uPym9KRx&;UF znQ(1Iu>by>)AW?OeMsJ&;kdPHfbgFi>hAM8%}D;cr}k4yM?UaAIDiX<4X!=>DtG1% zJsNnmVfD*r77G8*tY-Ghq}C2xpZ}cZr0FGKo%P@$;vVgwy*2as$h{0tO~l~vF}9)J)jb=SWYv=1Xg!oIv5? z_P}>pSv%yOzv%O&jgA@zPJQN&BiNea;#Gtif@8}CDN$_VxDcNp;PTVa-Cf41Z)(4@ zQ=j12L|^aLVDuD72-Pd48GG>P$R~3Jpt$r8ZgtKAyj`QKAYIgz@@M{X%yzH-+F z{p!H3ES*!GN0s^$b)pA9rlF0h^k6(9#pl}oLNWgFsx54-`f{2L352-1=PQ42(wn?H zCvJ!eA$3_tZpjSZr`ZepqV?5-t7kbX33O_K?3D*O^c1C$qIc<*@~%gItC`^t<#72A zFXUeb_ri^@9FFZUuj`S^RR`bSe~)9;-)(?=yZfu=B}D2hFB_!xq~DEU_Eh)Ypyq+G zSM4&$@9woBca;{l^K)&8J1ewuz;3U-mzmEE*zE(|VZs@+Z>Izi#<2}oqG{Quu%FCG z?cJ407DyajIgWatv%d;-9;PSnfOsIM`#x1M@JCvg9x`^{NbsYU1*^WT6#k;>)H$Kq=pXrgE?pq%V zt5dG@%Y&U{^ppy@P7S;UC{a`Xj2W4%v@g<`Mq7HRc8CuFwtylIdVd?Tumy+S;{pS1 zcI3d-A{{A}nLLF26UWBN2cn#-ZWUAn*(aDaT2DA0QGTCpndjgvU$fT! zgqf8lbMOCu17X?;3h z_->eEbJK0t6No_$gp1+{w+4TGJ9yR+dCI{|L{#@ZL4uy#)Uw-2&OhU|JSP$fSRW1 z67%1==JHu)eBnW$y1pBS7d{O}#|*#=l|G7ga{_jYAAm1Wv+#2LH&)dEf13l@Y3OJc zwV5wW?ntffV}fTbdC}B`lkk5r^0{W(S5bawa5VZNqZg~66R;P_)TC|p!vrGE_NG*B zna&_cs*I}~2#G^&W020}z(UCS&Zzd5>u2^LBClt^s|vKxA_?am zlT$8IY~9g8Xll7YnIbdZZ{^K^80k194*?ccyWyqINDd39mMSy(9DljLC!KCjtu+gB zlS@#9r{a2!&rWmNloW^|x-vu~V|XXEU#3$#!CErOS+wIT4=wc+NT&Z?tWpBCG|kxO zNdYI4bH*XL|1U`AfZl$w)TR1;$XE%r^eORk-iD9m>#x_&6u=w6x)2I;*H>0!%0zDf z9b#F*%is9)cU#fhz`={5aJ|8S5T&!M^->H~k^M(M>_S#gwginESDFidFF=rMI|aX1 z9$%&-X1=L{Hafg88=5uc=4XL_oY^7x^|##&Q>MLMB78!#L01b$sPK_#6@(hc%;r&W zyLQE_u_%o=L?eLInvMsJ+ot|WJ`WGpB6?y5(MNouDP4Si42+aJ>PY4>bq%Kj@GdMJ zTGz9Xl$;4?7WTjf+|+*WJ{q#*0XF=QNBXZ5^YVN!y_w9(lf8x985oxsD zE2X0j=*mXDkCG%ecx_$9kqKG725%IWJNMtHTj`$O!6@rYcw)ebh{c|3u3v$=q@ij0 zrmyyod*bl^PQulpHt@~-mY`~XErb=F&~weNP&}9V>KgY-k5vDimu}Z{hcCe+5O|gf z!2n8RC~X|Qe+>nk{GpR1xesqS9CW#Ba?MWkDmrJ0nT?gp!@K%X!dKmmwbZ?fS6sio z?dXzCU4Et{&OifGM7IBo5MudD?k*jCM$ESV6be!dci8A>C~VPrWakj5TM&eLTpiv{ zAjp_t7CaF_5U7yhwKIa$ZvWjP#1ifY(a-pct<-3{gG#Xs;n29EGz8R(V#J=$!K zhgQhM931^(_qI-Ty7l2f zMK&lQH;d*_yzC{E(RcGlMwiF5>Yu~PGP{4hybKp9qmiqB1klBR=fwO6<#cAscvGPinu8qXqy^_~(5V?GNx#u{3KjIuN5D|eM758-3p6zp5Y7uKe$17YyYdI_{W8_6UOxay?_MgHn*B|K{ewvg~A-nCHnE^ zEgHfq(H06A_NjdidoW8~9YhwVSN(+!4t)3nzp)q|SkAW0 zT~%|l@x76KyB%3Lab0pzrG0$xzfa*v{M4K|!Gq+VA!{_ zMrJlHOkOpdnR=hZ|9*Z#o2M}(zwB%zER=j3=U5+6Jym(t8aO&CQ?GI{c&z5BPUM}wvAi{qVJ3M>%Z$;Cy3iLS}C6V9s9q5>)rf%@*m^hY6?lehiu+JS=} ze|dHMme-Xtvz?9I$DuhK_)Cz^Xrh3;%tWrM+Lbd~eIynfldfdhK{6%h{voByE0TS! zKD%Cye@yP*%nqew&k8;_Rr5RSeK^~^lI>meP9=7v?s|IVX#vudLCj)q3d4~Up5ax; z|5MUc21M0$UE-mH8M;eQ0YT|*8A1V(?(Xhx5C&-+tM zx%ZyjXYaMv-Y0KpXJOY(?%fy*7yzJbyk_63G_Kd`o(jCs*8iJv`CxakQI|f+X}A&l zAO0^c@qrvl4dd|0@cQIyAORzvof1K<&w_Ta^n81OuuZR#xQ3r>Q5TmpmgM2r8Mz7j zM8Tzz(RUipUEZc^uHL2{L|E3 zK*mj5Gwi#MyJg?YfgKM4@yaIv`cWIpr-O6^4Q_OKw% z6L!TCQlN<0Rc0-LJ>yAS(#oIA@Ibo}NzNj2b zHNcZ!5QTdzCE*gD)Z=4_yTceH4Y)Bpq#(f|GMrPIjE=ITrh_PFkTHOI9e5(EAR>kP z*==r4VuFqo0Nqw5(%#mBXD+1AA9-}szo{2JwFyB& zhtNLj;o?7WIoI`Y{S*|1nLLg0E3&KJslp9_Wz0IQnf@~4Rhb^z^RH#VuH7#&N*t50 zUrq@UNR56S?Ht7On-=^F33EjO9$ag?Ph4|Mte(vqy~oXGH#71Nh`fzLc}YC?@t*7H zwDctaitTVJ6pO|%{-%B8-8iB9iRpAVS+@afiWQ&X>I)ZdtrDbw4YI?L9^)S?hh}`NJ=Dik&PzAo`{@tQ z19*gFHb=oO%Ds}AsEvf-=ndyDh|P#@FI6%su$9#hhk76FvCKDJBhE5S43go%jOn3g zyEkjReu^X3M|noZgTI`m^h8x}q2r7lL=p!&qdfGeQrw^9tSFUV%QszRn}hDnHu4k! zn?Tj&45>A$qc_|N@XO+V9#PBW)Z_5G3J-+)7?Q}g4Wa48VylyN{m%!C&t94i{_Kd# z1+*{ureclR2C^c5H0?XlBrOW|odqhuL+KtYg67kVohN>?W6R>#lLS;?yBGXx#{PU7 zl>EP`&}N;ge;v}R_;{ZUFb9yrwtJRBZUJ1OgdsFq039)GaJxa39!bsUx9fnu*>inK z?o~9nUw)+&pL9X^-F_IKRJ`dbdP@|L{^ZN4P%dcF9S>zT-}VZrb?|3bviz4`W1X@B zVAMxL#Ny zF|nh4+QLFPo@-_U)J<2G(>o#Yv+wk=*j$aHz?j$|zprg#ZNE{9n&%fxrDbHRVJ07W zr~o@iH{cx=gfF^ts_|b$ZC8onNB`e<51p6%HHy}Pab5x7il2tdDVlYG$h9toQ%=Aq z9w^Z8w%gb^tyVEm)LuWjm4c6y@zcm14H*DQA1Ip?;T6j5;4g7bb zUKSf{WTW=K9c`3V(sp=ebFG@p#7l#$3AUn8=@L$fl~Sh$T=safzRd&~GAFC^@UI4n z<4C$ZCk}%Y9SFQUOr+M-416b0T%q*Oc|Uzw4?p;XPS<1!5O6$nw^}TCi`` zXw_g(=Z!RdMPMQlknI804x=|toqJ!De$04%JAdwWYlC=V~kprihF+iwpK{OI6S z)3US%{Bj4N7+a8~33ET5-Bj=c;X$sQUvI3+6{(n{ z5+%^CF&_PE$54kw$YSK;SGDcGz%N7<4ljh&&%O`-*8xv25f_l!lc|_=-s;P+g$F8n zoT+R9MJhy>0q&#BCX)l5w$ES=I?LXFQ}7_R_&LXQ@(i}>+C3nkqRGY9kmfLiJ2^4p zzx_8E0kA9)GtJD>PFtmIXNdT-qe0P_Id=UWz!-N&97x&L-_B(gIXWQ_imm*-todrvTu4mo+=ME zuF_$Vzu+Jb8J}JMBn1y~r_pyexmOeJQcbN9l(E_brg@8q6LGNe{c^(J2_Ki`cAVWj6S~Fz79i zrEkQfw51^AbCT2srPb?@Tq!R~^bosgjoR2|ff`;PjZ1rt21Ozx;})NP9@*vrz@*TI zm1!6Aza6ejmBAIK-PEj+vEw{|t84Py+;QdtUMTk8SlO;C0Q2R=Z{#1_hfu39 zG|*7`>%?zF^F5n=*TDbys^D*Va&O&-KLMYHs?dXK(3uG{(TK_4!XYv8i(d#am8oHy zJQi)w#Uksh?5WwO^WKiWfq#BU{#EHup7q;CYYw8PnKPxdSGF99K~5Z*Ih|9b-a!Ed z>ln??A&suw1P8tNOJrN?z}zmx$5nLSc84(Un~B#?p0+1RYXnw+@|Ypk-c|4OlZ9)?}Rr@>6mPL zZQ)+8nqB+Rqu9X2REAzeZhA_@qN!f}xuucB3wX>o>sHv{F6tvO^=k1A+3=+3fqMt( z@57NNEQYM&emmh#(EO1)G`ka-gI>7i=4RvsMS2y36r4$goYK7*G5(()Ws88XHH8oQp?(2pwO zEW?4>tur~B=1-Q+Hay8i1sF#?;aY+gli(2vEr)(HnehD&Ce%4Aa>XXFdH&UUaHrzE z4u3mZiB%a$#l2ZMNgN^MJ4_b_4QlfVj$myI{F1>Hp9C8@-A|2{a|4+8{r+<)0lgo# zFDgDZ_&X)e>KdoR;Q6=*2G2+U;;I^b)t9u8O+61TJ-|}J@XSFUUo9Lp>WwdDJQMH3 zXp=Lut|A9eH?rD*+2}etdJ<0q?OuR`jui)(tH?x)whwgV7|?j{mUZ*+x1~V^ zr2-H48-K^7@ML`R-O89=dK`lzMWty8SwK(P0WN5}pBtjEXOM!1)$-5+>vHw_^-jl9 zV(l_;m=ozd9qnLoKGWbweKf*OajW(pUmlw%qZB+;8w>NCKNKSH1{MgZ`mCE=E|Z7+ znO0x!v@=-4JGPYB*+Boc)a)C>2rZ-c1Sk2yX)eAE)D}KGVHYL8n)$mlWkbV0aSMvY zhXvJ&^c>!ybJ^Zq5#}t@;%e>}Mj`#i@Jv)`?C;Sxt@k` zl1|)c01v5}zPi#`T+m9&Lj}lzH!r~Jqu%!rlfscYJkp7&H?bZl`vL>LEWAbT0py{V znq@C}AK(F43s9C1G8j5g*0C8Z`H*own!cs*0{%vqHskEFRuvUH;{|NcIWa|v32kr` zV4EVe@z*oYKb3D~w<0EbD#axt3d5loV>}P+{rL>?HS~Wb?9=HFU*d!vueJ%T89@%; zTqO*52K@)!Yc7+I0ebvE2YJx)ib$M!lrm zl7*eWk0L%WTt{wpc@8}T(G&ibW=S@|TDew%3Hi9R2t$hZ%}%I_%HEg%HD3)k^_A;} zGi|aAU%TZsGBI1wzCY<@FHmCA_NfyJMFWIr1~>=7PZAY<@TE*=QK!KkR61 zBB9jP2ON{3K%8{D1s?J!8E?`)SO)Ju$$%emx$S&rc7jJfb}ge|BUn<#vYC6 zjp8!i`FL_W$pRctvlfD|4u50xXo>H}!`(gD^xN>+PmP!qFYmPDyX^=Z>?zkIG@wvo zn~19KdIA#rBdR{?TqrO_T6y~4_2Es>6c=&O5wp_wWIB<4ZE`S%xJ3#Sdu ztK{LPx=BtyTwx-Yi%`l6yxLrs{wx@G@qEsZ64NADCn>Kfeb(Y_T?U#4REV}*>h(y3 zw1J$Y092bkR^WLTaMlqV=&xfAhd+u>qjK=^ibnmHaRuBW@c(rI@~sa$7CO|bXCvEC zApR)yt`{*3H_RXC?lnK2w{9u;jF3k;U>uA`?GY_OnCrO^VTT`CS_KfC830c$adwid zibQ4Ln3b{qQB>{G1FFXiqNzBSvA+4w;XMg+iCK$Lm#qMrPrqnara6v6-nk(6IA7IP zfdK!&Fu}mp9;2tvQ@by|STUYh=+)JZN49l!pt|LBq&4ZCkCdERu?b^+pVrYykNA9u zfRsqS!qGx4(49HAkXX>=``5CkpeD+V@Bajg`sSyTbpt+70ds6n7IrlgDV3~i9xUb8 zsnAJ|_InQEFg}gO@Ie{nSe~!!rhP(trm`}fT3RPa3Ha8Hs6+MNR_~u}+yP)GP5tU1 zsNs5Mv8IK#QB1g2?Bf z5jYiD{7W4N_3uX251DYXja)+#VKQwwb~nE>U_MNI4*sr$CzXXT!!&I1I8E{dm$NR~ z=mcCjx>pqeL%u!PgI@dB&#HEst*bOl9AxWSJwD}^jc}%A@{8AlQTPP+L>4N43PYa_ z_?%9@@b!eQB>*B$QNItmj9$$AdavP_EF7yamKlAxX(i8=qY{Xm_XzamFP=#K;INh+ zS2I0%oS(~?HM6QCsfIj6lhUvTEsotQO0TlN{mN@_$M{^9G}Q#q-! zYZx^?HIT!x4A@9r<;I_v?>0JBwnP&aUVR(zY`p3)Z5d4+VW>9XrF+?K(%*Xb49xyQ zIb&AVNYpT!IQfRwozm@#yb;!w8SM{FTZ|v&Cuou5at}@$!&@|F0lec20>ev)>G_46 zVn_s(4>u2S^+0(!h@NpSx37@cDxGG&85{kyNyZk5$Rvf z5INL9PjGR=Q@-G91OX}K+QIPkIP^GgAb5dFKgcRIxk2(mt7H#783 z0UYEvPk7G}-VPY}qz-GCFb-&0{!98L_Z2nZ>4PfmHlr3%Dc1xHCh|sAEtJ)*(|>-u zBGFROP+b*myb}6ubuKx_Kr0xFh=ToIVVm;b9;)!66^v|tdw{~(SRMw|bNLI0uMHp! zJ8N+M?*v(K3Sce&M>T4Sk9q+eJGGmWOA?5Ff2wZKm84 zPFdYzR?Pe5;GW9n`JXADTTdzVJdTD5Ni5Pc+!i1hiqPmUv1LRo?>>A+a&V93Qph(Z zJtqJ3OK`0cXGVk271y!Cul{xk!94Q+(mX8-11U?>(C{Z9raLh|q$8#3R_-jL)D;!j z3TtQ537r&YrRHv8Ny|@G_9qQfv~58yG@6cLyoh%fE;i1YNLIBFob%ZDA&e6CA>gTx zr|IC=P!piKOV4G1z$<=Jt|b(!7G&DOrH{%=#R7uEq46Xp-Z&c2q)ui1NR%HKFYs;H zTA1&JHhrE|a5sXrv4T;BD~MvnKbPK3YwiF7WTO^Zy;oxwbT4_UymL3b&b;V6|6Ys3 zm!rBRTax~h=~Cx!L?5`n@ymmST`SyRq6jYrEn1J0T7z4 zQB`HM+h^Pq^4)xsE8(QSrQ80L4?I+G1 zr?Zwmwi{PD4zhAEasJdXjU5rccx2@ls|PSS%6hAij5OwllePOMPCTFELDuhLGhhl6MZ0=3(F!TI!3xWPWo9>eA{bSVK^2kQgK*_#UsZ~ zBlN%cVC@|*-C?!9qh|B#7bJ3(w?}b%(KQ|ycwusv>Cp_z4z5hpcA|+tKIa<&mGn%{ zswD&erL=ay>F;yCI);=|fp?Y#lor74A%$!2yb5vu%D;X+e&E9qG-d~H#PIJ^A!eG6psAqIq z7W@X5ooA|xNYrzCdV--Le+Wv+v4i@HN4k_RSQ*!3+5*Ls&IuJY*57~BnXNe5%t5)L zxga9@2@v@vmUYIp4js1VS?N=$znT=@#?6!hf(M*C>p^PTADv+Tda$UHKe;v*$_9Qd z*<7J>PR(1rA#=qW%OaKOV#4W-0y>931>{RhtVh# z2T@jmg(a7Ui*{X}a^k8ZwkHh;f>f1exR z14*6agwqUrWLSwE+R6E43K~ik?M)^sk#k2t>9NGMSaN|CdVI-h`8;r3(?>96(s|OD zNhyZ=u&iCBH|H+p4SWJ?6?IApSko}iGyp(i1d+*O98}yA!vG+}%+t06ZYfyH_uqL$|_{8o>jR~&3 z_vMVp_S1i{PN>{Qm_GgSbD- zc;r~0H7RR^J~W^zrecVnM-FPAd}VFaU^=Rb8!$oPc%fd(mVrctA#s7BraLO6oLX%q zG;a}_vqf%=Hw7Vd8~?b8KIYW7`}pF5h?~g4VhHEez{H#r` zbYf!&qBct+0pRO~Y-7u}4im~2-YLf0nQ!Kxl;SOvdZ{&ot(9tp*r{MZ(8F3ZlE7}! z_N|8<-X=v#^AUxKy`JzfEW%;_Pi@G0;e9~7=bk7pFXB{*U%HJQfIc!|BYRme9MM>SZpG%QPbVb;J6xPnkFOO{kxq951Ak zzATAiDEqXI^pS$7MjNCpGnVIJQoXxsM%Wkrp5)vPSA>%NVtS{Y%21^s5WyyO{KgHW zLH+psyJ-;3asv+D9t4^dC19~HUj_uZtlY{jQ753NIsoJUaA+j6izHosCJwdzwhn))1*m4B1FpSF$bLCJ`J+V#$bF>i@-!{x-Y>$N-p%wOSV z0J{a!X@j&_;JRg#`4nu9x$MEen}gv34Tw zcbNWDe_q3OPp6UkOBg5jpNLYR7rRQyEq6i+Zf!Bvux)_zR*h2Ed>Luym%q;EuCZ;< z;27NC*pLO|{GjwWQY25Z8)ZzkpU+20S9)UqQzNaXa8w?0j+bW{luzqUH|_U@?6ntk z{wG{&Wbs=Vw04Zo-4xABIUE^d%*b0`m31ysqzwt z<4&pFD^VS0xrXxV({HL0#(&KQ)J4GUI-6%#zU+(#_GW6Z&DN3z26@0l&h&fU9r{i5 znSB)F{m-!!D4=!2E#vk^s4}TxEjSDA#D9H!3`y3u@?JRs&iyR* zr+)0LHIG{_aWxzfrgifg6EK<@pe0%-*csDJDp$F)h1W>I@%oh2PRT!{vbNU1oA5NC zS|9kceG=1MjB6NB)J!#*BuxquZN9hw#Rn?BiHaPHRC=E^Jw!v`=GD z8fYQ*MsF&}Bx3H}yO-lpYNU165Rg@pIyJ7|Fj7HN%wUseGD^7JC7&ZM77HG>>~4Vs z8lG{UH@C+SDA|%0?F9eWG?D(&8@PuJdoHw9h=7N-Vb46v_c*0km3D)_;^-c^=S^em z42fY?vv@!58xYiUq1#;$`&Se;P48}W9e z@a(=c%jRRDH#3n7I6lkGKQV=ollHq40yDD^!qTz^;Ok4Yo`$-n-P9Vv zyAyN&RtHE~3AdJ8fA~*#;PPDOXn$GYZkoK(Mu|I5B~$w&2&i`&PF2^Tn8Khoxx-Xe zsQIrQFzhxkv1oGa4raefaXN$b>-G`n@mbyEnSi*YRhsfxGu)Nr`b=pJ_aGWQ7UY%W zs>LfrS;Wx(c}e+XT`0iOHG~-;0%$1do-9BNuIakg=`LEl_f7+J#kw5rsxk) zk`?T@-AfS%kL2O^2w=Qu7DeH4GEF8>f{RtPomd%}R8~0nRhFILfK1Y}B%6QF9u`Tw zjeASNQggosKK-FVDTQUo4Y_%h0{u;S#jLP<@a`I=Zd_3=@Ouw7oVp_U$GYcii4x4Ro@u z1nBuyl4#tJCbeZ5cc;AjN_#Tk>6%9H&Ov852mEkYl5F8N&WbR_3Op03Tv93~JLa-# zz!$NuA9pSd*ny?a-t+`f95bx$v9Qin5W#~0oAqu}&;FH7fHYs=GZd<0nV=3hu?As< zl({GObCIqEN!^)VirpWgUBPO;2#@i4^jyY+ag%im#LmLIcR)yZ9E|k8x1{7Yu^BQJ zd(9iu%QA|WSguZ4W1ewTC%ia1nd_D!sJ*}P-wu^!^>Yo2KX?@i!B%x(^#NfNi%6Zd zC(7M-%Ul`d3Vw!Xv;Phtxdy;lke{x(Wgtty$Dtb~Igzy}uM3#FE_oiQmrTvfhuBI- z{X}#iIY{=)QtCXpqiBTS8DUl)7?9dkjwD1L_=U~fx;@cHgFwu@KvzNBOtjQ%k0)45u_Y$Pll32AX&Rk)2BJFxNwT?_*D480F>ZXNDR!BchQs zDk>$*+)a?2O1oGy1LmfMcp6tcbPEPO;I zNgK2Zv$e4viH1z~ckGnIzM?@KhEF4erT&cwa}XL)b(`8Mp5?v<^kYLt?&rqb!8qHD zN|1m)=OaU0$gPHC=`(FCLmjNgIx-4ftmkcC(cqr5$#%j_9Kzr3)`}nYi&6gq1vFZW z{wN6Z-%fHWo<(0xdp-m~2W{B1F*EHJNKSKuL@sd$n{dB(lS>$9R-q3AJ|GQnOQqIu z0|vzm!44nC1cHtl*uUwDsOJH9oVUHs<3Dwiam%=EO8onFr3m+lbC_(jv0T4_C52?4 z;ZeKcZQ`qV^GGAteo6r=wKi+oQBBJe*=`x-2Fj9Rwbvq#DQ9oKZ}i;S10GI1^RpM| zGxPpoOPfCSo2C9Y@OhN_?fW1(Y`h?@EV@Tt_2#oJp>upF)TKYkf+>oWJp)%}cLFIr#BE?rA+n#=0M5n}>^I{*qd`=o zC#(aSfzMHh7owAJphg24!OgZ?tH5NY4`JcB;ZLpJI4+u98aY^g5tWN@9$2+I?Asgd93ARtc-IV}-?YP=l#3A(^Q zHXU7%XoTgPofG3lOqF`_T-VFab3sPR5cZ*&MNSW13JWyC3Uv51ZELILmw}9p&|k57Ep6>b_NA2QTK>o#XYuJsX3nbE^njEpLz5S}OZ-JoP3y2? zr$k@}aZ7ucET>#8zn|-MFmC-tMOWiM*331zDR{X5&CAK!I@g5D)=@>AkMmk7BW`q= zfg^Max2};tLQBQr58s*0P0rHLiuhF-`z#c5raq7BC#yTH^_IxR3ZQg&4P@`h*~&R? z{qD|5+~l}NM?4z6(9r$#Ntls$yDxZjNY}vf)>wE5|iWq4vby_;f`* zgKQV4cb45a)aps#dB0J5!L~cFPJg2i2K}`_e-kShHoEXOt)nR~`uam0V!oG$Dw6`* zqp>S9wqM{P(SP>$4YL-PmmPDU{`3CerHYtE|F1_0Eq$B+0JDABvfI1g2Il}V!|7}> zY*>Z<>UgDt@SVQixD72z?psIk!&q&d*6HS#C+?KmlI8Qdi4o#*d+smiAuy9v&VEri zR-@6_Kb2F%Ew`s)pmxcmv)?Z5+wHCPzg*O1rZB0e`KAi&_&Kf6dW?fo5A*3TG$p}luZQ!2Oq(_a00325JC(- zNDw=I2i=LMl{LjDZXg#V{+rR%hqXCu4ZBw(7mLz{t2SpOwhkn@%At(hD`!Ea7>F}U)5%j(|W;qU90lQMMCpnIt0+It;I*@W$IoC zY~A_?DV+(oFq^N>cN6yvA_5GDFiePpx;5XS?FGEOacjT*^7L_M$%V-U?#Fu2>+@hk z8;lcq(w1Ys?r{`zW`J~5H1HS4mmM>^x?|ZOq?)&?O%yq@q!c$SX}(aAg8z=k9n8T7 z+c{PnhzXGUDYqm>48?msQXKSVjr6>zM(5y z+17BlN9Aq!Zv>AJ;qJ-A@90{b{{ECBaonTh3SJVb)asv;r|K!2Gwxy(UFd~@K?Cv?Dr)m-MJ1VM!D1#b%;Y87ctG)*uGZYv(xT zL$(~A`3Idc1!hurq#zqirqZzS4ARtMo0kA_ZKZ@(-nOcE%aJ%i2jroEUJ4G#(w9-b zTM;}LQ(G<&0*ctY%=zp>t^q})?futD8`_hxSzvq=dY1pkAVtAha3F`X?1#$OH&)dK z4`ZH**VX9T!iRQNa+sI&5q{k2Mk{!8V{@>fp@{sD`%LNV=-cAyh z&i8|D(AS}3)T9yY6hmCQ{g`}TuEwK7ds_I3tI+}FPT@UZZwnf;=8wwRY387;K8|NI zlWoHe)G+gBpeBw^$;P`}vOmrkP!0lI-;x|gwN+BR<&Wo_eeevb5C&1BVGW(V`4AxU zqQt|Pgq&YI#Iz9^_hi3JhXGBH*Sozx;d)kG6Aqn1=KKO578|&Ws7O(GY21XXkY!YW zW>ThyFwFd>{wRb-@Q|WGyfX?zy-?^puzqz6cujwzq}MBEH!aoJME~hY84{NBl_Agb z?JA9(dhhtZKBh#zyyL$8ChW?+7^#?-p~VGZ%}Fo4s14;9P+;H;BadpTpVd*dSq|P_ z+0DbqrcbFcz~ax@erKCDb$l~;DD{5Ntg5(>bQT9x%HT(u2U2eTdc>1tqgHHJ;PLeF z5L5129Jof9=X=f946IhUSK}of`2u-W=m|@{+SZCBKivom(PSlni@%lN@3tx`AP&2$ zUqo&*DwtGHu1JqY9O`bJG$L}^qKK6R(DGl@%ccrPa9Di5jRN4qN)O|fe$D^1fSYX5 zmp(|pQ{Tbl6C@>*vON;MQ&1-_p&&iA`nLwV7!^l!9jxp3HB0LL8UXnX`PSc+J#Jhp z+cd;yCc9RpAl0)1@tX7Vs98mwF&-#?Y`Vfzs-BNp#ZBkH%%jFw-o>kE2rGfDtA~tU|Evg#5z(`oKo}1S^-94b-!HBGWY@ZG2=I);25BuNl{Xu_@SLBmxT@p* z#-H!$f^2Jy+Kt^ce=Q4`=z4H#QvKnB-V%=urGtaub59DSuksC( zl>d%Z0%C5dEcnDtMgjY>CjtuCjaVP(W%T!L-eF>mj9Gd&kO)DwEubogMI{Y<<2Qb` zHQ-uV2k86Beq}jUp|j#Y8Pf*SC>366D`U3-Wr+UO8!}20WZgJ9D`kc6S$_%)qQ6~i zrq3>XO?wg2ln2Atp&J8|x8oSjWpuM%H3OE=vtYV(f%77xra)CE8aJluFWzA1LXxzA z|B0G;@n-wYnjITHeiiyWD#fsk|4Cliari~WUFS0pb4kDqU^1_iZU?_0R&cC(8dfb< zDqg*e^K7~*aN%L6TF%qLq0=>D-(o!bVMX>w8yCEMQgl6RlxfNaa{AT`?u<03Zjlo& z-Cwp?5&Q=3bzbV-w9B5!D|;R`%f9{1*U+wvgEzb6>gUNh@PRjQx+Z2aV1QUv(lz{3 zhCjOenKyiM+?jqsHtUF!{{=)Fc) zHlZWmug5F4st@Y+mmcW6Ht7)n6`c%R6TsO}CadE>R!2$xmCb2uhh1Q&m$euxkU-;$ zlcWF8%0stK%j0T8X4~aQ8C?lrAqn(c)9YeQ6js~HP`^Yubp^Q1pdBQm7!LE>sefsT NA7qrIYov@r{||>S+cW?G diff --git a/apps/mysql/versions/5.7.39/config.json b/apps/mysql/versions/5.7.39/config.json index 110fd2d99..1ed30aa10 100644 --- a/apps/mysql/versions/5.7.39/config.json +++ b/apps/mysql/versions/5.7.39/config.json @@ -3,7 +3,7 @@ { "type": "password", "labelZh": "root用户密码", - "labelEn": "RootPassword", + "labelEn": "Root Password", "required": true, "default": "mysql", "random": true, diff --git a/apps/mysql/versions/8.0.30/config.json b/apps/mysql/versions/8.0.30/config.json index 511b77149..1ed30aa10 100644 --- a/apps/mysql/versions/8.0.30/config.json +++ b/apps/mysql/versions/8.0.30/config.json @@ -7,7 +7,7 @@ "required": true, "default": "mysql", "random": true, - "rule": "paramCommon", + "rule": "paramComplexity", "envKey": "PANEL_DB_ROOT_PASSWORD" }, { diff --git a/apps/nexus/metadata/logo.png b/apps/nexus/metadata/logo.png index a5ec578d1a3922f2f7704d65423df7f376ef14ac..809e5fbe1bc6d5be325df64bc94d3f89456ee2eb 100644 GIT binary patch literal 6338 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�(kCw7cb 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 literal 1245 zcmV<31S0#1P)DO=Wi51haAg2tc42g3a^wOUVE_OGdr3q=RCwC$nOkTaRUF25vuSf_ zgN#3a~7 zehjY44WD0rq;;o*Q6GWWZy`qgJ(kb`RZK=ViIArtc~T+d6e8YW_IjcdPm2U2emkW0 zhakQO+z_=7MD#-PZ9kENgvkA4Bf`7Y#ASk7;&R9rAaz&8FmWURz`Rb zf_uOjg^)4Y4!OBZYk=3qv;OK4MEn%(wvZQQrE*LZGMx}yFOxVxz;P_~7y{bMuQawd z7C`(A_!#n+R%@k`Ho;mi`nH+9SG?)uvc~krX^RfIlt&dX2JyA*x^30oXV{tJh*%Bj z9QX`e=Zx0AbQchJDfQK(|M~71q*kF0j_J`yCkz#=V-4a1S zKOFw7xd0Mx>+EAQ$A~NV`-%U4q|pS7gI{L7H=KYOoCf>AM~x;x9-+75{T1^_;<^y< zt&<<=n&&E1FG)Po-W1Rj&=k-V&=e3wz&h}b1RL0M>;sD$Nut1`Il7wcE{5o{|fOZRCTG8wQ5N@&s~IFUZT<8iXaoRT0w{D3S5wM zF(4a=c}&r#tQ2m?$|5jeO7CwWaaYrLXNdCRQQh{|Yo@z2dV+e3!L7vD8)DY?GPpNs zmKT0GHf(nh9o*^H`c)l#smnVuV;~-K)aA8QKFH@j#)&(uok#su7JS>7;>QX0tD-Ym zdVCkrBH*4OMVlAEzlvDW!drAxBrCZluO#Se;2%Zje<0#X+9&^C7SCP3{-F5nB){E3 z+cjykO#QP0Las5wT{G=x=7x0pT>B|S`$Lew3maDd))G>!Kwk764k4r%!si=w)9tMN zR&TmV2s|@=Hx`|^wBqX|XkTohAAePO-%sQ)>%kdi{#P<*`P2Si{qd_GXS8+vKshTK)V7q$JqBJrG