From 9cd61aa63fc37e4cd05cab8ed09f3441bfaffed5 Mon Sep 17 00:00:00 2001 From: rui40000 Date: Fri, 27 Mar 2026 11:58:27 +0800 Subject: [PATCH] update --- __init__.py | 6 +- __pycache__/__init__.cpython-310.pyc | Bin 0 -> 1608 bytes .../dialogue_extractor_node.cpython-310.pyc | Bin 0 -> 2363 bytes __pycache__/flip_node.cpython-310.pyc | Bin 0 -> 1773 bytes __pycache__/load_image_node.cpython-310.pyc | Bin 0 -> 1856 bytes __pycache__/mask_preview_node.cpython-310.pyc | Bin 0 -> 4010 bytes .../mask_selector_node.cpython-310.pyc | Bin 0 -> 5098 bytes ...age_narration_remover_node.cpython-310.pyc | Bin 0 -> 1752 bytes __pycache__/qwenedit_node.cpython-310.pyc | Bin 0 -> 3601 bytes __pycache__/saturation_node.cpython-310.pyc | Bin 0 -> 1856 bytes .../shot_splitter_node.cpython-310.pyc | Bin 0 -> 2472 bytes __pycache__/text_list_node.cpython-310.pyc | Bin 0 -> 1719 bytes xmiles_nanobanana_node.py | 198 ++++++++++++++++++ 13 files changed, 203 insertions(+), 1 deletion(-) create mode 100644 __pycache__/__init__.cpython-310.pyc create mode 100644 __pycache__/dialogue_extractor_node.cpython-310.pyc create mode 100644 __pycache__/flip_node.cpython-310.pyc create mode 100644 __pycache__/load_image_node.cpython-310.pyc create mode 100644 __pycache__/mask_preview_node.cpython-310.pyc create mode 100644 __pycache__/mask_selector_node.cpython-310.pyc create mode 100644 __pycache__/page_narration_remover_node.cpython-310.pyc create mode 100644 __pycache__/qwenedit_node.cpython-310.pyc create mode 100644 __pycache__/saturation_node.cpython-310.pyc create mode 100644 __pycache__/shot_splitter_node.cpython-310.pyc create mode 100644 __pycache__/text_list_node.cpython-310.pyc create mode 100644 xmiles_nanobanana_node.py diff --git a/__init__.py b/__init__.py index 0476524..2ab34de 100644 --- a/__init__.py +++ b/__init__.py @@ -30,6 +30,8 @@ from .color_matcher_node import NODE_DISPLAY_NAME_MAPPINGS as COLORMATCHER_NODE_ # 新增:素材拆分节点 from .image_splitter_node import NODE_CLASS_MAPPINGS as IMAGESPLITTER_NODE_CLASS_MAPPINGS from .image_splitter_node import NODE_DISPLAY_NAME_MAPPINGS as IMAGESPLITTER_NODE_DISPLAY_NAME_MAPPINGS +from .xmiles_nanobanana_node import NODE_CLASS_MAPPINGS as XMILES_NODE_CLASS_MAPPINGS +from .xmiles_nanobanana_node import NODE_DISPLAY_NAME_MAPPINGS as XMILES_NODE_DISPLAY_NAME_MAPPINGS # 合并节点映射字典 NODE_CLASS_MAPPINGS = {} @@ -48,6 +50,7 @@ NODE_CLASS_MAPPINGS.update(UTF8_NODE_CLASS_MAPPINGS) NODE_CLASS_MAPPINGS.update(OPENAI_NODE_CLASS_MAPPINGS) NODE_CLASS_MAPPINGS.update(COLORMATCHER_NODE_CLASS_MAPPINGS) NODE_CLASS_MAPPINGS.update(IMAGESPLITTER_NODE_CLASS_MAPPINGS) +NODE_CLASS_MAPPINGS.update(XMILES_NODE_CLASS_MAPPINGS) # 合并节点显示名称映射 NODE_DISPLAY_NAME_MAPPINGS = {} @@ -66,5 +69,6 @@ NODE_DISPLAY_NAME_MAPPINGS.update(UTF8_NODE_DISPLAY_NAME_MAPPINGS) NODE_DISPLAY_NAME_MAPPINGS.update(OPENAI_NODE_DISPLAY_NAME_MAPPINGS) NODE_DISPLAY_NAME_MAPPINGS.update(COLORMATCHER_NODE_DISPLAY_NAME_MAPPINGS) NODE_DISPLAY_NAME_MAPPINGS.update(IMAGESPLITTER_NODE_DISPLAY_NAME_MAPPINGS) +NODE_DISPLAY_NAME_MAPPINGS.update(XMILES_NODE_DISPLAY_NAME_MAPPINGS) -__all__ = ['NODE_CLASS_MAPPINGS', 'NODE_DISPLAY_NAME_MAPPINGS'] \ No newline at end of file +__all__ = ['NODE_CLASS_MAPPINGS', 'NODE_DISPLAY_NAME_MAPPINGS'] diff --git a/__pycache__/__init__.cpython-310.pyc b/__pycache__/__init__.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..83e641513d9203e4aecb13329ffaf5ce8ea64eca GIT binary patch literal 1608 zcmZ{j%Wl&^6ozMXfUjVJ_eY^$gz?wUC**HzJ)?XQVSC(WorWI+* zr0n{(Lzrg|DbF%GYD=Cqtw^)1(#LZ;q7I9A(!sITmM2Xs@}x@m-j7H)c3BkBfXA7y zJJNPpjcG+5S9O@}`oowK`Y8(RlgQ_pwU(|LoxMX%I?bKyRe5&Bv%?Q0q%NJt*7sHO zjj0*hu6)AxZr0_|TjO+9?11l_fO`Jf-*#-b)m~5S>m7NE@7^fOM_7oUA;e`NU$Rs5K=QreGkK+hOGzg)RS@^`yE?MT;-rH#J-&jZrzNiH5cc0?z6LTuM1 zt`cE$LP#>JcVdQ)1M8ZKYX36I_AcT!zo05m)i^=SB g&v#;%zDU0H@CYtN{GU^~?z5Q!zH%y;EVo7F4@-KZZ2$lO literal 0 HcmV?d00001 diff --git a/__pycache__/dialogue_extractor_node.cpython-310.pyc b/__pycache__/dialogue_extractor_node.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..c7b870013bdcc83bd63c52359fff0a9c7e93c8fe GIT binary patch literal 2363 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 Z@5-$9Mu6x@$8oIV1fj?2Ce`%Ke*uUxI4S@D literal 0 HcmV?d00001 diff --git a/__pycache__/mask_preview_node.cpython-310.pyc b/__pycache__/mask_preview_node.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..5c243e931cf21785d28e10e9986b37ff313aa512 GIT binary patch literal 4010 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 K?};(_-hTmk_S{JT literal 0 HcmV?d00001 diff --git a/__pycache__/mask_selector_node.cpython-310.pyc b/__pycache__/mask_selector_node.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..11c42cb4179d69cda853e07648d166d9c117c6fe GIT binary patch literal 5098 zcmbVQ|8o<^6~DbZNoQI9f^CfL0J#wIMTvogd?%E~0YYelV6d4C3Yn|Wo{VfsXZB7M zyQe8&C;k$?rAg?7FNsZ>1g8UJrU^0M%5?e%bf*37W;)ZESd#q{nd#(*q|>4A?aD%? zDbtBGx7yve?{lAh`}VzESv5652|gz-u1fx8i6niEjmnP#jThjtS3^N1N>Wl({E{fy zBvF|vLlRX6UZ}L};-MltZI6OLg=4|oP zi(el&IDPeK{;N;&BcJDw{XsORr^cW;J@wYjYojGN#2UU*I6R!caI$#qME=-U#gjt< z8g%lblhfDVFVQ(Uls`U_zkI29^_{{8r*B?6Jbm@!{IN0pXPsLk`t*&7!oiCiG)^ka zgmn#`_3+paLqQ3ZyTRUP300{tNfI*k(*XZ!rxj>bomP@)_h7`+n7KEbWF`$0Pu6*nkgcXL<@RW2ipiKlE<4_dtV{)LTecCEM4iT-SIMc1>Ux?}UMc-DsZ8X1e4_O9*OBvy7I zuwj=RgUeR-^?TKuBinX#8C^TKZS1TDT)PDdS&@mKs6@SmHT?Sjt^P~BHPBM&Tq`S7 zVJ<4N!ou@+c5UAr*%Vf?i=YV(H$8P;EI61(xTZ<7_@YW@0NHjk9ZP1CneJ>22*vtC z_vTE(0*i3!22LXjn^J;#t%$(HzWMO@rBwnx|GS~$@i)Ku@aXwC5}Etl3l-eZxV`Le zpmfQ&Gy!hYE3**P!F?u3j%1dX`W5JJ%q*d@D&^Fi&yjmz^SY|*ODIqW7ds;7{En~3 zk8YMExB;Oj;QHYkNGP3v-xJuSRiy#Ty2nSkY3-Gs|Lg> zx5}+jFMI3YLG6QFXdl&cw$#)D3^TQf)|2$9?xD)*{vlxlzgqi7ASc|)dh0>+Mq zCZzEicxor4L6WPjkgGo+uNxubLATDWO~A~Fw08rxoe-@ZB%++_r**WRE+~}^r~SEl zw|>0Nm1*6CoLk_61Z?%EVJSgqBW)Ve=4LiXMir-Cw1yRsE~L#v8m*>_jwrc?%r?-h z2hG0^6OgssRkM|Awt;0DGEaiu0?_-8>)mr#y~P!JEu7(!yN+L4$q;PZ=)$VENVz7r z3G6N%Crqbut_jw!(QR_IULW*4>S|&P?`?3KTBT9hB_p^Z!mAbz%P_-x@y%|-23(tF zXMx*12-02|5V|V83;d=5o<^#Jl@?{{T;eu^AGE-jCbtDrz;{4FS$e;_m@Z!{(Ff>*Pgqt9dreHQwkJEL?5a!crPckw=y%(_d)gLDmy zT+Z>HKcn!yfxT<7Mt?HC$Xx>ad8xb5UF0ss{TN=C{VT=*$b?|{lm>o|hyFn2?|M+PaNVJ%3IN83G8S#{4CgBBk_Zu-tgArQZAt=6~O&VyQm$52x$jY@T zD;`VP>!32HIFBM)6+t*fOw>S4YLz;rNfHrs2)iG;fsDqpb+6ekQZwhHtxd(!yJ>9Q zE*QhvXwtwV{|_6X7M48)5WN61_nFK#=W&~7K1`(CeA=A(DDV`<3lr`gg4cb5Z6I!D z9Duw{mOTg(V~%Ib{H3b21HAgC?X-bc}SHeWjYQiAF~)5jx8_ul{w+AVGltu59!Bn z+Ji`U<-`wWbIS}VM(R}5G!LPLgShOXoJsktv1H$h3E z$#mH7RXdgwOYxJI?bY4}!c!=#MU|RzCyxtt<)&~guZEvkjW}$9J~-;3=?bF<3a3X! zjD%=foV)@jyN*Usge6*&3Za3pm;5plBCyoR_Os zl`c1h16K?0eGb9A@X>+7mv6zfqaXo@*ZW`RWaq6t0;6F))nQpkNeKwKW_Bm^ zh$Vy<3G2;V8Y{kc7%lS2A-D?)Yl{>N{O88J0XNH;!-M%#U(B5S{mk%Z`LT1;H!c*; ze+1bSb2PqWpibA@mz6vT7a@!LcNw45%=u69Z;!!S{@WcrlJiI~+`^tgx>ebXy*F!` z1Hc(B((yf>Z@^@h?FAAkE9N}0+EaUMD+8%Eo9?qcA5W{EkHs?GrWeRq8655TV|{&Q zhGH6ZVD6~tscAC?_r0WJrah(GbUZ)$j0uBMW`^%b_B1k3(y{%XA2N5=1bk*?0Y~kz zl9}+ma9cD}35J&>?qIAA70AmTc@>gA-$^PYZp$N)Xw~jyMr`G1RV zUfW?jz=c)z0NMjL1$zpMb}V?TUI;ZE9{U^=p{kG^f-9}2G?NArBq3Q-RT(b3B*fdb zM1#66>!hBvD6+~gz%suCe;29(EqO7FXqMYbWwX*oR7C?M#0YY2O|B&kN-cqraObE7GxLW2dLRv?H>< zYx7q4vt)fo*Tzj-x9?iG?7f9cp}ezD4jhAV`#GH9na40%+BomW^%2q z3WBlntkdZ5A@qhV8V3)HZ(&+(K>83t1dqWS-08XMJz$D^<*Dl8*a@vW@L4Mv+6#&SG)dTYohYtS!L>$yS50|A8bw5P27ET(nKx8uvO7Bi?$_*kR+8`#^}%=vW)Dp3A`s%`iU>p`(h`^A3~XR{SznmSratT# zrcS7G>^GHS@n|UA7pEw|(WZ=(wvDur)v1r@sRXPZqX4FSGHsbMSog?3pIUq*^Y6dae-W&e_jExG|hWfCYY+S&jcm!yPE29zaDjMMn zTrc|m;)qZXN<7HKf>;s=E@SHpkK@YNY#TmT;7ejbC}WI<&k?>P75Fk9kqT0ZWlL~2 z;TkX73}~m2U70LamL_*M*LR9bjbH&_?G%?Q6Z5C!T_AP0itgHT2Bf*?9wH~)?bp@0 zb$4=_0qpTBC?$su@dkB8Z9Gh*@9 z^a@B3Wh`?728u6m9B#o1C*hlc4}$PC#KO?VWDOvf(KU@KnwH5CC(Za4O&fL+>32Im zO(VG^h?|q?gk@!P`&y2e&EN-Zi3Z~X(QvIS>Z@?~m0*m@-wlL&;-P*h=$`I)u&+Nl zXr4Waq9HP`T)psEk6_a}4@5>#TZ)1OMZoMk&zWpbz3{&HoDSG(Ok=&@`aAth!C!CH z{-a(U;5~!%<8Xg(Q0uwe9gAsKx+4*2GBNt8C+rQyBA2@dH5O2P?|rUQ`Rm%_edGDh PqB(|3z2p? literal 0 HcmV?d00001 diff --git a/__pycache__/qwenedit_node.cpython-310.pyc b/__pycache__/qwenedit_node.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..fba6b6fcf43d0d8c0a0677b8f90b2c56a801df6f GIT binary patch literal 3601 zcmbUkYi}FJ@m@S0DT<;VrX^WU=p=T{!m{c|Q$r1kNV2T3uxUk-5twyBoViQ#Z1RrU zyOS;U*cg^ur>#{xjhhCs8k2?HI4BY~L6NqCVgvmL`MRG9)YRis^EpkT&fZa!RQOYu zxS83<%+Ad2&J2y#)*uIM=HY<$NjJy+i*>d(5jro!XJ!E)4)Fyp!m{ zF7~B-E|ya=V4>hIDk+8ccmk=w7>7h8UE`26C!~VNhl3iQYC%3E0}dg6l8gJ-U@tBi z=czAIRC74Px?5XQsqerj=2AT3Kp8$IVhIUIyvEJ(po9bp_)>l(rxfHz$~7((KmiaR zq@hwr{-CVhSclnK5EAL)g{pHn_tABT8WcV$LGCBg^2z;IcdC<@M zffJa~3qlq&2K_c@1%Z|*h*}oJtdQeS=np(-{l_#er63H>jornw6k8oDC3lz_L2k!KR;GPY?M#k3AW%ySdA#)xy% za78g(QFr)YX_mGmlH+Hl(o<*0M<<#3<_Q3TDDYc<@;8FS`WqOiuVtUaOY55}<*x*J zgGc^Ks!QwT?yV2v;FgVu4>qCU#&P1b>nXbj20_n$_I$p$d+XDIp@jE9zPNku?Mw^I zZnWJ%umIz}fMGZf$B+1n0ts4NmAwVACRF?m?+A|QNI9v}lH)2NOK@7|_~YDg_d4MVA`*HasDOlh(@_|QURA1bRbP#(v{`c1@3etbUrmIbQVl>)?&7LJ zOTN%jeau>76>8|n6kAPKu$bV5Ji%z7v8!Uz~@XIq!1ngpdcouZov5R>tR^8*Y z!RT`ctgG}mJz4%WZj!T}M^PurY@7p|f#U@y=mgNttjM@g_qDNvVkx0m$-PZ{SOGNZnTA<-H6&x z4c1@QY z4#Y;{vE}Mged*>l=0=zpj5SjTB#ipQpRfJq{J3ojt& z-J8n`i!1NX*FU^fzq0i2r5pW+R%;Jd?kzTE+yu0Zace{xj4l8A{rVf9vbXs^s=A@d zGxGXk!^n?5t1td>n=mhuZC|$br+2n4Yp!2?e7k<VOk#1N92$W*jdiPk3YOB=A=}CuL@T?C%OMtN`)3OMrGjlXV!jD!>N%#^3k>W9 z5ErSBMfn13ua|6#21_bYi`c@%Wa%`IRRkoJkZP$^Hf#$P<$#gn{%O2y_X1{z{nmVa z@%EFyeYpHdZF%7ro?GCYSwX|f9mH(0+r7oB5C6LS@zwghk5~V4e=rvR7L|#rBcn+D z3~M^%ZmioymU1Ean0Xa!6Eh{7`d}0ihM0&$n4fh;kKDk17Dl~t2%M17EJ ztYcKr4C)`AwXm5u4Vg`yfjrFa=!-{b;QWh6Au)sDRLNm$MlIMdiLg5&gU_*!yjlaB z7FZ9-+M*KkKNtgAm^4CE4U#4tV%oG+3tTJ~u@Vs&>@|(P5f|wXE3p-&(qYO zEf}hG9$1Cr6-5gYJDxy9di_RMd(&c1?0=@UNfYl2(Ay zz|OKF2C?P2wC6tZJ;v`Zsk2~(>nF2h=upnc1e;KHrJ@^&6?vJp!AD!XEzh$v@dU#4 zH4Q>r8f6w zts;Wo2!4fC4zeT&>s}opeJ%e-2t@^jSH%5dL8JZd$J3VpMHG7LI+ycz?2YY9%95Gpu zsBjW5NI_oO2lWvj5(t}3?c7j4!D`yEW=U&*7iPC+8Sn9WAucu$V{9?@pCaZm#x^j0*ONJO2X5cgfuQKpM2F3tDv`d_HA1Zl?jWJzlXY%y%(e%j4p~=bgsiE<4sNN@O zuRC}=F*$y6=xjPUbZWFY_cWWS@{;G`AF%LhvNxb`aGZ@_2yj^7UYGVr>yoUj{})+o BWg`Fp literal 0 HcmV?d00001 diff --git a/__pycache__/saturation_node.cpython-310.pyc b/__pycache__/saturation_node.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..ec0d87a827b8cec1dc0373e0e0659e0e86c7c6dd GIT binary patch literal 1856 zcmZux-ESL35Z}GqJD<?*F*+zj9%8h#<_s@0|fc5yeeZk7ryLKo*)}i_}R=s!JHnA}Ug{fhbuQ z>N1r~*~0Y{l_;MTimND}+5tbPk{6g%Zs{u~%SKblUe#^GH2CJ|NZ?Pvs)_2DB7ntp z(Iix$;s#pBb%_!V20$`^q^Poi>S>w=FqMs0bw6-*-*W7VL(SkYxKVR3w(qY$zVUtk z)}#LV=FZ)3`=4CxKm78^&5i93uROW(AW|{#NFwCAr;0dCWwk>A4f&IwF6(R+?TeI<3Z9U>&WUjM=5~ zvJrT`)6#4>4R3idusE|k^b~CzYp=0Pxw5cS(`pwMN>$z>-V_i)6!7qq|0I8r-OC4` zJ>z2|hOP`oY>!Sa0;)Dd30{D806)r$^7PL2ACAYBfT}t^Y9iK&So$5#-4y6OAEA&uT?4geAldcrXyjVREB)OXcNt{Am z#U~fjJxobY=%jqLn+a1r+)+ZMn+*lv(qK6jf<~k{4w}*-)KUG3?qsOKekLT{Jz=JY zF}jq2)x9C<;RY|h9HgLIq81u<+V-PQ`|sb4vxGKFS}svbnEvLK$2aazCo=aD6?{53 z>ZHHb-T7cMclgYa+#5%7Zyw1N^SQ^}t^U^LGnT_MpUx$qaq~anA z7JN>UdN^}x03A6q4XZ>4WJR8{H8eP8zImOAvaV17Bzc@P)*#(Y?i?e6qe*eXp z$?s#5x2m^ICb_x|kAY~k118x)3mQe^$tfmvjHRYyY`f6?pU%O|$iu zscB5rw3b7ICg-!7b}7)CgPoM7QOAJgjM3CRuVwnH4t4heHp?!SYDA=RxH#?v-67=qF6`bkKUXp2?F*KPht{?f(RCfipdzkJRO(s)~ALU6ryLLW!ir5 z5^Tl2lr&)O_(-z3p>96yz6jdxK~4?EW@lz+XJ_YY zoo{LiA{bL^9m-4up@)oU92^kG;WG{apon4>CD92)3FW2`W81mY+vHD(?B`gKrEp%1GXpw42$x*A0~&(DH?$Ed51Slxc~|xhMCq) z$pDv0nw4{c9+t^lnhC3-E{|D?E>lO$7fdCurPUu%6gyl-HT0K3qX+&x-rt$(&F8Wg zEahu4#~wfe@OeRx zf!`@E@+MlwHgDqz%QuG%^TU;h92xeiKv&9vR(O4K{0@Y+^k|kUW z+E6^_h~92P`gpTY3}~G-Zl@j8kD9z4EMX0btw=m6UhlI3+lQ#H1!BS313Cj4_Ls%M4JE|sO|g0=D_A4a6;Dt#fTlSBUwoJhMnPS+zvn5WOaj6y<%g< z{C^ZJ)3c*+ezJ1qc4wVti#vta+4kQpqQ0$;Y(DtXz54C5`kqU_&bDfAaThM_>MHK+ z*PAP=+vVBe3+CCpRwXOTWw$)fB!B*T72 z*6I@DZC&yAhZ54k6n!h&eei>nk&2%_bS&D{;jvS1cR$m|SVv|l9*56p0dNM{=(Gr_ zgNwvOHZI}M$ruF9YXqz_D9|`KhqNDYMDMPwsbFcRS?GH~ixccp6~oNrbA|3>Of><} zg2s*6&WZ(|794+IrRF-K_TN?eeGYTG_pL zZ~fj(O}f4^yMF(Y6$WXyJmLN@$3&;^SOQ~AuWprAEmqg-cW;8TA5Khql0a4U0wWr5 zhz>0{t7tT>s*cYvp}jalx=@fcs)t~+&a^uL8T=vZX?U3qFq%_kExHG~v8-lw=4>6_ zS){YOIQ~MKyN7tfGRDOsj1x*#yVeySb4J!|`>} z!AjE47+{0Wg1IXy`hMWC#%r_#;G4pj=fYSdY>wb&PQW79j9aQt=fWPjWd-y4nfCI*ILj@a9i=sz(ua>~0`!(F|Hi>0B? z(vErEU@Q^wnD9Z&xA2(#BE(xyh8vU8dIKbP{f%hrXk#L6@!G2fuPu}Eb~~@chWh%Y z-oc)DTsqk^JPc2F+&SPe`v&5}gFUAtW_W$=MRq!3SJg?Z{~?2Al87RNPx4QAL45Kr D$*~Q$ literal 0 HcmV?d00001 diff --git a/__pycache__/text_list_node.cpython-310.pyc b/__pycache__/text_list_node.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..5cb9675428cabca5d7b9990853e1c33d299a69d2 GIT binary patch literal 1719 zcma)6-ESL35Wl@!pD(r(0tKn6sAP#J3nfttMG#d8%QcZvda-OrBBw|v%X@AQoqg_| zPa>5og~Uyw_Mwr&he%!8pn?iiv^-Firlo&J_qF~APgLRw9tg90&fx?ex~H9;`R&Zy z%M8WqkjTMZK>(i!NS8ZZ=AA+k$97gx^)o$x{XYGrfty`V7d+kT9&X>1#E-m$z ze);|3X6Noo=jLYn{`bAhw|hTa_LY0v&EEEEcWu3I_2}!)!z(+#Zgf^3aF-=C5Iy4+ zm?@a<2S5m7L9@hLVi^u$P=`Sb1MsbXDp6M8bDt4`I+SQ`LA1qaUY@!A57X4LF#K`+c@(|IT$ z!5s&Jv4}(@|1Iu{;Xb#A99Z!m@}K7q4_@Q=fI~$r*!3!vqO(9p zOO8>j8+x$i9R+0wc#IXrv+L{kCi?Yov)Nl;d3Jr{niB$zk_=>Tu-jz+;5T{+m@~o! zxq)s7TY@v(kZ&NL-$F=eh#Wo4QO=z#+YeT}7+~EWfA%AJy10~(XvnQQW{t|lTFs~uDp^J~p-}7^R@q_Q#9?>nuo84w zOLL-(9Ae~UMuK{GMw$2ukk?_lM}Xj%f=1B6IVvgA`J?+v^I)l|3CwHh07*otqU+US z#n5#c(e;W=Jd5!$T|eg)t^Q6}*NI&MI9jrbu3ItcXKmuV2m#SpE?t<-ss6JHBsF#6BvKChonX0y=2 s^7IG?Pi6Ai>ExWw(g^ncFKVis^pEUa)@faqjUvGHh