From 87bb5e2b6a4f9c9909feda5c6035a9abdc2b57b7 Mon Sep 17 00:00:00 2001 From: Hammy <58985301+sgoudham@users.noreply.github.com> Date: Sun, 11 Aug 2024 21:33:50 +0100 Subject: [PATCH] feat!: overhaul repository & publish to addons store (#6) --- .github/workflows/release.yml | 41 ++++ .gitignore | 3 + README.md | 98 ++++++---- assets/Floris-Catppuccin.json | 1 - assets/asset.png | Bin 89131 -> 0 bytes assets/bordered/frappe_bordered.webp | Bin 0 -> 50022 bytes assets/bordered/latte_bordered.webp | Bin 0 -> 53666 bytes assets/bordered/macchiato_bordered.webp | Bin 0 -> 50282 bytes assets/bordered/mocha_bordered.webp | Bin 0 -> 48150 bytes assets/bordered/preview_bordered.webp | Bin 0 -> 152832 bytes assets/borderless/frappe_borderless.webp | Bin 0 -> 39794 bytes assets/borderless/latte_borderless.webp | Bin 0 -> 37552 bytes assets/borderless/macchiato_borderless.webp | Bin 0 -> 40288 bytes assets/borderless/mocha_borderless.webp | Bin 0 -> 40248 bytes assets/borderless/preview_borderless.webp | Bin 0 -> 105202 bytes assets/floris.png | Bin 655564 -> 0 bytes catpuccin.themes.1659370514314.flex | Bin 9187 -> 0 bytes justfile | 22 +++ release-please-config.json | 16 ++ src/extension.json | 82 ++++++++ src/stylesheets/ctp_frappe.json | 183 ++++++++++++++++++ src/stylesheets/ctp_frappe_borderless.json | 182 +++++++++++++++++ src/stylesheets/ctp_latte.json | 183 ++++++++++++++++++ src/stylesheets/ctp_latte_borderless.json | 181 +++++++++++++++++ src/stylesheets/ctp_macchiato.json | 183 ++++++++++++++++++ src/stylesheets/ctp_macchiato_borderless.json | 181 +++++++++++++++++ src/stylesheets/ctp_mocha.json | 183 ++++++++++++++++++ src/stylesheets/ctp_mocha_borderless.json | 182 +++++++++++++++++ 28 files changed, 1682 insertions(+), 39 deletions(-) create mode 100644 .github/workflows/release.yml create mode 100644 .gitignore delete mode 100644 assets/Floris-Catppuccin.json delete mode 100644 assets/asset.png create mode 100644 assets/bordered/frappe_bordered.webp create mode 100644 assets/bordered/latte_bordered.webp create mode 100644 assets/bordered/macchiato_bordered.webp create mode 100644 assets/bordered/mocha_bordered.webp create mode 100644 assets/bordered/preview_bordered.webp create mode 100644 assets/borderless/frappe_borderless.webp create mode 100644 assets/borderless/latte_borderless.webp create mode 100644 assets/borderless/macchiato_borderless.webp create mode 100644 assets/borderless/mocha_borderless.webp create mode 100644 assets/borderless/preview_borderless.webp delete mode 100644 assets/floris.png delete mode 100644 catpuccin.themes.1659370514314.flex create mode 100644 justfile create mode 100644 release-please-config.json create mode 100644 src/extension.json create mode 100644 src/stylesheets/ctp_frappe.json create mode 100644 src/stylesheets/ctp_frappe_borderless.json create mode 100644 src/stylesheets/ctp_latte.json create mode 100644 src/stylesheets/ctp_latte_borderless.json create mode 100644 src/stylesheets/ctp_macchiato.json create mode 100644 src/stylesheets/ctp_macchiato_borderless.json create mode 100644 src/stylesheets/ctp_mocha.json create mode 100644 src/stylesheets/ctp_mocha_borderless.json diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml new file mode 100644 index 0000000..2e3d4e0 --- /dev/null +++ b/.github/workflows/release.yml @@ -0,0 +1,41 @@ +name: release-please + +on: + workflow_dispatch: + push: + branches: [main] + +permissions: + contents: write + id-token: write + pull-requests: write + +jobs: + release-please: + runs-on: ubuntu-latest + steps: + - uses: googleapis/release-please-action@v4 + id: release + outputs: + release_created: ${{ steps.release.outputs.release_created }} + tag_name: ${{ steps.release.outputs.tag_name }} + + release: + runs-on: ubuntu-latest + needs: release-please + if: ${{ needs.release-please.outputs.release_created }} + steps: + - uses: actions/checkout@v4 + + - uses: extractions/setup-just@v2 + + - name: Build + run: just build + + - name: Create Zip + run: just zip + + - name: Upload Zip + env: + GH_TOKEN: ${{ github.token }} + run: gh release upload ${{ needs.release-please.outputs.tag_name }} catppuccin*.flex --clobber diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..952c3fa --- /dev/null +++ b/.gitignore @@ -0,0 +1,3 @@ +*.flex +dist +.vscode \ No newline at end of file diff --git a/README.md b/README.md index 8462949..9a0438f 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,3 @@ - -
- +
+ +
- -## USAGE - -1. Download the file ([Releases](https://github.com/catppuccin/floris-board/releases/latest)) -2. Open the app -3. Click on Theme -4. Click on `Manage Installed Themes` -5. Import -6. Click on `Select files` -7. Select the file in the file manager -8. It will display the theme info and click on `Import` -9. Select the flavour you want! - -## ๐ FAQ - -- **_"More about the App"_** - - The github for the app is [here](https://github.com/florisboard/florisboard) - -- **_"Which flavours does it comes with?"_** - - It comes with all 4 currently available flavours (Latte,Macchiato,Mocha and Frappe) with bordered and borderless versions and it also comes with a special Catppuccin 1.0 theme as well! - -- **_"I want to change the Enter key colour"_** - - See Editing Instruction - -## Editing the theme - -Go to `Manage Installed Themes` , Click on `Edit` under Catppuccin and then edit your desired colorscheme. - -To change the enter key colour , set the `Primary Color` key to your desired color and if you want to make it match the background(make it borderless) then change `Key code = [10]` value from `Primary Color` to `Common Surface` +## Previews + +Copyright © 2021-present Catppuccin Org
- diff --git a/assets/Floris-Catppuccin.json b/assets/Floris-Catppuccin.json deleted file mode 100644 index b517c2f..0000000 --- a/assets/Floris-Catppuccin.json +++ /dev/null @@ -1 +0,0 @@ -{"name":"theme-1646631350046","label":"Catppuccin","authors":["@me"],"isNightTheme":true,"attributes":{"window":{"colorPrimary":"#FFB5E8E0","colorPrimaryDark":"#FF96CDFB","colorAccent":"#FFF5C2E7","navigationBarColor":"@keyboard/background","navigationBarLight":"false","semiTransparentColor":"#FFF8BD96","textColor":"#FFF5E0DC"},"keyboard":{"background":"#FF1A1826"},"key":{"background":"#FF1E1E2E","backgroundPressed":"@window/semiTransparentColor","foreground":"@window/textColor","foregroundPressed":"@window/textColor","showBorder":"true"},"media":{"background":"@window/textColor","foreground":"@window/textColor"},"oneHanded":{"background":"#FF1A1826","foreground":"#FFF5E0DC"},"popup":{"background":"#FF302D41","backgroundActive":"#FF575268","foreground":"@window/textColor","showBorder":"true"},"privateMode":{"background":"#FFDDB6F2","foreground":"#FF161320"},"smartbar":{"background":"#FF1A1826","foreground":"@window/textColor","foregroundAlt":"#FFF5E0DC"},"smartbarButton":{"background":"@key/background","foreground":"@key/foreground"},"extractEditLayout":{"background":"#FFD9E0EE","foreground":"#FF161320"},"extractActionButton":{"background":"@smartbarButton/background","foreground":"@smartbarButton/foreground"}}} \ No newline at end of file diff --git a/assets/asset.png b/assets/asset.png deleted file mode 100644 index 05ec767f904a33c12365fd7c2d4c4ddfff48d652..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 89131 zcmb@ubx>VR&^~xcfZ*-~3&B0OI|O%kcXuan2`<6i-Q6X)yL$)_+}-yi@As?Pe|BrX zs=bv|ZVqSW^mO-hKi%^jLgi(}5#jLQKp+sJ#8(kT5D1b31bV*%^A5PuONIOQpDhbv zVR7(j2yCgRM55#Mi;WF2=ET5!&gXYo0Yb%j zObHX;hwPV-(m{NG8jpWO@|Qh{d*WSTVEtjL5XvUy@d69+)eQ?d1@-H3sX&AhHmZ^I zo-ILlF#VWSqW{ICZw*axk+8aGY-0Zl zsu}*@1J(bhMH}*e?BDFjXhsTiN=XzWLTLV{KWt(?|EE6yUxWUPDQ9#Fn0%*3X9q~c zw<6%4xI{YHVV!$NJC>e(=<@nn%x4CIi&T9BKzWZI0Njt@x>I5>C~aVb?g36;=MeMR z{!&yq8dT!@*B+C-&VW1YhXcD@CTq~ZLlW(~gAhp{BH|DPHg+OJO>I`B>iRDzrgjzJ z!f&|gJw3GTU%GYjZP$?;FpgRK7>arX;v|9jFuvs`LaJ_L1YcDGU(Ezhmjn+D0UaRr z2loQ#Uz-3aRNB-3>CV#DD4zC!dnNryeM_5bA&p#A@uPBvNUcj`*| zW}#K~>`j&S+ V+mi8SRAUv6f#u;9!bOhAWKFt5-r FN H{BFHG#BvAL6z$BDU=5l$Zm;aQ$ehDeW%R<~o>c5O988Nb58(k6e zKYRvH+q!p&z@g$N!n6N&iN5{I=&S^r>YKQRp_G{DX?whm6vD+E6ZV(ww%{9FXdk$x zee}_fi%B?y9oR9^IZ^)8l}&q-fr=X6WCs+I!L89qBT6}SGQ X7F1&PNIR4?1Ua zJThP%L ~(XcE@9E`#(la)OB zc<5hy>84lhxak-jTj9=9u|wQQp^O0t7>J31`ovOXrc$;IMgrzO;8QxB^gUk^L@A;< z{}JSFcJkkNU#Gl3TAC2@{1$yTsYyRrqW2MpB*e+E{9{*qJ4zH@0=~45aVBa%ZaPyh z3f^$%d!KC*{6LIcG_!DoPu+ObTqq>C21tOJtVbhcUEo(>O6Ov5ehd8g6`d0g&K`<@ zPiTrfA_1#tYwdU=xBU^-Rxwc?#WY;fBbfj(5kH>A{;nSbQOY0@dxsoRiUyrM%9<7_ zlo{viW>paSxGHs8;K)~PKO)2Qe6lZ7U5)`NNW5mKTz}#O-rE*PO5c!vY#UX2l4$TT z{iLgi$!-XJoE)F_N&exLka 1PF3YzK zN61n{3iYf-MU+~@=3M7veEH4+R6L%;nZOSHF4@3Jm7%D_r?J)g8}@~*@9XekCJ$0* zFc(cH#X@qlAMcf|N+^bQuC1T|1Go|9VW)nr*l3Ug*#4PyfHg(qef@zY@b3a&2g YN+k@hdO z&iZ3foVLIROT!mgC_foc56Z({p~mQXb~>8k=#b+O%@Og9#`}XZtQ=~&J5@BO{UwzC zOsc>5c{!sN1<7pLlF@$d)t>}XA?)j!@(U7L{EoFnT;Yzw)j)V5Klh1!iIDK{0$~ru zpAx~4b8?oDZ%z~8UFXMR(e4sZW`}0H#TPZ;({luBl>a}7ILE4>u0E)Fa_)3ASNb`` zc+vSt(Duf(aP|qc@P7rSd}+chHuxz-6gpc(hAR`vdtOuqzZf$)*cU3$ |Bw2l z7?FBERMzBFsQP$l-@r~GIJ|=o_1N8;Dkb!JSR?%>XZgUm&HE+IV=@!pxPN#LGP!5a zsKfr}85~ gkbmjg9uOn=lq}ni QND4^UQ 4?`gPE6XQ2!XR_pATAZt-E|$g=_Fd zAI?}JX5$J!BYhyQzx-FDCY|yD#-YG^1Jja;4D8>y^g8KD{+Z_XdYa|QFH~E}e_C2P zC55OPY;+Z#Rjgs=Hnc5xP5ws3iGA7v O1o;yZsAci^juR zm7q-E(S3 ko>M+rcg^fM z5ZlaGFiaPj2|l@Xiy AmDFN8?*PA} zCOoj 2QccdrlE@;A_*RFGfJm8>$)biYtqcjm5sQ>Qy-9+i$jQ&yO_g z%;stN#|fk9_U3{no31IeYrM~Qs)#7xc=Fa9B-jT$xPX io zuvbRDzr8NIo4+no5e2UZ65Tw5TJTHYBg3xlS5+Vr@(FE@TVs#V3=+sC6|~_Yw;*aN zLeLr7b~w{yaBr=;()i*Pry3lw*W&QRSG47F!8(O`#AG9xL$BtshhLOCdgNKJmikD1 zd$m!%=zI1dA%-$)dW+ZjdS&Wqu8I%!z?(6!+9Y>-?xfQDuo+v_)f(yc5KA%pxLfzE zDxmP4Pxf-iLlSjdm4gb--{HDcv)SCw7q=IwcdKY{@2wQr7b*vRWK~+rc!a!As?&Zd zN47t0x~}Irbt2&|0@igFk7yj`3NxjP%@2)KaCVF$Q(25(ffpWjT~G4Aa6MeEXMXj# z`)e@Pc71y|*XBJm9rw7ZBdRExD&%CmODM{jAQ~i8GYz!%YSNF>?BwQi?X4UlFow&l zzJmjvtG7|NWRZDS&D7|=&lD%I@cyawBN6x0?yAb#j(sC4Wyx=3?}!S@C6qLq*PDn} z?ro2Ht)5j`qy9!x4exx0pRNz5aGItVEPvL}Am9Q&2`Gq?vVgqU_jDS`(_?o%hCtKa zs(gkXyy#T%NX7X62b=e>$FNJQO_nT9=saRo)EVBg{rM>_S1 QO4hD%=<=jeQ!%k> e)0{$7P&!iE?27k#pFKKkyQh$A4anY+ZXq+WpC_A%-#` z??oq-;UWTBX4d|;+d>(TUEh84+mFn6`I||ZSdNNOkKov&!SFa@1%zIZ !prEq^c@#pe(v4yV$F!lI9*^t&HA94|_wpy;xAv=mrIFIYS@t9OH zlDrih6Xx~a{5xK`@?&VL@pLe#?Eau5ay=8KRp)qpgWUG97!Bj=aa4kynW%HIB@fto zr|g^D54~=ib3qZt;P^H*#eRe_V6VEUn?*&|w{F=tl(v2AY#I~RR$8e{Rby?zqH fc;FW<$L>4NQ)2*Mka zi%PkMZEtUWx82QKJ*$Xis&U+Uanu(Ay9nIU5^i+N$EwQ-C;uZFTNXi EdBXK@b94Yt^{?$0Bx3HH)# zqK(|3zFq&mdm0R#v0fs&0(CuyE<>oaA+y+4j(L$fl(}OgBW@Q8*FRQp?05T5uiN4u z)~ekY6w;I!8kb9D3<7i^x2{KaTOR5PD=sG=kV~wChvVxufAVW*9Jd2&e0Q;nS7RB^ zxxZdcjD~u#NBWj)D&3pdRFwVBS;vwk$$QCqHtTxT;0@`^p|ePvndZk1Uh$atsFc_G zQ@_Yc keitI40%itKj2*Vk~N*3+e}_yx;^b z*4S%rC1z9zXs@)HJzDa3_b^u|$#bL=2yFR~n*aQ>8odGDok9y^@0ttuPj=kEQ#crW z23&u=^*;_cs5sC&oGWu{k4GZ%7~I$p+ozD*?kDPTd$l48N7WV5s%|zC&iO3o3sQ6! z>NkTiUX~>a 14Gr<-%oQG~foP-KerXF@?ugEktp$04&eNFHhYPi?bA(FPHh536^y9ha z?q9Y{MlTVIHDH0jSl@U+JRR)x5pf%|O9yQkI#UeKua=vxD0kBva1SDJ{W6J|#o71q zo!!kgq=4U)*JQ#z3Q9ywc(q@85ICk=&$@m2iKp#hucW2X>5sgCSM9!yLaUI$O5}Kg zu xx9p^^_iGL3;8Pu3xhBqEd35Yfl>d^4lC2%?`UJm&-)3TmUv~L%5FLW F(!h=`sP|Evj*dR-3yMRLJR! y!5(Zrr0#o(4e$|2?I3-65d!3H;Th5i*x$KQU>8X+JU%sdv3x6LSk2)$B;d+cLV6mmhx}ZT~?IG zEQs;72$)41_hc`5 4hzPbPC%ynYP>+Ds#lHbUB(Ey{EhAo)AZ& zxhcEf9I}};H*fPL*2OuNdoPZ5G3~8Qc^rUmax=iDZXw65u?@N3fvA ~5o9txJVF%&yr V zu#Px4u3+7u=^>RCxN>_j#GvQS(p$!H16#bK@*1`69k<5z=Whm9LgeBCVvyi)-RgI} z1kYb9h{1TtajdGLBw9rDbBdT55R9MC{)Fk)IB(SE>3R!Z(X(o{!cr8BUwO1xnuDO2 z1>ZM1?6W_VjQw29Si%e# zg@yc_M YK+*aT8Pl6 ze(=Plm8;9t(;Y+rEiyQwBzm z3!eVn;OG{C$5MEtdT;3*5!5YSg6ISWkCydVnAldOT~|$<%9|a9<{RT?Ot<|Q7w(;y z;UTp>>(<6MhP(QJbA76|DOWpQ(5$wsaZVjan^o;Xy|OAKr8=1lQVEGIll|&{1P#W> zI^*>#3(36bB%|u7L5Y~ mIlE*Zgb(dMC%4T-uXg|F zD^?%$&hGytS#UWy*{LF)85%@<_eP~Rf_KT|_U7D%t~?pc+0Z!Q@FwD^o)^@i>&RBA z x|`6<9gGxQ}*oAQ68&sHYo;E1P7x1x7{rsj^P&p zSu$Ba%|qI6 q>>FssMaVfdK&{ay)HRFF0z7K1dN9`I~x*|61l zlCO(1iL0=*;K6bR=_nfXpCn*+1P2&4FKCqphUclDS>wR~TjJ{=7^|a~oL9y-SLBDx zt)iDBX4bv;ADL8ROSK&~=P)h}00rF**&$rGYX#9ciFKP~v~S&D! 7oe6PxX)g;x +e?v+gWn|ZQE3tD^l0HzkZ`lG z)fH_QquPUkhmqcc%;`xt*bg;m7_^#+yKIMKwTD8^>(Oiata+NP?k!iNLu<$!_d=Vj zUzOf_uVQ|OCTLW+`@zmCC0Sa@(wTnuMKrrkH;x39xtPx8dM(cE_o Ysug83qg= z du-Q#kQ0*l-pg;}^us4iq@7rRZOJhlzxu&6%8 zeEQ-9s_()epAsa3?_-oVsyd>Z?y)?%$<@_4DzMv$S H)s=xs-pzW|g@#7uTliK_SnJ$y==TOg%@h5*+LC8Bi*%VC502AA>T+t4;)H}V zv(JieaZ@P 3ND?2BJhMV3|LRDkYpj*N5Kz6<2L~FzMK+jAPv(YcE%`3Y+0{;5_ zz7yh3W!A$3qx)rUXPbbMV)0Y3Yv49l50WHhx4|>&^Z$iH?e`Tr>`>f`!S0uq+%@f; ztaOCgND)3-F4njtJUR)h%adEh=gG*N26i+eTCIHAomW99r{$2I#jc&hrlakuBIRnm zoYpsIbrjtfYCQfH-kP;?qI@4JThe-+9A(86zLbph)>jy^Cu`-z^-h$vi@poZjOr1? zi`NR)+#`DTShHUu3m{Hb%TJHa{E(X0n}ZT*gR+>fof;n+0P8Pa6rFkH9>s|8<>D$& z&wO=!y3S-)cUjN^y4ZSrc6#g95k(+)eVA7Dfj^xVffqqMZsD8gufVel3X3jke$veG z&Jx-HIYuUI&L02ZwHJDJO1_InvNsxmk?Wmcn0mlFh*lv`3iH>03Mw-zGd+PZ8thXN z|Natlc4}rMxvu-<(hDuZa-sF^d%IB-z}{wUBAc|!O&Ua=4_03HgqG_|Zp-lv8XCvI zL@gFzZz325KGB0Tx!qY`=BmB_%C9T%UMru3G7G*r^yFEC`)C&mk=H99oB+X^;HPYt z$U*tpO24l*ZbQk5+KkR~F;@G*LjHYaU{wfxCUaV%x9GA*c|9;XxWC*Y*D1$hlknb; zH7GNiLQ)-P?&f!gI=?wbIWW8Qhj%R1$QI~Gla#f0IylW%#f`bn+nx*&@fB7(x<}G+ zL(@$jJ0EzE-!*bJ-`ib`BhvRgQVyTIe|TGMk@dI>P@aqEL*;w*Q9JH)8H94{jTxN< zM1P0MDptzxT6L_G-b;{O(`*5XVihCF&eame*(dp4R8q2F=?S=Q&h1rwUSJYOqq_-j z2Fxdp&zitX1nqX;V)>cQ{suHFKs%e_(8lhE`sBy7CW% HWhqysLg{B{2nQ?hZ&zR!O-D#Rx#id1gWPV^#Dz_d3OGC}o7CA? z{Cb@tN&9Dom>5%h2bEe19Q6W)^9n(xA2J`_(e6*TID{BCDiv}&{J=W8>9k|A(*9G> zQrbV?0$1doVYDlNtZk@0ED~ZV@b@17sSwW^+ho=A&JnD?+MkhWz_%P8|LdhkS!Uzj z@1+-<;&ElO+#vlhmnHWzmMsx)BA=%5nwR6_1!1yT_xLY*Z8l^dufR-RaAF@t53!TV zOBjvF) W>J xF z-_9dpr?fVr{z?9Ch|1;52CBFAo&dkeXcnO4v?|^Llig+Pcum3IcxiJJz8@#r+Mx7G zSf-3y` jL^zAqGs(&xq9cHdSJYyuo16We4d)xp;2tZbE!1 zdXJVrT^9`@H81-vo6;A-1~w>Xl--^c=d)RDv4A388bB#^*va^{J(@M55wE>)CqQ;S z*2}2p0E4EjI9nac**585!`DiIhGLu(25sI- S;}Zr;Js9BHM>q|Y~sM(NAzGdXQfp~UP3DTr~8@u$A80oaf?8E z;_8()oLrWotfBOH4Om&JzcvV`Rp||zlAmw(a(NXYuu`vdD*6Z|t{7VdYL=jNVqwbq z<*hFKt9#`vi**5qYT&LvzX*4;;#T4idr(Chzw=G|9pv`qr5AO=_Q&al*JO2tRB}nt zjQsj6e3r|0H>S~RFIs1oS`(sDoF29|rXzIIKmoy%vAQ>7=VcI660#$cIvo!nS$(^; zmUo_sg4})*9U vmbc<1tMhNolRww zIDNoRmb>J17p633j!iaqoqAIyicHdcf5iZ#>lyh3UgO=>Z>670li%#OHhD9e_V&jb z-GXrGsNv5a#r^KCVY7a1!A7GZ!i_+>(jyHRzd0Ow5&(&gE|<)xw3=P1yC|D82wk?D zoXUe=33ly1(*$ZpDb>o!+(X;&i4tzyt^%65jqg8!=+}Ih@$lp`VeNc3nEAstMLK461HcM^EHT;6VxUz;#LAOA2SClyB;+n-AgmZn@a2>q zBt%fBqY)goeW@Pek&a~w4d!R@b!iXM*pqfIf}fsI-AqToVT) W?SJ;{=z-cPhc zfsB4O>VWNJy*gu -)|?HO65H$tmmH$Yn-dW%^% zL~~e&cxXefb83t?W?Imm*8zXVg|ytqG#k5A6FrYM^*Z?lyB!jPxCkl%pzJ4{$I7SG zxlX@bChgNlzSHHi?grR`bV0go%mtn`W+Wemc6oF%fe*?X?X3vh48H>s3fyabEF`XM zrP3i{jG@+S`kO6W_khm^zJ(l-XDe)F0mAhcU7(m=73~)dazeU#vT6gVt?^YS()@Zk zDcp|l(jxTS4v!*Cy!k9LoV8<>#Mv8xShwcKu4+TLQgi(dl@dY|w9Tsd2 s13 z)q&uc$i?(53t-cge-CVG1TDu(DS#vF{!c|$HHWHV@oMEpN1vW)U`%aMiQu*K-d_%R z*v0PI3TDKx?#U&C9{ZP8^OUy=GIkS28v%L(cGa+N+A*^`9)Bx#o)Mp`^sxH}Gs?Ez z9z<~n!x)a_>I3uZ^G|?}z&i2m9?&Kk B zEnbe-p`Myf$M^u6xrA@TKwtO!@N*$SRwes^dlsehq$A< )IZhYe zDmbgDnMFy3krDpX>7PmQfVRLZhRF}*E^p4u;1AcL>Ku`q+lC6HqV|I~zh(J*56%gR zHe=#mW8W?Ppp%IZy$ HybNE|C&zG_9&OFwGF&|z(uz= zkt2Q=d{+Kh_LJ2z5V|@S(}s(8rhkN<-xm8 AB$wSFmEJlP#^rdxMb)G0u(Wc(%s@QO zwq`}ECuGRU2$>}u!6G4pz#veF$f9jpW>DezGz79A1N@;e>yW5YgO6!--M>h7JbUkR zesA-CX?6G7)uk9ZXA5^MZQKsmgKrhYt@2^j5KPzVctB2u&_t8@>QdFPxR-!X6{bnA zpUDX8{yO{9;c-U#O$JVHp;MB#_i9(hL(&IlsG#c(^wByks_ZYqSTk%Tr426KY{UPL z<6pBtmz>8Q_!{(?YQVSxy~=)Z`MPYmp6$v8FwehNdJkL6W5&~~!SwCA{!ek;np@E* zJsxM8sBYZ1G|%mO4$i%9r)Ov3o7ek(H*N{A(iSf?Y@0uAT3$P;$N_aFNs}wJA0#S= zd79-e?hmMRZ~gSVg$!Et8OzJB4n;3OCQZwIt;dErF2efyDa`wF2l8+XRRD=LLnp?B zw2^dsyA@GP8Wq*HU4;16$fqUq^-j}`pMaNIPz$_#^xFHh&&+|?!|VTJ?k%ITjM}!r zn-CC?PHCi51Vli(q*IXYlJ1Za3F+?c?rxCo?viehZkWyU%=^un`R4DeH7@uecU;$w z>#XBA&TWMH@1;I-wwNZ>@;K|~e+?;CZ?qkbUOaZWNlmMc|C0R>82JEpdym7S++ z0hnTSHJZLr>dcfMs2ZL-C(pNOvzc0YTy7U#n9QvXx7Q~%x}AM$G5GL-@+d!(KgDe& zH!Fp1%d5)s8ZP}#)#L^kaizSxfQ(Eipeb`Xd7M0Tu3F4}usB}lxkokKNqZcr0%eY= zFxltp VCTeo+NM>pQ+F2jDKSVRzSi;~5qQxzZAdXXmg2 z`6Wd~r3F0JySrD*_dASQ73)pEf2DndSZT8Bd#_oTCEJnz7lHgrAIk&{73s))W#z3g zGE$@OMYK>$Y%8B;Bu#+3x#iNl@>0)Jul(?J `d-VSk0I>8zbR7*HO<#ZiRe+v_ z#qv02p5qZuIVdpVpDTQ(6U~OiWLbB@*6ZCJESz2wyB*$M^QM(}*f(i{D)47F>$cFN zg=lu>;lW{GfE#nK`c9)39gj8Z&A)!v{ 0k3>wd1A63Frd& zCE(31qsC@V&R)@r4cF~5!$oQxOW7oEP7MoP8=Y>Gf zfQ|`#M5<1cqx%S@b?PvQoq)r9KH<+L6vV6kKkN kn&-hVUp5F=|{m zalKNC3LYO8Px=B<;hz+ULu$jsJ~xp4ZiMoj5zw@R{zEIx-0GCuONerb&Uz2cMlE*G zL&|SA4jt@x5XTT8u1S&?u|?yL_8+Mg79&5E DKLKrFSj8$%2oJjB4i{S5eG Q0#1G8b2vdpRR~0y1}bs%7ev~cvliS>u-9NE;ZY(rG@I^{ZzuaNT}15MNA3R? zrIZn_G`fz#PsqEi-ruxPcW>=$Cj9%Eie(Ig#WA3fnYTZpLHSXOcR=19_W;e-GmeQP zIQ3-Ahr(6bQCFG|yl70E4h@wk2Qw8*3^(paZA1~MHRYZ0X(tlzv6Mm-;r-{4t-dBp z9d*Ot-vODZP<}wfG}o)!(LV>>2~=4f63puza4#At!VPiQ*HC_)4Gf8|@a7osqsHL; zvf%J)@P)l}ZJ2^GW#>U}=sz645Z*HwA_XhtqM=7n1mfM(M| zNu1(uUQ|qS2OIlG^B&l=(aCbNI5^?7Jr@K~EE8^geW1+Ac=P@b6xTmvC@8-SSiCLs zkLc*H!Tq4SYxVf_#b}kM4abw-S!+&xxp09!x2yQ+@lhWc$`6sy_fZO{Qt)DT&rM{E zSSQDK&~)%# e6G#_&)>tULJ4O2P%wI%kl)T~baw4KB$1l2Mdm@C>7=nJjdA~#` zb&aWdM#j(R=@lVs#QF&T8fqU1v-Y&_f&AtVQ!#abmMV(Y7*bqTDL#;V)scP|&s2$Y zH?aMX F2U1^gDWqfU=6l)iCD`n*|*01U7aqXFCl?<9&0@|B^_h^&Wz*if*-h z?Od?=;gs?h(*;nX1-bb8U3jm-q=i$CgVAAq!o_)dGQWgmx#=LtQA%cx9_UiUul`H7 zfWz-(BBT%pe?VvR59@OXOyl<+JrM9h6vuF1;aX0a-wu;t>G|@{g$M7IJehdr?j?z^ z)QJ`9P$r?Ty90t8I)a=|V-b{YKA*vhEbH&8uecK@sf4y){B9@HAvO47^+D+A6jN5b zM||upPIkb!Eh*~J6^#`x15zm?TXud{`IL~?!DRdj&=*s1$9OCmoNy7(Pv~WNa8MGF zyO&dl3=$*}7x$mRDPK@fk$mlMw?ff#e1kpKR10Dg{t9^wK=mkYoV;j@Fu-~%yl>xi z7e>7J^T>&40uwN$8UK1glS3iA@q5B+EmWC?La6Wezqes9&>|{HkhEkO8y6xeTn`F; z`A?XxjKW#AFUk2my#_SxD%gINX8xJ5o^)6izT}G>9fTD?(-7C(sU{21N~@DW^Wop= zF(0B6;*h_U^@FFmgF!xCG=hSA##%z@4n~!`nE4=}li0&zE2i!wFEXDeGTw_fcmauF z3T;#uT|($&15X5=j@xj$=ST4i1ta*~^BF`b3rNCqu5bP|^Q(_4u=%ifpWM-$fL_i$ zHIbi#D%U7{FG)cDf{cGyK0edQ$bOi#Q-A`Ew0jO&lupS$E;(j&pv{}&ww?irNd cw bX;{ni7wdp<3m$&no;Z4?J !O zGxR00&yW@q=3+)7QiTVd;Br?GJyAeh)JwRr 5Mis}M zn0zGuTv7SIVkyMhu< ankere&fB~T=g$u`xR`*$qIu7 z?Qd)b1b W zq)(G-_a^&RwOo1a1Fk!9Y6eu#EOMo?VTyF@NB|}^xgo@4Bmn;TOBW}u22 %|0GA8|f;qr -`8n-os_ jVyWXrv z9Sscs#bz^MP?*+BMoxjVbhSQ@Py?m#HyCD*;}7!d_s5-8 9e6SgqRdLwO&qWEudK?Rp5G07 zP7+K$ip`QzRqDgz)yXVl4V%9%t4rCfm3D`h=b$9+(GRu^G^*{IT@d{PpTAl`I}##C zq5^l+y@pDs3=}+8a1M&=KaBvP4)o*_ikccS(ycjy8BP}gI{Gts`r&lmQe?#N$Ytb6 z*B+>0ohjtyiU+EmXp8YSIhn3{&;BPqc#j-A6Ryb_6vq7zpJrjdEVa?dB){VL0&kd4 za2sy=l*}I^_!IKzNvgL*lJ1B^(F>GzWTHSXmIw*J)K7*_LOblPV4&|z5-=kYc0f0Q zi&{jsH7qcJ)7KzO6nM@SzSa{BW(6Xyq>jIppAtJv^k|i)UhQ97lTRE1QIZ)B?dg$% zX5w2NonD~CN5hn%l38K1bQlMALyDRQM72voo-YbqYTJ
!PRBAeNw4&R2Cqos&~-8gf!N4qzQ^djwP9c~F==8)eL8+M0+`AE zg`f>Or7srb{hmLJ|8a2Eph!)K7HAvvy!s;kc>n6k`i#UV@(Ia2M+=&QJa+}>-~u^n zreT~Rg68~c9Z2@Fd1UVMs4ku6;1dOk_H~&@ih;sPU~u1tS=1|col(iVjmp}XLB3Cj z-*l*+es&TLlZoF}#_y7Z)bvg!u>=*W=iICsDpLP?-4!_;NTHsjflTfR=m?ZOr9}_B z5#D=%d61mYO8%Ci_t4$Xw;W6Rt^S!`gH4?TS_&2n5GY5$JA_zG(EsN@?`->$4F41U zwu}G&uN}csf!5EvPEOfNItl`P;jXv;aLI)Z!ZRHD#(>C+=tDIMzM4NW(0=W8nF8%e z@@sF>dOZCu*q-F`(H>4}COe?iU$4~g^kg@PkJk1 W>iPVP+sKL1zP@HHY3Zb^9jw^80eV59UF*C zn5zr>`5;F@{hw1Y14j4X3kKmY2){*@9cnln7%=jtpQev=m9lQAs>H E_%2=jyFvXWgHAc>l z5dZuCy3~I@%M`9l2!t9YK%y4M&0UIYK`D)dJrd8|S+?s7^i4mzTaC#(->(ma!)^=u z!TsNt5c9wKrxt%?q3)!NlI#suI*r%{Zf@!ltA-+KaGWAx6bim5#t*;b!O~)>{(l@! zE3U(aan-cU>Mb62Qwjf_H7bNktjS;5$#w>KIRDuky|83G{(mBLDSjf;9<3lHIEqm3 zBx@W8;~_V>i` b>vs%vp8JLSMfS=5w2YuZdFIG7Wc+9zsJ?QQ zYngX&*H+V+s>-qV=F_)t)E$T7+qyPR-x@XDUlD-DBU_iZ#O_y~fbKB SBJVhqDFlB9l~<4V;{n3@WoT#Gon3) (bPvDl;+ig@&E>q7!#zO+^AO0{x*a$3feR4o9L@VieHvcVDvCs9_n92dz9m z+ildQuy~B8Wl*s6Ocp7NR|)#UYb{0XV;5+1a?YzrznyGzLOnWGR*KhFieD|2E&}wk ze{0nZ>Q2Y6?=?HNFtU<=Z)t1`#&)tQRhwu@2=mG>RXvA0y1J;cl4FRN)_F7vS~rOF z>!)TgoEH!E$w}%AZDCN*=B`xHOtTm{+7&3W5`O&mhn^}J1NQj}0FR*a9@1j1 zNkC@)$V`=FucL(;`gr0S^*3Jw$zzc@<1|YTvrAiB?Dxj5KxO+Q9i37hf_IU;ylz(J z9{|2+j^%8CO7@@41F*R|wypv)8+rVFk%wP>pol^t2kOI%)(`=}g(2dQw$PTB5hkcR zay@DptzpatdPvF4zD(oYe`1P2Wg=uzveQ$5d46td)o@jbnm4T4V5A?s`t?J$ebMH` z!3?uZay)7Ml4^lglxuWa+ A_4vBugQeN(;b |3!n{v5Qe3FZZWytAF~n} z4F80#j~}u2*Q4b{tZ;jS4q!sOEbyLQ6cRRb{#Af*DMiOMESCb>vEQTK6mq~PPL@up z5CZq-#=)wkQo9{9-sF$QPmxv{Oe!v_=Kz8{WT?A(_~W1w44Uc8Q3rxDOUn!USw5IW zHC8H&W@JciI=}uOb)ANy# Se!>Q}0;H24>>GR*t(q(Kn?4Fx>yJLEtUOHt6*;?*3>62n z;TOMNnPe`PeW_6 9JZ`wQ7POPv-k%p|5UZ`!`(y5AY-6G7o0@qvhh| znL3HTCbT}&NcWc#GA9$iU(AOwQ7IyxJM=pL!vzr52K;4E#`|po_}ie_5@TY_)xq>* zl`2y7Jb?L&%@t*Y0nE)q?81!&iyQaOc=y8H<)+=k_tmX1Mc_nJ+OS%UWz>fjo2>Pu zvee?_-$c%9uO_#dK60be*Bht?yGd<(hs*SKM5DoivP^_*r)^KTE|!EJ)@>;P&M50O ziuL0bCRd%6q_9|M%1euGAP?~66Pm=2to6961!!F6A8&fVF|cj2O6EG9pB*{kv!{q< zro*@OEQutZFqvXDEQd~bZCX8IL%_3{30N}d<9`fSTd!}6$26Vh3mwutZn1Zil)k-p z87luLsS7QF=O1cEzCJP{H=SY8V7qYHSAn^(ck9yd1ik(3rU**7%cl z{^POQB?B@kwBP4nI+v~UjN`GS(4yTx9?CWdT^nM~YPj|TTI+TXJ$26$Hf3kuFDA}r zEB*KNo+kkF#Ej@Y_;Fpu+^MC2vNZ~%p&t@fHuv5KsT6Bf*&v~BZ5wENcHbNp$1_oy z-hDJ>h5okikVO|@E3@rHkoO`{L;rP;IiC9HKgC*>5nBdCOZQCV0QI+g!Ldf#Q&Dm$ll zZu?#5)9eEz(TEL_{*It7PnPMBR4dZxB!fN|_s*d*B_TtC=OXp9g`3|Fkbn`Fd0Kln zFKI;i3R|M~d(szYu}UFQc7E~4W-`|BJ6fm)NVJ8aud1(kdwhF??LL)Ms4bO+KV`Q_ zTqsd)@;Cr-yH{ZR^&c|%gfhSQ#|-t$odWk@Jd*k@Q<*VQ`YkJ4Y+3%1?m{#z(6HUy z&qX`RLUro`nHKPIpYp&noG{91yk-k}wmZJrU1Yt;3$7>^!zxYaSTD@=1yo>RivF_^ zclhc_^*VC_;p9oCM|;MeZ`to8tl@SP8pnlSNW<7gv;HI2|N1KS&T-mK$L+yjLi;?k zZS4IT+Y;|MzTVO9Z$&rc#wkuQ`z<5JxG#<4Pc)oAsjEv$zQy;LYR&x2L7nvbQ(ott zWG>tj@;i7XV00r1cW&4{7IR%jQHfUB|#-us2vIJ~cX7$_fK&;&QWl-G{AAULLsX zljTa6$;0AefO!Ip5SZ2(%Y|Bx^DBUy)S4(SGzcxKBDIE=H;4bwh3QWH^|(Evt{%fa zDP!~cPv`YAHW#)2#g6uB!Ncv5tWnP=OTVf~#jVX7_ ;6=$ z+uYgG;xrBB3cLMEOO8l^S1S%HiKg59p+ua`1d!aUMoS0Mc9=Es2k|1+l7FL96LZlC z_*n)FwrX+%q#dlhp|N2IG1p&kccRZS|6a#j%;8P$1O`sBTPgwhPvq~~le4y&jRo2b z%Vt|W!zASf&Ux>4#521j4vVESmAat&YpTo^_)s+Y^NAjoXTM;Yt9{KzO;+h(u1NPm z9O)7!dI|>Pyu76z()TlMPEHPbfUOy@3#4CQDtnL#+VR9AKU ;hl!f!{O(5ZY1mbuPG+E`7bS{GMJc(g(xTz)Z&$7bcYq1t=KZ?A zB+mrrYXZ?>?#RZ`OhKj7^@woxQiA*8Chd!E%W9&2yuf+`%Q)9}Pz4)%6I0$&W@K&+ zCctE)R >FplaoM(^E@ho%uN1;8CmNz)cYIzM@jRm97iEy?H5@ z%47H8D-~^5ae3V*AZ{s`L?z_?sQ(nHUfLSX5^2b5Wkcv>WLyavEWWU)0UafH90)6> z_5fb= Ey zg3>%;tT~ADMEw={BwNLQDa2;%bZ8T>uRQLf2uhR3fcmb-JEO*2naf;f6-17`pAroW zWOzR?YqvZt-6oEA!bR7aY>(Kgq!g`GTkH(oN`f|s3prpPEYw@%bq|mBpZd<#JM6sD z W&Teqtk0({+xkL$dyfhi8U@*39SWgGe{f+E5U`Be!-$NEm2x6{vtd?ekVT zN{8ysDOv=_zrdJ7^PM(-b|}Wgk7VG9s`0DaqwUmlcF)Z4g8HRsJo2 B3}1^!z!)GStQu1bC@4Q;#0@Xf#X8(2*GQ%5{I_7m1PYVkx0zD zxkQ6`09sWa=KcyH)nqeU5WW@K_1e(! NTF+csBD@r?Wlfi>K-vm{8fe0mka(~X z<8&mS>mPZ8+?Bm_w}seDI6!@eAjn2 A{i@$nX!WL~psb6h7+yjIFv32H8zYfYw zFy ?)ao+|ns*qzadT)l-`+pKf5V(doOaaFWyE%8$QtWydL^$j7UNB2_?1HD7oR z2>tOao&j7EcxZsZzjDN(HD4O?Ts%C&1HVvfx#!rV7Q^0jTiDOsc3Ht?4A?* MCz8ygzyzfcI>U+SnjK3A~TGNr@p&bGW0(TxoUP0bxo z=B_FPS{nLU(FC7bfv~V9BmnvTs*c@WT9OuzLk|*{gXZmc%-4AT_cS$SQWWJdghfL9 zHvxP7s2|aNJ WZI zMZG8mP8tVzG-n#cHi<#{sWP5mCa;6vr1BNG$epA Gy2h2-wx0ldOkMsjIBDYZwMs{`|1bZ zIi5K0ZZ wlhH`h>s_4qOa)3|}%8kLxj035 00y%M3MpRrUPXA|t3>})ZOqEV0QTe&=1kr$TtNe73zJ6I;| z?~@B494&cX40W6BCCnFnJp3EWASG#Gxu4{d=^%l@!IV?otatAzHnliwwK!PfAH?#O zH{JN$$i{{xLOMzKoezRQ9`lsDDx7Y9aUoq 8X>!M{Y5;Ux8WHl2e| 1!l>E#X&q@@mTRT4Wn{ zvklyuLUxacsBgYU%wdt)A86gBz~h7F`1}YJKFJN=xXB+@I*Y^8Aq8<_O3pMxV*Y4| zD1{zO=kHmQ%!HKH8$1?^^LqXLVa2=Fsm0z5(9>))ja{==9)IpLdC27QIZ-LDaX^RU zr&eKgQ1D+4tL*1^Xc`_RCp*GpVE^b~MEJYGczI#XXLqWWW=XW9q1jkt#i&9PBVo8| zNrW!gJF0Ow(fTzBC&1R%J1Ow^VT<4+Qyq^yb7o{DUKko39n 94Q+bk80!^os9Gjc*g6+7;pvP-1xc>&o$`&)zH>tAgl z2a7FP-x$bYkGO3U7ZtQ flATkMv$-jo)*X|9L-eVIPGPAp=-#0;l7h9yzEMZ FB|8lUxW_2{|apyl6K`Z3XB zZVuIXSdWZpfs3yQyiTt97|jPAgDeqZgU@udjMtYD EuOTw$f%d6n%MlXjc?xn*Pj33|Q9GPgvRp5WM1R^Bv$Y;x07 zm0hBL(_(w7CKe(k2ak<)I*H(J^GKtu_a*7ZctVg$Lqm6t7O`UQ8xr}6s!ECDy|v>5 za1>SaU_bp(KfTE^Il4YuwbiwEW+Xkw@m%E+1d>&{+OW#Wh)p&{&f>w!)(4VO(}E@M zzY^H)Blx|HLYaDEBiaq)v?Ydu8dCQ&v t&wR3sd3UQ>hm!23)svR0kf zo^WUG1o?bFid`m;$hR0YU}8Kyzq~pxA@Y)(9BLSx Xmj;nc7~;V4Wc?9(+vbcy*1ihAN5DdYwd;>o7~PMg6O3r$ z?B3*LAMqPq5I*$#wHTNC+P;;iRbyOgjvNhsEF%*mpX(i1%;Km)>{^ 0?+TH{iq+)g4b4h=|aZb;T3>&?XQSL=g0$?3#XK zNh3W;B6Q5> 1*NZYSYKKD(?nywAlTTP zmurr{{c4^5Tr^2-cd%l);E*mOG>F`dM)s!?I*_bagxuxPw_u5M0&|C{Y~El7R&pP2 zUn#&5vC(5bMg4jr?y>c_qN8Oa^Bu7D8q5}qF_nc9_zYiAU$8#0NENwi5L>N1{vh>% zyEt?M4l#?6I=QG2{WEVib6gG h&B=YN-@G$wg;?|?- zAcv(i)E~50*u@>pq}5aTeYuvSKnUpm6PRHb+=WI)?v0n2(a1aXe1oQEf^*3(q8)?4 z!iFS7Z>IO#Ue-9`8-GyEs%Jbl`dcgvEK>9!ee%vx&DN3k!JH&)7(#+R*qxyk>L`cP zuk^E(#yyJ{Bh9Y3!uIh5gAmJchJ*oM5CYjbpY