From 35f1f348a827cb974afbdfc3dda606635e67cb5a Mon Sep 17 00:00:00 2001 From: Thomas Kaul <4159106+dtslvr@users.noreply.github.com> Date: Sat, 23 Jul 2022 12:06:49 +0200 Subject: [PATCH] Feature/add blog post ghostfolio meets internet identity (#1092) * Add blog post: Ghostfolio meets Internet Identity * Update changelog --- CHANGELOG.md | 6 + apps/client/src/app/app-routing.module.ts | 7 + .../hallo-ghostfolio-page.html | 2 +- .../hello-ghostfolio-page.html | 2 +- .../first-months-in-open-source-page.html | 2 +- ...s-internet-identity-page-routing.module.ts | 19 ++ ...-meets-internet-identity-page.component.ts | 9 + ...ostfolio-meets-internet-identity-page.html | 183 ++++++++++++++++++ ...lio-meets-internet-identity-page.module.ts | 17 ++ ...ostfolio-meets-internet-identity-page.scss | 3 + ...ow-do-i-get-my-finances-in-order-page.html | 2 +- apps/client/src/app/pages/blog/blog-page.html | 34 +++- .../ghostfolio-meets-internet-identity.png | Bin 0 -> 35149 bytes apps/client/src/assets/sitemap.xml | 32 +-- 14 files changed, 296 insertions(+), 22 deletions(-) create mode 100644 apps/client/src/app/pages/blog/2022/07/ghostfolio-meets-internet-identity/ghostfolio-meets-internet-identity-page-routing.module.ts create mode 100644 apps/client/src/app/pages/blog/2022/07/ghostfolio-meets-internet-identity/ghostfolio-meets-internet-identity-page.component.ts create mode 100644 apps/client/src/app/pages/blog/2022/07/ghostfolio-meets-internet-identity/ghostfolio-meets-internet-identity-page.html create mode 100644 apps/client/src/app/pages/blog/2022/07/ghostfolio-meets-internet-identity/ghostfolio-meets-internet-identity-page.module.ts create mode 100644 apps/client/src/app/pages/blog/2022/07/ghostfolio-meets-internet-identity/ghostfolio-meets-internet-identity-page.scss create mode 100644 apps/client/src/assets/images/blog/ghostfolio-meets-internet-identity.png diff --git a/CHANGELOG.md b/CHANGELOG.md index 8cd46096..37d2d120 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,12 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## Unreleased + +### Added + +- Added a blog post: _Ghostfolio meets Internet Identity_ + ## 1.171.0 - 22.07.2022 ### Added diff --git a/apps/client/src/app/app-routing.module.ts b/apps/client/src/app/app-routing.module.ts index ceeb44b5..aeade7b5 100644 --- a/apps/client/src/app/app-routing.module.ts +++ b/apps/client/src/app/app-routing.module.ts @@ -78,6 +78,13 @@ const routes: Routes = [ './pages/blog/2022/01/first-months-in-open-source/first-months-in-open-source-page.module' ).then((m) => m.FirstMonthsInOpenSourcePageModule) }, + { + path: 'en/blog/2022/07/ghostfolio-meets-internet-identity', + loadChildren: () => + import( + './pages/blog/2022/07/ghostfolio-meets-internet-identity/ghostfolio-meets-internet-identity-page.module' + ).then((m) => m.GhostfolioMeetsInternetIdentityPageModule) + }, { path: 'en/blog/2022/07/how-do-i-get-my-finances-in-order', loadChildren: () => diff --git a/apps/client/src/app/pages/blog/2021/07/hallo-ghostfolio/hallo-ghostfolio-page.html b/apps/client/src/app/pages/blog/2021/07/hallo-ghostfolio/hallo-ghostfolio-page.html index f2239ccd..ae3aa358 100644 --- a/apps/client/src/app/pages/blog/2021/07/hallo-ghostfolio/hallo-ghostfolio-page.html +++ b/apps/client/src/app/pages/blog/2021/07/hallo-ghostfolio/hallo-ghostfolio-page.html @@ -4,7 +4,7 @@

Hallo Ghostfolio 👋

-
31.07.2021
+
2021-07-31

diff --git a/apps/client/src/app/pages/blog/2021/07/hello-ghostfolio/hello-ghostfolio-page.html b/apps/client/src/app/pages/blog/2021/07/hello-ghostfolio/hello-ghostfolio-page.html index 684a5324..47c2819f 100644 --- a/apps/client/src/app/pages/blog/2021/07/hello-ghostfolio/hello-ghostfolio-page.html +++ b/apps/client/src/app/pages/blog/2021/07/hello-ghostfolio/hello-ghostfolio-page.html @@ -4,7 +4,7 @@

Hello Ghostfolio 👋

-
31.07.2021
+
2021-07-31

diff --git a/apps/client/src/app/pages/blog/2022/01/first-months-in-open-source/first-months-in-open-source-page.html b/apps/client/src/app/pages/blog/2022/01/first-months-in-open-source/first-months-in-open-source-page.html index 36863b9f..7e40176d 100644 --- a/apps/client/src/app/pages/blog/2022/01/first-months-in-open-source/first-months-in-open-source-page.html +++ b/apps/client/src/app/pages/blog/2022/01/first-months-in-open-source/first-months-in-open-source-page.html @@ -7,7 +7,7 @@ 👻 Ghostfolio – First months in Open Source -

05.01.2022
+
2022-01-05

diff --git a/apps/client/src/app/pages/blog/2022/07/ghostfolio-meets-internet-identity/ghostfolio-meets-internet-identity-page-routing.module.ts b/apps/client/src/app/pages/blog/2022/07/ghostfolio-meets-internet-identity/ghostfolio-meets-internet-identity-page-routing.module.ts new file mode 100644 index 00000000..6d2d1d49 --- /dev/null +++ b/apps/client/src/app/pages/blog/2022/07/ghostfolio-meets-internet-identity/ghostfolio-meets-internet-identity-page-routing.module.ts @@ -0,0 +1,19 @@ +import { NgModule } from '@angular/core'; +import { RouterModule, Routes } from '@angular/router'; +import { AuthGuard } from '@ghostfolio/client/core/auth.guard'; + +import { GhostfolioMeetsInternetIdentityPageComponent } from './ghostfolio-meets-internet-identity-page.component'; + +const routes: Routes = [ + { + path: '', + component: GhostfolioMeetsInternetIdentityPageComponent, + canActivate: [AuthGuard] + } +]; + +@NgModule({ + imports: [RouterModule.forChild(routes)], + exports: [RouterModule] +}) +export class GhostfolioMeetsInternetIdentityRoutingModule {} diff --git a/apps/client/src/app/pages/blog/2022/07/ghostfolio-meets-internet-identity/ghostfolio-meets-internet-identity-page.component.ts b/apps/client/src/app/pages/blog/2022/07/ghostfolio-meets-internet-identity/ghostfolio-meets-internet-identity-page.component.ts new file mode 100644 index 00000000..6a83a8f4 --- /dev/null +++ b/apps/client/src/app/pages/blog/2022/07/ghostfolio-meets-internet-identity/ghostfolio-meets-internet-identity-page.component.ts @@ -0,0 +1,9 @@ +import { Component } from '@angular/core'; + +@Component({ + host: { class: 'page' }, + selector: 'gf-ghostfolio-meets-internet-identity-page', + styleUrls: ['./ghostfolio-meets-internet-identity-page.scss'], + templateUrl: './ghostfolio-meets-internet-identity-page.html' +}) +export class GhostfolioMeetsInternetIdentityPageComponent {} diff --git a/apps/client/src/app/pages/blog/2022/07/ghostfolio-meets-internet-identity/ghostfolio-meets-internet-identity-page.html b/apps/client/src/app/pages/blog/2022/07/ghostfolio-meets-internet-identity/ghostfolio-meets-internet-identity-page.html new file mode 100644 index 00000000..c75d2a10 --- /dev/null +++ b/apps/client/src/app/pages/blog/2022/07/ghostfolio-meets-internet-identity/ghostfolio-meets-internet-identity-page.html @@ -0,0 +1,183 @@ +

+
+
+
+
+

Ghostfolio meets Internet Identity

+
2022-07-23
+ Ghostfolio meets Internet Identity Teaser +
+
+

+ Ghostfolio, the web-based personal + finance management software, supports passwordless authentication as + of now thanks to the integration of + Internet Identity. This + blockchain authentication system enables you to sign in securely and + anonymously to Ghostfolio. With this latest update, Ghostfolio is + ready for Web3. +

+
+
+
+
+

Track your portfolio without being tracked

+
+
+
+
+

+ To avoid the security issues that arise with password authentication + on the traditional web, the + Internet Computer + blockchain by dfinity has + introduced a new cryptographic authentication system. It is called + Internet Identity and is as convenient to use as Web2 + OAuth ("Open + Authorization") providers like Google Sign-In or + Facebook Login. +

+
+
+

How to use Internet Identity?

+

+ Internet Identity is based on the + WebAuthn protocol + and uses secure cryptographic authentication. It provides three + options to authenticate yourself: +

+
    +
  • + The built-in biometric authentication methods of your smartphone + or laptop (fingerprint sensor, Face ID, Touch ID) +
  • +
  • The password or pin to unlock your computer or mobile phone
  • +
  • A security key plugged into the USB port of your computer
  • +
+

+ When you authenticate with Internet Identity, the service + only gets a dedicated pseudonym rather than sensitive user data like + the email address or phone number. This preserves your anonymity and + prevents you being tracked on the Internet. +

+
+
+

The key benefits in a nutshell

+
    +
  • + Authenticate yourself securely without the need of an email + address, username, or a password: all you need is your device to + log in. +
  • +
  • + Built-in recovery mechanisms to ensure you are not locked out of + any service that requires the Internet Identity. +
  • +
  • + Log in to various Internet services without being tracked by big + tech companies. +
  • +
+
+
+

+ If you would like to provide feedback or get involved in further + development of Ghostfolio, please get in touch by email via + hi@ghostfol.io or on Twitter + @ghostfolio_. +

+

+ I look forward to hearing from you.
+ Thomas from Ghostfolio +

+
+
+
    +
  • + Anonymity +
  • +
  • + App +
  • +
  • + Auth Provider +
  • +
  • + Authentication +
  • +
  • + Blockchain +
  • +
  • + Cryptography +
  • +
  • + dfinity +
  • +
  • + Face ID +
  • +
  • + Fingerprint +
  • +
  • + Ghostfolio +
  • +
  • + Internet Computer +
  • +
  • + Internet Identity +
  • +
  • + OAuth +
  • +
  • + Open Source +
  • +
  • + OSS +
  • +
  • + Password +
  • +
  • + passwordless +
  • +
  • + Portfolio +
  • +
  • + Security +
  • +
  • + Software +
  • +
  • + Technology +
  • +
  • + Touch ID +
  • +
  • + Wealth Management +
  • +
  • + Web3 +
  • +
  • + WebAuthn +
  • +
+
+
+
+
+
diff --git a/apps/client/src/app/pages/blog/2022/07/ghostfolio-meets-internet-identity/ghostfolio-meets-internet-identity-page.module.ts b/apps/client/src/app/pages/blog/2022/07/ghostfolio-meets-internet-identity/ghostfolio-meets-internet-identity-page.module.ts new file mode 100644 index 00000000..acdeb9f4 --- /dev/null +++ b/apps/client/src/app/pages/blog/2022/07/ghostfolio-meets-internet-identity/ghostfolio-meets-internet-identity-page.module.ts @@ -0,0 +1,17 @@ +import { CommonModule } from '@angular/common'; +import { CUSTOM_ELEMENTS_SCHEMA, NgModule } from '@angular/core'; +import { RouterModule } from '@angular/router'; + +import { GhostfolioMeetsInternetIdentityRoutingModule } from './ghostfolio-meets-internet-identity-page-routing.module'; +import { GhostfolioMeetsInternetIdentityPageComponent } from './ghostfolio-meets-internet-identity-page.component'; + +@NgModule({ + declarations: [GhostfolioMeetsInternetIdentityPageComponent], + imports: [ + CommonModule, + GhostfolioMeetsInternetIdentityRoutingModule, + RouterModule + ], + schemas: [CUSTOM_ELEMENTS_SCHEMA] +}) +export class GhostfolioMeetsInternetIdentityPageModule {} diff --git a/apps/client/src/app/pages/blog/2022/07/ghostfolio-meets-internet-identity/ghostfolio-meets-internet-identity-page.scss b/apps/client/src/app/pages/blog/2022/07/ghostfolio-meets-internet-identity/ghostfolio-meets-internet-identity-page.scss new file mode 100644 index 00000000..5d4e87f3 --- /dev/null +++ b/apps/client/src/app/pages/blog/2022/07/ghostfolio-meets-internet-identity/ghostfolio-meets-internet-identity-page.scss @@ -0,0 +1,3 @@ +:host { + display: block; +} diff --git a/apps/client/src/app/pages/blog/2022/07/how-do-i-get-my-finances-in-order/how-do-i-get-my-finances-in-order-page.html b/apps/client/src/app/pages/blog/2022/07/how-do-i-get-my-finances-in-order/how-do-i-get-my-finances-in-order-page.html index abe47b04..63f47538 100644 --- a/apps/client/src/app/pages/blog/2022/07/how-do-i-get-my-finances-in-order/how-do-i-get-my-finances-in-order-page.html +++ b/apps/client/src/app/pages/blog/2022/07/how-do-i-get-my-finances-in-order/how-do-i-get-my-finances-in-order-page.html @@ -4,7 +4,7 @@

How do I get my finances in order?

-
14.07.2022
+
2022-07-14

diff --git a/apps/client/src/app/pages/blog/blog-page.html b/apps/client/src/app/pages/blog/blog-page.html index 17153fd5..12f16b65 100644 --- a/apps/client/src/app/pages/blog/blog-page.html +++ b/apps/client/src/app/pages/blog/blog-page.html @@ -2,6 +2,32 @@

Blog

+ + + + +
@@ -14,7 +40,7 @@
How do I get my finances in order?
-
14.07.2022
+
2022-07-14
First months in Open Source
-
05.01.2022
+
2022-01-05
Hello Ghostfolio
-
31.07.2021
+
2021-07-31
Hallo Ghostfolio
-
31.07.2021
+
2021-07-31
q%4)BvL*XEr&FlJRI)EqWRJmM48ycbijZwA6GF0+WsI3g zk}zXJ$TG${)|tUz46}S6=X|g0_xt_*`}gCzc*b~m?&p5r_v?PW?)&|Sy=7&7VDIt0 zA|fIOu3x))M?^%lNknAl-oO3;-pTMQeFYqL!0wp;vtzJb1qFPwC-9mBOhja#`1a=x z5p>ou5s{ZG*RNi_8=kdDje$9@;g^In!VSJ>PKH+w4UdgwjEwwQx#vu-uGGU$y~l_C zu>bqx<39ub`I1y+slDUrTp`-iqI~suz(1PgUCvc~I9q(03%`r0pX6ate$BDH$(1c@ ze$C4+va2Iwyi6U#CPn~Oh=@FTCrn{V{rgfR|GD?Ue_tK$mihO1I#2)KY`-{p8ohJ-`1e&U(e2}-m;d_%|MS8B;^2R|@IO5GA13~Gl=-+uyc>9Rb z-M0utiKf?Mtxc-$0Ydot62Kb+wUqs!klPN?)c7*554a>2beH<#i|k=r8=JdfAs@DU z0S0*zxSo0bdN}Wm{aUDDT_HYJzJHV5#bEV)eZgK zXy3-+im_Jp^J@F8&QJ%Ah=`1BT?6V({1IAR9jS9z+qbP!hPl`3j9#{^DtV4j4j4^S z2Q0csj~e{FM58gUMbhO8C9;O>-W-@CeBb`D)b@{Gv>F&nNzmoBah;s{C*u39H1!5U zAW(qLdI4UA?Z#I@L^5yrf zfxb|?%cHkJ1l~`(!1GV`9dS+#A!-5!no9tT{20SPJT|Li1*RL7vTkL(*DlZ@SXsGI zoL&o@vH!sK8GS>O%ci@yKG5EL`GIn zvH;2PC4GC%^M83ASnJg}-X45xVZ;&=n~y?kr%HWi+<0=yDu~6V&;64K1+KUF(^ngFV!2CLCCldpD14|LzAMPI}59MaBm5 zyObMVH@Dv8Z0!*dxwsBUi7(#EHttux(+~Ji$mZm|YMz1Dd->&nw_a;(ug3+XGX&oC zLcK>0olq^|+><~(4)|&;5cti%H}Q5S3@tR|b0nO9kF6AL$?g^rIi?9j=1H<^ak+s4 z)q^|h+B|(gEx3{91uRh2Wx)MCbNr#>t;h$Bh`{1re!zC5?f@?IRtM8RkkN6;O}XJ0 z1`P!yP~gSwx8*X?$CaSGON{f}$l53S2>Av2RF)Bvc;?Q+#dxsH=$#p89UeLK+pL@!JI8IbK+H^*b(E%m4{2j<*Q)0QMUv*Bt*$> zX*s9jtZ9Noh}ddrZM5OFE!E5gTw@R4TEx6a5M*>nOdwx@$5j`@%tMDkD<{%W)?15(XeB~v#0LA5 zs7aag>h0DjdAmR5LHJX353R}b{-F@NI$N#K-C}dYn4F(5(G(uzp9@cl%E5UhH6`VZ z`DZFTCe7FUFdrSFQHxwt8*o=e#A@oN7-+epLB;0Wu)F$*6OPy17;2Fz@CqHS&ooqi zgkHFAC&<$_F&1+0bL-4Q;1GCdYsWAg>VsrIN1F?6tHvhsIuq21i|IZ3 zAZ5a8`h*3_He`;n*Sh57n%8Y#3CbQq$j$3?4G&nfZ5TJG6{S~&6qss@32UR*^8KCq z;i=PYnF}21vx6c?_3cD`*;sT^ozeb#Z~sKzlMtcGm)oavX6I(De$|Ef7yCM4%L1BX zQU>r2D+?*RH0{!EQdH3dH~9Bg)S5e}vvyXrj)nR=m^}ygnYdONhW}ViX|1u7aA_>x zU}0?WnF9@Fjb#OzatWvePIin}4rw~urPihl(gfj5;3eR$uEBlRB{GCI!E@lfbQ!z1 z2xPNI^4?2IOowKrWDG{{o-E|8e(}Aos^*=_mr!?tr}s?Pca^(DSWIS8>R2N`UF@=D z=2!UmevwDpxbVK-_fxN2Tp2;4Np?;U`>5)IjES80+-qosZ{$h|+DTBfnPg|-NuTnV zl6){VMOpNp)=cm=6(hA%evm=xy3j5^MGo>vql0qRM$l^LSRXA3h0aAC2;=Vj!in3q_-$TY-T4#5n~~@1Hf@)}j@H!{Zq5Ah zJ?Ub0Sey6(2G!8r--7rFyO{EIuq3Xi;)fVKPTt`(=);SgWL=oYGPh)}+@?w$Hm|l$ zyHT^byGh<)tt9rUm-+B|#e5DCx0pKUktXXDJcm-`#LC|}O@nBG1rF(@j5Y~Zld7dx zvCmQI_TkeX@=ES342i!g-!g5lO}-#lWv>i-_Twwx8$)4DWmu)rvP{6>m~Dfft%n=I z7Ia&VpmdST#*SB_*3@Y0mYL)9K<}?^a^Tg)avun`>^@U;8VLBJBApcZ<@l8r$NTRn zKUABRvwNg;2Ht6hg@q`^_i%@co2QqV<@42ab>VI7Qc_Z9JP^`FyE2mZCRC=&;|4^# zCD$hRmIEfXe)y`aB;gv0yj@vtLYPHQ#+7d&me-UdX-jcE3raRT?z4H(3U6+>rTOyu z)#^-nDzQ*RWV_{a@rb09#QuT!xz90+RWf9-?ug7m2cvFl`+-DU!8*FW!>i&#Rz@c1 zk6h$ZN-`!f89o^~4UV#L8A_M=ePs0Y>bXSp^Q2jCC=%td#z=eT3=a;X3;Z?;%s)>X z!Q93@#P_LT>^EYrw@a9@{hq9`^A@6ASKBaBE~tN&4=5cK&OMtr0an4yeOn=BAHmJ& zzG0aRxIp^E3jsRw@hniVT9^Q#8NWc!8 zy$aqT7{d1{cUpX3iyM%A$$MK4&<9?$@}5mBSTBG9>$u;xt;5bqDWdoul@|g`s)EPg zHKtV?bix%Iad`v#MP%LpmFQl$c1Wnl!_kxI1iH70A3)y9%R_`8zIeZzo%30Eg|h8I z3X5!{mG^nk=?7?ID+;bsrOJp|_PlzhW8;Lo{>0fMvE^M|9Z5qoOci3#jiBmu`Q^ox zoeYhHS6qo=W4fIzjhHSaT%NhDK^%XU1j5({yZiDv>Nf;Qi}V7NVKFZiVoT=RFxa~F ztj$ZKLr19}j*95bZ&%(W0K%Zh;;`N(SCzvvd-%zJN%xYAzBDHkLarjp^Rg=D+SycC;#E((nkK&=6oj2#npuMHAx?IVq$rECp}$i@jSgvilN=cn=u_IT2H6_ z)NN~mUg%W6vA(DwwDIY`?$L~f2M_uyrIA6k!OiWpVlF>dn|qhnm(t?%xxqU{Vz!yh zi_T9SukNb@`S7;fuA~HD1v}^LdVVfX*;NfH@4FPd^8K3}Tc8}?+}tT(pz}&mw$avu z2EO@-(<<}>wN-5a=W&~M?Ff~Y#Lkvb2bvB$>J|57B#C2~GTon?6iKSFvhvpio3eKm zy;C=;UFqt*z%szkF+>|Lggy64r7Q0f*}rSM)=RFrxb*5oE20z1yqWRukr>503z+BR zG@`3PolZJSDSL*}K}LCaU2%_u2X`VG)md_}SHVVd&`(eQI@!nMf)~Om5 z@Z#@fJ4VmU*}yT5oFAoiZz|Tm;X+{|dV9A6ztZ0M?!_Yj3C!c3LrAyClb=d71G1ic7W)zoSM3Bb3-90QL1Q+|56jxIM#9#*7|o&?v;a&k zBXi6`LF#9WFk&~<*&#Br5%uKWRmF&iM)6o`Ed#|jpC+YneblK}8ZHI1qiYH;Ex7WaP3ZuTjQr2zIMj802_FoAs$nePLU3up*)6>I7iu0OkT!_XS4;eSY@y{WyC!? zn9Cb=i{2`phUcJF=x~f}5XDC#&Z?r3wc0qNws3Cf-7NDbdB?q*+u|U%{vwL=mjwHi z`Y(PCVm_6OQvTs2T{86Z*WJEBEHSxkc5x%GI0#`gZHd5j@gl5=UdNKVjqIC;b(27< zZ(WzK<{9Sv7<7csm9$D@&22Qq?0ma!j`meZp&Wa9Mx?&^KX(h5(=w%aIKVrDJXHT?OYjvkTA}o22C?%dfnPO zlC<@TJGXrs4V=|iM9gjc#_J(-Po1cZ2Vi(nz(EoBG@w@RuWIV=PgJH~IY!>9T@k$z zM+^vvmlt5`+a@tOIx6Qb=tZ%=-*4Yk2(^LN*X`$ncfU3Pu49bz9a4{~4gcQpgk_MT zsAP}8EAz2UDBbPa*c&Oqn$a!rA|OsD&dx8M8@Y{GK$vE<9X+_Pn@#$a4cd}mKaM2D zi83{W7OcCefoHbA_7L2FfbtsrY8@HJ^_kxJ3Nan!b$1kHyV%_8Cr_DG8SY7bxj+}W zXtvEr58)64@fs3j&VIZ05iFnIICKj8SK0DLiFOsc-e0<~8Z@FDE*>*w@Wopaz~#!y zxk65-X0X`(csx>Pmh4+C#Q6=q&<9qduTypvrw|7; zKe+Fj3GY^J75;!OzE+x0z|xEouYIo9X<`SPu5*DqI>5S?N-(CUu`)XD9Ft_xnOk$*)|qO9 zchVJoq_HiTU)%|D8kSaYAQ9aYn6l>4?Op!zy1&HQb|LD^!`ADdd1=RyIE^FZr@B>@ zW&V0`&=p)_K=^?Mk_hOjBZIo`f_hmB!z7Gdf0mb%eQ?miTM5vuMGEwF@=T$`f% zdub%({Wj7s0&6vdoka!cyRpFIp`GQ{OAmH9?8@4t!?ri7n|VD77beq~GgVt7T=u8O zaKTLp_UHk6tL{2|JskQ+s%Ox$!ir~8{9hYnuiI57F^o&g1$qdzA*5<%x5dKnV$D}o?+IzlXxabW= zmrtuM6wXUMps{CKZ{h)=5DZ{(F~qBfwyL1_;iM1p8@iFhC|FV-|IHH-0AtL@rM)^ zms=MwnEgCW&amkODKZXmnYNok+v zS`n)$;?c0Z0)OUekVCK114{Zub@#7L4&v36%(wi7J%hxIw^4$PQkvC|#=w92S!W;c zqyOn|1$7ao+6FT~?S#c5wwmzz`ZTCv`j!01N{l=izXFnU74){kJXH;aEX)HVT&P*V z`0K2xz;u?uZGK=Qmn4BmKss0t^c$BBU~z=PW%7(gg<-+Hu1YEP*Uqn}0D2)9Zn4sEk_hC6fD#5-Lh%;|Y zm%sdosYT= zyI37_==Ep#c}3k{gmCzzQ>UX2>USN?eYo7R%*n)OaN}~XQbm7- z%MqtkS*OjJA=4QE4TNq|Z9fKK=ooY_jiqa&CBzE%fsJ zZfzZpbzcz@JXSUq+d(Hgv#x6& z*i-d@lAXh^bkMs_3FAg3O1$ma_C9n9(6%_>1u(tv!JyVOc{}9vo~mK>*Q)s1aq6^7 zN^5Lae9mR?`B7P@AM?|Be*y1Jqn&&)Bn-yLb4X!ZsbeDV1YfXNKOfcFgk%}hB_h|; zF_H`oVg>v{=T0wM<4U*&*o1of1}>T{LODZ1aT9&r?*`;e{Osvs2ynK zRpud}8nmAy??(OBeEk>y!f{_hM#uauS+!420ctH)DPn%Ou_6Nhz|(5f_5S9xORxL} za%j;@N$4$@l7C<+xNTdVo)Fjni{NHr68XIWD0JDnKxm2s)H&JO;k%cMo(Yz0q@Oe$ zGngh^t!opax90pZSL)ws>3;r>n~14yZzxk1Sb8joL;9Tg5zC~M=hDh6FATGb=$SL> z8vcB)YcU zWlkxNUd@`)VJmeNyBg@PPfh){w)V@(=&4+Jb=B#L@3lDE)jz%*`k1C zLZBlmMn9`m^}3Tu+5=hPg)YU{+sfP1zK33q5l&@NP}g&mKK2j{@NJfd507AJD>b;xEPiG5&INP5R~ zv775C^nyhzjdIP>Lq9)wSsJK5`X%#;f$@mXZ9v9>V~vd!*GZo@X9_=;qt0~qt;?3P z4(WZ9Z%x#gjgw~DrC*bor?p){d^&}Y6ERcT#>YQuU9!DC6r{_$ZF>!)rSoCy4rAHb zgF7B747ti4^Dkp8-sBWK$?cW}Bb|Dq`<$k0f+HfA;|wYIHR}0f`D~uB@I}>Y&^-nRY@jzDZsAT{X)VZT+i#~q$+AyJINzs#`<(B~YyMiLX zpFvi#TwhBS>VOY~y_ao{&;q;G&wmPmC>=ZQ@g`d=N-oYUV}?!!(9ee$>9dj`c~dZc z5{rE6W>OBnU_mrQxvox@#zm(`Z7G6Ll`Cbu@o2R9SxhQ`yaL zlij=7r*ISPUU9kub^gfw_0|*aaLk>cfw?Gahde{n*&@J&+uF-hD`k4T=BdP+2Z+Ti zd*66Ou(7uO`szEhSK%)s!&*AFSi7^Zj~EiLpcIEYaU*7Nm;94(BSEVaq|_OENy%gK z`iAI|UdF-s_ z(%C*?@(G=X-admIBL7vZTXR}!(IWdy6lQ{3xdneld#~{{-Nk=|+ z~r+#x=wxUtbOc7nT%OZ`SSWeBqOTpnn6P!~kX|XFf=?f2 z`3h#azguQ(`25$eA}OW3tvS54!yUK)8CYS6TF>mbgxze9jwE5I)+E0ijP2G0_DyF| zeboA``T6*tgt7AS@>;)vE({1{I8D~2$*iWQxkj8PtDycZ~jEz*=t#wq+SPBhTF<{MSXJ?PCzS7pwG2u=nN42Rt)s@1&)NPK* zKebq0tfB0tDTl8ZvYKFHHM`o5N=O(le-j_q5YG;B zLcx~BjT;A-+(o_|J_Lvq)`jdEhl9t-)=wR}HX`2QL-Vitm~Y+h6DC5upc`MGNq+xa zc}piWL^%GYXG)8m)ilS6Hkg*;SPD3$kHtw(wH0d%-*n~xVrX234Jf9mYpFDVq0lVT z;k|=#Af(3?>nMxUIWOB{6rZk>rD@KCjZ68zS^bg+Y46xmz2z#r$zhKavMBn7#w|O4 z8~%J7z^JOPw`e9!|9(ZZs(=vmxhs{rRd3bniU1i&=)OnK8V;1blwOy-AK2K4LTXzEOm)v&0 zp-07{Ffprp2%p_rUtP}UDq)bpPB%7Ww_MFOjG{1*>Ic`OqXl2M7mbU(1*^T_n3(55 z#E&1n$0`n?Gcz&3f-L>XB5W}qE7(49e*#0Sv@2~9=H3^H8zH;%OrM&umv(Vvr3pC% z&{mG>25fnvHBbM`+wCR}YrYIU|5<|lw2uBu1EZ^5xOH0g2P{P*Umq>193Iyjl{jX2 z{Y=E@hyzHW{-S~s^!wzABHm(7JBW1SpoV;DIv5D;WVj$pf}ueXSo$U)Dx*1*i!^@V zD5k4HIBaR^l3nccwS@@P+c;ZWMwOS+hAc<4zs?$8q+_}8XlFcr^A^-$&_${wk_Yt| z$k8&2Bq^l;J^5+8T|HwY-5YB0`fm+Za@I9!w*vt$n4{T&0zIcEYVJgmC?hO6_EHxH z4Blf0)xZonk&5~VApwj|&Ev2x|KTd;64PN*HY7B(%&A`OHGOb!P&A$%B^NQ9YniFT zfY}SZO;7?}R34&1BC0K3RyeP;(GMR9GPe(BH7=A7Ku~z09h@=LH#$lH*QuR9KNm+& zFk1NmWDjRNMt}Ze-RDZTCBORC1&N1>PF7>6pU-^lT_IldnzW- z{yR{u*-vg`X{>e^WZv*>!(U*d<*T%_{H(03C4*-W7h-hOm6mgj9{av@Z#RMoCC|Ay zbC?$KJk+kS;%Bqz6-P5aEwRyw5XdRL;Ml7arB=)B{^s&Z`5a0Z(oq$+n>?Kyshf^5 zREyl)s7zN9t=XT|k;JVTPNQ-i5%(WH2@V7S| z=1v+SINj8dLt9(gra)tnkY2>(IxG+PtYO6z8x73do^nqnr8VKoKO?BBp$R!o*r`RJ zu|=A0jxYkcTMvDJPM6mcZEXiqBn&~0Yd5C1yAhBPj8}7^`kF(dxI!G^q;_)D?=@3) zWxbr677;)?CQ&G8YHAV`Y<%f%0t+n%3knM2q|^`UUInfGypocV5*r;60k`2u0o30? zw8E%#ekX&4+%jheK8mF2?p0oYDrWM#{yC4&p~-I?Uyr4ab9Yyqk&IiT?T>Eg-cA)h zq&+vQ%cSj3mPWcnXm(np{gBR2(rm^7yjL1`&n4*lQ^-wnxbF%|=DQr*0pDt*pW^Wk(7oPb zT3||4tf*noZ$h_ck4p(LKwUaVgZfd1y(nJ6P$3L^@( zd(TyEO&4Kqa~O&bQoRV5>-iG8fe25c)#opj6xO2N7$d{_u6WsikhVZ_JkUy5Q>Paf zt5gLhAR3yDv{MS!r>8zSnc&r=$zD2TTb5qUpd&5}g{7TGCT;Cpr&(7*{@!`8e{YQSYM=iLFftq;If>8XLGSAEn4OMD?$T# zBrQHZeq>~1%=ekPPv0k-@tG}9%NK9ChMAnm{t5_9sFiRM9n*VnJ(d~+^sht-%im8# zbt8xC{F{};kcvAt; z?2l!)bY!&jk>R40rjRR^FmvSFWXm%XjIvO_oO9e>{g%o$TVdv|s4}o0#~yHT0nniJ%|zTKL2j6`r+fWiNyDTC+b(Z= z1Uno|$fQdd_8&F*8$lLty2dQrbQ zxyKrMn}`6h185aBbiifY!m;k51LaXR-O|!>{3e^=Panr{sBnnhW8+__LT;`(`!S7q z>sb);p4LFeju$BaeL^ZxQc~i3ymK~v?{DSCPg~+B$4`h&4~Wb;s@usJg?;fBrDvNtnZnL%?XE7JIr5I=n*cmf1kp1+=(Dx zuM#b1sdR#SuccmA#38)q213=Ho%yr+01LhYBNeS$dc>|-dhD?kIulN7rz`3@kdpn@ zNQHKuwJ84TUro#ws*eeDvnn-z9nIS9WU_37B~JL}Z&t%(ycmeL1bF#C3nxyU z@OxxLhA9ae@s6e#bN-|m8>IXieA7-Z61_aJCYYL1YIt66HG1&O=g-$4N-+# z-|ie~SDi7Y#^#`=bUg^Jz!(*!x1Q-$N}>qN9h_(kE9)(SlMd28x(^uKB)^Eb&{@?A zi}ypiJJ?yadS9UDjyb~X{G&>OOg-0n+WWwZ_-3Ol_ff-?0#Aw@`>qCy>h4q(u@ zSo8DLCSI!HQcEHlU+@PSV@{BvI7VH9$)@*AS2j?(!jIvA=o61?ebQoPf~LV~QR?{B zo>vmesVvovn>IFm@5O{u$>4*Py}X4AqU&ex+Z%mj=s!ipkS_?{axyi6<6mVB!%87U zlZ}(5ea%-K9UU8SI57_+i`%!mdkQSJ%sz@r=_@IDnSz?Je`2J=DSc7EM9$|FFaQO+Ep*7KJ~X%2W;s&nZ!nukA+m(+>z3SyhTM^SAA3`jN{s*3n@zQ}S|OW!OPL zvmlnq(?7Mq5oSbni`Cef@LbJ@2|g^%K8ThLMw(0|LhZA(&Eu6xl>N$Ue4tk!zYx9ihyYhaQ{(*SbT zQdk*)Cyn&mnsk)xHG%B5Q{=-=>O02(h+Tm6c(T zE7$E`0Zd`^qFTZOElNkneB4GZ0{=D8`R-k<*_JJq*0xGgzVn2YiNO$qCcn4IMV7LB zFyRxiPo6w^OsNEG(HcYjR3sw-^4=nj+8B?ihti^7YLbD1wlvNMEAdW-`vK{Yy%Qqd zEpt+J8#jM2eEqM(G-wdFgC<0uD}EdS^uF!|n~*S>Roxvv&ZhqEp8W@&8B7>=>b9Q6 zG(G4bdV%HYSvu^gyQ$0Fa_o$58Mbjff05Y6)Y(|LPSYl> z7Hs)um$HnToRx=zq?JcT>c~C89e@F3jTWoi*MMl&MEjfZ8}DTgtagy<$|#%=F;>~9 zgnLGvG4j#JkkxoRzjnZNA4uA$si7hKfhSs&_E8-jBj)^*!gB>U-A;wjj}_^l_22FQ zBY4^sKB$C-4%ev~B}%!5pF+N9jgt~>lew%#n{ocyyGMWo;8P4~dG-HhwgSgDwD02^ zI;!JDY-H&HY$t(g;+xNP((aoh7zG}ih|O7{mmAszWbjbcyH)AHh<7sIm@YjDOn^;J zq1^?zJq|?7+bDi9C%SSz?(t-Tc_ute*R`oU(4M&uorz*Nc>v+}(pbM@s(SLpIvw*o zqumC#k{Iq}(WpLtSy7i$4@K3Ca~-rPH>ovkKoSeSentbWrpkkNNiEtXp?v>kdi8xg zc`nhEy=0DWXwYl&@*G`jKf%-9~I*ZyHWn1oyMX>2Rg(zUJ z)muqmGf?1^+vDJ)+LckjC`O-@UdEZSQ6av!L^$cEaLS0o8*)Z5TU zhN!M%QcMk&ZX5C+pqBv`uU1394Q)qxRzxkzzo{k9ndCn8V*vwLS~%ZHQPXaUe0-Bn zM*v%2BK*h6&(rvy@68rwNO{WHg>WhE6qVQY!1k_9*}SVwwROu3Y;9-Za|MU(wyJ_d zUa`tJ8MFWlfZM$ZcH6znI*#yXBIsJH+&|_`y+))4Xw$OU2G=xBGHSV1s>HVJ`1py( zI=Z^>1D+^aqcA*G(IQpFscsPquo6HlNvS#imZ|`4&gSpDI?p#{cXf4*4SqeW0aS>< zr88jTwO_ec*@P31cem}2P}{;4`(Q4jiClUnprWpAPvjKR1h_{BhtjMuw4O`5_YVBM z05C#c=OeB1F@_aq`tg+%VB?R^0vaTIQw(y@L-3j&Zxca9?Igt!caunD7@(WNv{F2f zm(qm)cP=zD;pJCy{QC{eURO^W*ua6}0FzaiqwQi2-mUGaMUG%ytnDaC`bmH*(6t*x zf&B(oZ#U)phX9()8R!*bYu6aWeziEAbk69yCc2}Cn64C)UeSK+7Ad)8xsUA#!YOwT z8X+^u33}+Fu1np&etkxASDx>aTCZIpTvup0PHyqU18Nm0t}UA-146U+K*QiK&|r6W zRm9pnAz-`9bnxLw6rf#mKYjYNja|^w2-@!TE3tGTD3ZgM>dO!cg;4IO2~FMvL;W`T z^C5yrWP$4x{jOfCZujhcomn>*yPx{xobT(Z%x@pNkDb48ay?%5u+Ql`FGhzi;$;Z~ zB>mS4`~B0$_fG{8voqrYyF$xhvJ<1om6cHck%sQ^0O^@F%$a9&k@tK50UlEvBc{D# z#&~x4(yv39W|j*BD2FKw4K|%Z)p0^}hW1@sqDp zUHA<9N~i~72&Zf@F=;|iz*V1V($)+bw2qbP4bYeEy8aFvn_==$7uwi;{B;C7a3EbG zlE`folnKoZ2_sGG+1xc2zw2(eOZD*C?v=)ug9Z$`=wKs83NGh3v6nn;LMQH@b!U#Q z!|vIow#Aqz^@Od77j?lSnU5-m84eB(g6H(=@87@g6g_yx#K-L)Hi<-f^o;(GiwhM9 zz%j)4q@<)=vtwtq;CeF8pFf|tyu0-Ktz1M@lyR=U$W2$^{zblkU34-xW4VWNxp5v> z1X1CY%Ena8T^nA(ho!+MJTKM^@s?v#wXG8anlBQR+u*!^qJyw+rM1#6FevV}tD0bM zQ^V(TfM0?_b}?i2{#{A!h&rl|qQZ#M>FMgxH?EV?OtOE{QWS4nks#UY4a%LFy+=kP z43_cO67;9xvo3lbq1VKQ$xIW~$Lcy_;4;C$_ymuVQx+8&LB0ga%)~WTt3ZBodn1ba zjOJ1Y)|6_`=r{V|P|>*yKlkxn9GZ@>S93ShLDFc#y>EH?OIcmRaIVKT?~c_%Z$ z0$*eTaJ9JZ@#&L7IZyRlwRTQTt5xND-v43uVX)qhQA`9o@p)tAD$KL=!(c@-la!65 zYPQ!zNw8h24{#fWicQ+8_kqYUBwAd{Q~&D=vQj2)9=vO{_a*I`*LIU}C@d z+=?KtIh}s)3R}TEe!q>6T4z_+`l@HfqZ=@;8bD@S7{m1}DlUy>D)0{ttxaDa>%?DS zZ*fvkvWoDFy2tiIQ2g4g%nAsR@cHwvnZH_|(WCev(+$BEtIg3T2WTv$rNLR(CoX?e z+P81t^q_CpYKTvliiah&Mw!2J2O9Nh_U2M-A0oo ze2k=hlt;_6A=7NHCjR*9ul%&?sCO|m^iwV8yX!=;P}3rI{KdF7vb46%cpsLsWP&*eKD_&d}#j^DB*OW}J?(~8b()8jBn#pv+P{AN&8j8KR4-CWk|7Ei(dSsD;8db=u7%FUqJvlaaqp+ zx4kJJMdp+!cN(&X;cfcl!s}V-oSNFybl7N5K@7a;d8anL{48A|)MNP|IkHCKHMTn{ zNg+IizGC*iWaPyj^0YYe1w9zC)>mRj6m0r&Wi;;Hy24IzwM8U?lGD@E(P&?-&5blL zKu}h)^iOI@)s%huH1ydg8Tqv_bRif9YgH1}@=3e`(|3}WL3iFf+Y3Z*tKD?(ojZ44 zRA_OyD%H=P{i&e{Ap2jJ|HC-Lg@wD6z?i+{dR^`PATDlmG*L4^{{sPK=OsU0Q8@8u z(9lOST$)mVG0&T(qx0;cx0>tbZ-T|6Ju^f3-REny!k$x{Cw<)1SUl|N+_RTEV!2u# zGhnb?YQ2j#eNU&?nI=$V-{8)H1IA_==pl-h>j8t|n4%L3J%5Z8DPF1#4nl`b$FC-F zgg80_kw4o}{eF2;=+}Ur){0+h8#{CAx@7j;kT12nAg5e~THY`c^*SpZchJT5gW8Nl zyXRj$M`aJT0saz`(W^uWqn8)54dKWfpdD+<&B8=)7JvLxOf?R+_uDqbeWKN%qy@+DkwfY zH7iSo@))ee-;Cw_3p3cE580^;0cDg11Wz!pGi9S(KO&dX_>cROXz^#m=k;( zadB5uq64Y_?i()_2-*o+hMbUD`V1^}RtlmFA1b zet1^R$&t?e&CA{u3Z%TS;d?IYcBIB1=E29UC_5MCy zy5~lcYXxg@aWPQy81e&qB5QPX)Jiufo>He2#UJ*mtFP}Y8f2^=7WN*R0h+|^^^)?h z?PXMFhE}-Qt_Dp%Fo(saVJE;E2(HX>3FWR!)|m0)Sf$hc;oja!Z1+XO#12l9JbC8M z%VuD>iJzhA|G1bYc5*a(=7L5^@$$?Ok!P3wr6onP9l?E?Bf0;uS!R355EW(VD3Y;T z%&Luh>{x4Aj64H(=peb(LcUjbkI{t-7xs>r)kwICRPg&6;rSC#A#`G2uX8RIrx>TK zf$ENGT8!_6gvwVK^S^arpkRw|FGt?W+#XifO?zy3BtM^iUi@YTqs!f+5f0Wi{nJ1f zZaPDJ=TB{_SuYdX)I1!&6^m#wWDgAxre~MCO(TvZpD9^Sn&XL5%@rD_%T?TOl3e`B zFxSuZ+;dFZ&U3xLPd=}E(0t{-hseDrhXKVd0*bmT_t0P*L@REUYw-HV&)TP+>t zE$Yv=10dEZ^9A*w);ne3mN+w!yO>EWB|uxeG330iu3g1Ig5WEiPPYi)Fsb`SR|}69 zvo^rG0s&FHrO4QdM0IgEf|+#}tR}lSIL9Ks5{uf1%JD^$VbQ@qKFF7MFFjcONaclD zS%2Z|dULaE(+M5M+N>3$MK*d4K9qNH7ix8=_Ws^g4OG(9FI^|-*)aKpMSYY0 zh7obJxnl{qn12$WihKS;6ljWMNzVAD6nZ$Ti+EHj-h?g}#OX@p99=tZIWnZ<0}#a? zKG*eerfY?~UjXwui8X@NYNoEq=B0={qQ@G#rlZ$BhCZz1B&ugT@7i z)N`(P6-%Klbn@p$!(2Q!X2S%lhtVgjuBLa!fBb*jtu8^eGj3T^*OE##j?mjokF;>- zFXhLIn}N^`YfJghga0q`EuF!;s>h5W5D0}AV-r&&BhE))AU&Bb=wv*8=>+RI%r1kg z3|4BoM6Tr)Wu+4Z4aycx${H9+Ar$T=XeK=q%ZaB9hTdk({AE;JQ86&_J8@vy(KG6v z?k)-QaNj=V7>i4G(YJ;D);R)tEsInU$$`^jIGb7V=hM=0*Q_$R_dlI7Y*JbR^HlTu@F+|UvZ(pnM{}4Acnik*xXA?NC#Kt0`uk~4iFD*k! ziGDy{h-80g*{Z&GB*m;oNTO!zMo_^N+i0<34N z;asph!A~qV%I-UVbG9*@s0I(0_t6Rpd2{!YOvk@foGy|M-G688H@Uy5RLUy4TrFQ#`Al#{*D4L#DqvMuJz zTt2n7re9!^Ow9YuJPs9dAFeO8>)*4XNjirPdnR=AczZUvL&Cflf1D{s*7&=OJC zJ8rDxx}vT%;1QF#LIh@C=X69xPKF%%H=m2;#^RNnn<*KyOmBn&En~Q z+%_FBo0#&=Xgms@!9^9ep)MINC)3XKr}lxXT>ds5!D8Jpi;tr_zqQoP`_pJF*CffY zv#N)SZBWYUNP

3T3gm-U_V&(3c$(%DTC4HX^YTL>0 zH5Kuk-cE2UK*B1F%N}kG(o$Me($z6cX2&H}K~%*zUjE!N28e8A*w-{-_GT{DS!9&z zvq4FWvG|v)^w>blsX-MbRRcOHb{g+d3(FFsXX zXi#OlQxSLqfe^jnI&)0% zN`*d`j}a{2ZE|)uIjMmfc5x>l(Ipyj@Hbp@O=k}}rt789&1xczXj!Tb&05LDPQ6>5 z*>^B1Lo(4(8j#VtHS^I;G@okyqD6zoD=;Ug_J)7hrGb--qwSvWjrRc%@gHIKx$vBR zO7YzlHX!ax@J7~elyoU%a*8;6V#2LfNqa71f9gA-405`Dc~qMYHD-1sjWOL#DwR8x zfE8s+FGI-JdGqzLHoF{aF$xV?XZ>b!G__Hd5ub0tHj*)ELi?k?e>!)O6?#5Lt_=Hk zo!?}Oa@+^eEC;aq8cN|OU=bC1CME+Q?~i_728Jslyw%2v^0UwAlTsbIT&IF5>|-yT zO!YNf(BunhfL)|na!%_5{$_7Wg+M1d&@L5TsHlQTJ*h-zMZ!ITl;{}C1fiQ5@0CNW za?Xu&c!Smjz9n4w#A%(oYQOHP*e{PI1Z@#+?h8+rga^3t=c|T98J=yw%7*K;M?Pom z<=}dnbPY$sp}48fJvqDnADeD-cLG5A4||WvHw(K+MB)4GD(l*aYpdj|AghOE4D)(j zxBPjJvO#I!ILIi(9Vlj?^)qzlCAPZPH*@k0`{j_4S`73fU#5ASd2ZsTv>$Ec4)zw? zJCWY~_2a8biRt@j?Gx%TMK-%kbioyZ31?VnTHkrg_B*~s*!g#J&xE;H6T^|a8!nis zyIYrmo`m~K0iKVczj8 ziki^rV7M%^TxAb1B#Ah}rg$~@l89M{iEd_Dp0-as9Y?BaGpyR)b!rrtw4cwA|D_vM zRS_KhEC0D`+iA-=&7g&(F2X7d@h!3A?-}}#7+5#EY~E&zyAxb3ZOMVpSAXUEd&~L! zh`pF5dwUDuvtPvjgOjAsHvbtI4}k+-I9L6kpl$- zD0V{vH#lhjyt^RL?hQ689i^>c;%nAqCeu3+Ets$DdywsGY+uz%T8@HaYCn2ZX z=rCIS^(XtviGG@H=}l~dUYS897F!Zwj9;&Tk^R4)?~l3`j5Z*{lOn25^AD2W=qILj zJgk-fQ$)n*@xSuX$15s(URo`e`=|Uw!FD>txK^a;3Rju#%-C-B%8GY@iJUH&iejUb z2%5%08HQ>?j+UL9+CVyLEWQ&^IlY*V8bAf@)|_zj`p!W3gYB-QO=UUeA|Q~N_+)L= z&5!n47d7BgndUYm;ioZ_EuP~(4x1bLvhEY~Cbf_nUXtIdl|raeG&e6^+kBOy0*b6@ zxWbn5KY(Sr{Gax|Gn~ygd|UTWbfK-))@rL(Yp=Al6h+P0S}R6TV(%_$7e(x%q;^rQ zh*7nQ#2zg|Yb0ir5Mso8Cw-6OJ>Jj%Z~x<$FCIspBu}pUy03Ab=auIUa#WgwfgzEd z-YN|A4YU1!K6xCC1GPUbdG|)Q4t#n&KJJ#lX9#idCG3}&EAhHhz?D)hL#&DOoon-+ zBVV#7EKG9kTO93MS}_17ScOmNQ{U<(K_!!v;c8zSc7EHr7_akYN1#UBcgj0B61ra_ zkLEP`rAhtK7{du9jz*oimVjD+zl!0Q{wNVAHgiwLv)T#r;76*{{*OZpV!!@nKZ})l zBgJNZiR|Ahb)MBJup0oB0|k@EEn-y=$|sK$kv(B6sGcw||Fq0G#I3Dp_V$btUc*}C zt1U>^f#iEJs00Lv)9$yY&%#;-v1VQ?z70b%_vJo6U^CO%-U#~<6UP?&7J**CvX|5} z_%&Tr})?b^RD~Xn5R@5gt($+J{>KWj%s>5w*&)Vz-{xu@J%w=o4J2z zXlP)-Mk+m18%ef+qA`;2mPyT*-A=6Hn6-ZQXxVP(6#Y9=YQZU%pcZJ2S+VmJC z_Ch-$NU>_|t>E;tQ@dwkFSNj8jWe29L`2T8`yaiCe{w|JOg#U<^x}qp4>bH&i?YId znC+_E7D0_c?8(1v?&*#Gzq_a4ZpXp4&cv{hk&(EyhowgHSM<}Jz65U#>np4X)Ot+CW&aX0T>3VvqfJ-Kq7kNGoNe>8xFO@$|%Xo zJB)ysxLL|>cAaxuri|#Yd>=Sy?j{oZcW@z2TUyB>{WHfzt-e9Pvg}?*$lUGp#9i-|3Eb$Y+;3Iuw=*-g;)d?sIV#~TZpSiu0oo7i;r1)a zLq#F_L-kf8BTu@c>MkE+;T~Mvc*$cFC?G7X#eJ{t&Dd8rmaG#Dmmkp0yl;5}Xy&6e z9h9Dg`{JC+u^*tiy5ig0?r5A+TAJr6fpGnBBUq3a@9N8oCwTn5sTqGYc%#Xn{scNr$NFf4Szb z`8@*4qIfD0P8wVQhJLqLdbC)7*={Xv5q5p}y9G#beXsDELBxYjG5`U@3GF+FKE~+n ziYFu`RRcET-q!)7&W-{h#VYuWmDU{lq)vlV{umycu9G3tH#R0e6A1#G1=`y$EOK*7 zvF1W2%psV%O98f`6gUr;I6i&4?w7|Q?fS-j#v~~@nVA_2hr<Td7!On^<3jJO zE*b8pCjXTYUvaae4!zHW)Sn{_-JTxCM4QPAN%{FNksDn;r5+`RAUMZmOQ;?dT7eOZoOUa%BxY$b-8cC-ZKn8e^O2i2kOO+mrGOI=+=%aWh8-mO*TIScf zA^z(Q0RiaEmv8uM11XhT34t%RLY_Cd*fKCQsnAQguT>4Py$ZjTr6l$n++TTLy$~iS z-UugjBhvcQuy}x5L^6W43?g2N%o%(q!AG4>*C`O}6gE-f=uNUKSp3U}KS68>Op+JZ z@!-e1cT`R3;aglX;vYR*iXHfqVJ>`z&nE^&)lhF;vDwwe2)$DhPV4+-wG^ww?f&7G zg77z#-v@c=N#ClCCp$9>16Ma>xrU1p+cMttC8h2t`NJ)j>NxFsk5mL2yY?i!d&eh; zg7su=_dxIv$C?Xh(scwj=q2YUQ$v5w8Z|oBmgRIV=5JMP@FtKFk^D+YFIzh zRF!$q9S4yyv`;yrEi{0JR!UW;z(dS$Np2HnLu}T3>v|DE^|)LBV6@&8~OLxOS%8?A{Pi<+(NP8ChaL zkm^SqVGy`L_tVJ;vXn9@l<`;Z?nBtlkE(D{|9T~9=}n*sp{=kDhqSva3dOT-5mwq2 zylboaqL{zS6Vw3tdN$mmAitg?ZBc2tR!PWp8B;Tp>b_{-T7Zef$;gXL2Z)2T$@e;yei zBrgC|b;mSGP?-e2riKd1kMg@$;rey;z{-^l#RsiC9{{0})n}`XtOAlFFrqePD=xlz zS4#^UdW5GjS)n9kR-3`>*6@S z!1d@F#6_J!M1Yr_`w*f$ofREyv=nAik&bU!*&*bJKj#A+A8d|0i${SI>Vw9?4JLrmm70= z5IB+7aNY?l*w3Szwhx4ne*g#dl8{j!u*uBb4s%f2E{seRwXCZN-t%ASH4oec68Cj7 z*UA!SmZ0$Qfsx*|i~N4rddot^Fc`5)P$LPCit%7K=3nFR#` zXWf|{QV=Z@XuM(a{TV;9tg2&pSh~8=Vv*Ke}l8asLz#)`$&q9VBW;d zyIB+IaPy*lTUk2m*I=V@Ub&M>j^yG)=XfMF0FXpFBWL4kS^&j+=#UTR3tT zc2Re7G)GR3mfXcE?;Xd^YLK4CEyudk!u+u*kcbr(6<_Y;o;r@*Ihtg{V&%QeMboIb z3>0XswL3aG3JgrUosyMc_qnL$AkqMMO`a^C97?`s%29)~xCfR@FPr`X#Ya~T%2-j{ zY*n>IVHWxYB#iCt?ItE#JX58`v$p$t^>;uGIP>6R(W8JTp%w0OnHE|&2>8{oR?ihW z;64$AnKi-_FOg(?Y?6PL!%(qq_U$g2=R(|F3TB>#`8tT0xYQ<6s`q!>0N`-a*1;0> zK!0;>q+Zr%EQb8D6<2OMd@N^TJSn}ret6XR#Gl+?^*|OG%x1$fHkMN@)$hZVo!5~i zERFR;<1XGuHv&3W$TtsVnFrDyZFf(%CM9o%BRn@?`G`C-strCaRv1&rx zz(;;`cFOs!eW=sH1NF6qrKJe|`lM^;D?B%-i`Lc?5)-2$BNrAH6viU$ZEX=)djPZ` zd}(g+*qm8H@@(2MBZn}2<7bKDda-XmA82>XKbw&87hITc`Ix$@d;47`#O5eJ-q{{y zmWnzzdy|%a0wcJla-m(c$9*a%;jtxkWl#A z{S4LOSgA23V$}YnE;ip$@@@xKzxeB{myr+3Tk8}y`_a#_lQGEs91b0usOeaUCecflz=oA`>J1H6lO)e7?985PCZk&cY$K7LpkI# z8$b+UZ(p!w>*KT85VSKh%n#~K>6-oQAMz5S*RP*Yb#RqRZ@-il6+Zgu$;*%=ymi7< zj+EQPQoX13ci=fTmyR)EtBU{&QI`4u)IHg3fn5goIiK+Li)-ij{P=o(?Gid zfC8hSF@BNbNv*g9JJL;l@qHt046J=AgR2VWIv!IF_l&W~spier_wZbh|1vuW$=836oiuy6f*(}-a70NW?zCDO8JEb!Un-E!dvDlO0X>jY zE^Tfho^^?oRq|t^gdY|wc%Qp;{8?4dLA=Y?F(7Y9Oh{$$sLC3#7YR_Tf21&4x*f4akUww=%XC!5-``(Z z`NahoHcfJNc2=bt7Qf@}MlYEwfexv*wst{%>T}aHi)+u-kbb9X>eh6eM+GI8OCFTq zuDDvsR%N)~=?e3#Uh{Dag#tvIar*&=!zXFg%7yaVnad!>o__)2Zkcv9^vK^tK6S-X zMMzzR&umFj1Tpz$mJ&Wo0DqlWGd_@Hrx^lGUe>VYMmu|Bh_V%v*a%9n<#^ofskH`0 z7fHkr28)9*J-Z~_HWs%qu~py^Z19cVW*^aAHiKtOsfYi3^$3%Td%UytRNwdX0(Lfm zlz*|BC)@FccS^=);kir@qmVfrdY{MMR(UFvFz7nk&m z^!>lhETG~`3^{sQFNcyO1Z@N9e5M<3odsy-(*w+zJlzMrm7o4+7?Jel@*7{q1SDA2 zu2{OJ;0nk^4Ag|}C8M2G7ufLL6~Eb%tt1a98xMd%(#Iw7X7(s24A4EvkGGe}RuEeh z$UCy)5KIJ4URrAJ*Sm$P*GBakDAbHo$JJk4+XED>6=IqB>5aM6%Y1l7$qiB0N-6Jk zrWDrNU`4b15MH5cL8d^QXlm%|@3Q{7EkH}P9srM?5sfnh+m`9I5++-)V?4Je%XW9A_+;)bdsS1KQxI;-eYUKscnj*M0OWY}MQq z#GMRT-bvg*(S71JmmZjA;CSwTE=nLASc8j;3j~h$S80&`X$F90f@pfy2}DzrljsRC zB|R(jm*wB#$Beok)mHLhqcyWw(XK{MJ4=l7g}R<@g4rYiTC)9#gIkYB_$^JyRzSKV zen|`Bzm5O2=_%`(%;1&HNYK9|V8q;3RTF%wcX+^SOJljJ_{O1$gw`N~*N&H(r7yU} zEHnm1;ZjY?0`@)i@10gAQP~JXD>D+V4Y&zAk0aIR&Pk)ygS69Usm#-bP*18LzKn6K z$}&<8CSJ&ojg5l#ah4}YVV@^?;D_nOz4SEn349=bg>>Qx0T%jB8_x-jp0 zdGW~^ZH(eraHoZd_YZeeaU89k&p_0}t!G*S_cIXL_!iDI_5fe|rRt9=xVSVfqkzf7 zp19UrpRuKq@~eWS*A&L z&mpq$%g=3l=H>clSE?zotN2UJC-%{mp0NAgFk#`YK#1Jl?vz1=%uu=Ako3l=z)i-D zJR}9EfQ8wjew8AT$chSa2*j$pa(0^tDtReMNy@`!pp+6e`(hj><$I|)9Pa_Ab^IMK z1C&Yq{rw>He);mHA`CB(*b$e7pJu_fj&{0fJVXG~4Bn?zUI*WI+3%do@e6%r;Gpfs z_V9p4__3@i`~KrQ`9_Z0%GEWQ1^!Y+FAE zT2c|A-HBBl{adlZ>ZSg=7)ZUhmTT8NqO;s^uldi$kbPhkfJ39uv z3wHwp@tBLnL!dfcSy&jYg2iPx12LK9DUX5W>RLeucO82fHY=?=lUme4b+(&ZbOy%)M^kWT5vhvvE)7`Xa1tbCXuLPbzd7+EedA zlV!`4@B#MdZA8e3l?^oyuuLOfoM{{+(m0|SZWD`%(n{wDSSaWCEJ!r1T`vnbtT5xj zia=9Gj2{hc4;@&}hC&Y``J*xr()AUFAz!}59gFAdc=2~1ydJ?V2Gwn7-@v!B6)D}nmhwgx1m$G{ zA&r#&@Id;~HQ%o=6O_m7-yBM3a8?mqwvo(SNFtG9RP%ZQ{KD}Q)2Bd{&X$gq^5yBH zjjFK%Qn3_FsepNl>C`a?WfFix#fA2j;qDy>se?&lzd0enfh}fR_kdIVBft)~ZDhHE zCi-|G*m*|PBZrQkF6?poeBN%>&E&KFbcV0r7)`KaGz!fpETZ6A7~x{XgK$_kP(r0c9ZqUmE^+Tph!>88wh%B>4D$5al#%S-BMF%UUv z^c*#wl)n+R_oYC)QN@8$$e6C>mgx}vfXS$yGF?Q99v!*8SlQ`?^-ssjQdv{@kT}+q z6y&9D(ShtYf4}l;eh_hX)G_j;4Fe!CPB6BASOxbrgyk+{qI3qV3g^pq1dulWQzNs2^v z4r;4Z8%YyCzQX6tJ1V{Julw@FyT$8v>O;_I*_2A8oZG+i8lRb&`Ts)q1#k6jnEI6* z%GPUbfSP@L*;rw7Bc4w`PMj2_l5XGPk~KR@fp;Yeo0tP3d;AWfJs2|POwa*zW)t-i z*sD639EnQO0ydWGeW<>6Lc1*(T09X|Pa}-_iP|YHCpt=bVkb1>dN~SwQ zt;vV(TX3lc>}zu4cxyDaczlk#uMekp1%DZjURGSq6$yBCb}dJGH&8cwBQOZhA=@rh zm*yQ3F`~o#9f0vfZ^Y7}fP}+IoEM=+M*g*V4%MSg$Ow36XXlL3jWx#?yJG;X0Wl4< zQADCEa!1~8YgRHHd*sNGwb_Y76KhwMLRKaevzJYroSbGzt+K4FtSY$s58G~cfWf{q z>`e|5{`Ow`)Sygl>0SOHA`jpAlAzHY00n8%-Vu-vR<|%S;etl0mLlRhiH^$qx(68^ zGtkqg*iPCdf%^_r4U_pUyZm4XzH7Q+H|dEeOJ?uxZ(HiGLt+Ra6;Bx+%WG77`(6Am z_sLTq#j~fA5Iuewh=38qrXaqr5S}-HSA}7`1o5QY+l2ctY*cp^N09$rbK<1*#Lm>6 zvFcmsrlkchkxi((+qCS|u0o?}x|}?-rPKC$dncsjNI6ebpn>q9L_Ml{6H_1RDI34@ zdDpz3)ZI~V+2y3%doxX2Q*2}9;@5Fk^oM2EugOsVpRMGby>BtB7c@K>85feA5Wi|aTHorS$=0JV;H+V)rR_LXn;P)*sT3TtTG0b9F)Hq` zy~Sc(Va&B6qF5~j|vQju#aFO*b6|JEiktqrB`ZKUuPdPXkCr-EVlP&vi@3LXt^58KlQOIaIbBZmE-m;cBE0m+oG8D*sg&hDo%Bw5q8Q@st55DKP+wG5i=HQ z099<5v78XJIn@A(=Urj25D}OreWsg|b70^=Vi=z!>ku&{cwpGX9mqVO$M*rxl3#x?~DV8_jxHgj!^PIr`&B4iu0J6A=@>k)o~l7Yg#j4(0#rb(Oq1(hFP z#)QM=MOZh-3&q|^r#X$@jL94xc6HYLiu!_kW;GT>3?7?c99nr=zLlNCO3Lf{p4-Xp z*!j}rG2l^|H1#m~)oYc91M{o8y!K_e)~Wb7&FDfAJWoW^BkO z;prd89Q}agMfJztaQ&gZ=(L`0Nl<&8xO;#BagWwM-nl%Kh7CFSymz-f8Q%ntA|2kg zJg`nsfd;bt^)s~lCK^X#eYoP{sHZ5wE?P11lzTSsKw|VD;nOe8SOS-6onL!KO(yXc zyu9pYXLt57yplGi9!TEe5iqdTkpPd_ons{BiAM0=#CPt_Ig|3-ZbqMJ&zx*0?Ds4r zqrxr;>#2Ley{U1wEb5ovVD^$HL~+nWa1B5i*t%xA5`Qz~@~; zz_jFkx>n2&>y$_{t?Ud}<89mWgvUt2nTwL~j-#78(xqrU_>8Hg7cq$1G} zUk@&@hxxYk^hi#)ipd=OWO$u{0U<-fATEE)73u;C+GEhP^0LxZ_lBL@Du#gpW;vxN z`)94K4{5U{LTUDLUw7j~e7Lk?xUwJAPei$c5rdWRkK#OoN&MSC>k!X@dfpk+gN;)v z=fkIUktCsP4j$|dWx~DYR_{@$J8+?!+up{Wmd2jc?{fi+HYeHcPg zO(<+Xo2?KkZ1YgbKW*txYG zA`|j-BPS0%)h}8fZ@QK;*x6VxTq86dj!;P>XC}r}E3TtJdRU{&k`5Tz-74Zv+t07* zoeQj!{kb4#6@h}D;wt45*@`7!^gBlM5LfK!upSK&7BNtiD3?lY+s_0dTWHr~q^H}; zEKjo$RZO}YAUMTsfy8sbKIcet(SBeS0rkzC*y*v>QFhbAI@rAdzjhFtL`f^&i=Z(1 zI0Oeg$9EsZ;>5Iq5qL`kJ{VCT_E7&ko8ehD!%I@S5tOT1fW9$38{)pM-5Y|p&gby@ zGUHrY&RHJ!Aibt{TwabvXMn0`$dP5b5w{-h_JKV(E!aIswT(qB1S3n{Xth}+a_Zbv zD7!AlZRi=;x;NcNX`goEHuEAHYv3z{!()jPZ{x{!+o;Wfvc_bib?XIQ@gI}=#mzXc z*)xSnDihKwJAJE{5BU6xL$BW;AX+{cC_!|4Q0}YCm}}}9-h(5p7A70d1nUhw+E4?HoKz? zYb!Az$#z+oaE~BB@Rx%UJI_wfcX~KIhO%Mr`=kPa3xQb!Lt?uY;rCofJnqKHs2j=W zNT04jc}PIq6c>!_qbilT=og^so_zPdbbixaX6J^S@EB<{rC>zcI6L`yA8O|%yIwIn z(uo}%Y__UrN)d8w-G7MQHyy=E54bfX2HTiy$4K|P)+Z-#nvT|o6tFcUm~MNFs<`7B ziSGm5oi@%wD*`uux6QtE+w8$?>nGJ(7Qf`;0?{a%9*uq*rbdTkeX4ZG{!=M0&GRSY z?i0_Y_rK-6TYku2PGK=F&N)juVWPJ>l~$S@v8{c;KtMK=EwkeBN^4NnG`S~2@waP- zhl4gI2kfofxb7HPsZIBDq;?Avyq}L<-!<^p*@Hl%RRr;Vdy@DgWtT`Fm7(TkfTyZ_ zt;_P#f;Qw;MeT9+gsrGcp?&|Juz*qCZpXg!Zp<=~ju-9@@2(c&)fcidh%LGsPS7kH zXp;kvDQsJ}nB?kC$-{`30TCZkd+yscG?O zvF}eS-FAjCW@c7uJ z5+b{Lx=EgPeE^rfWmPC1GM>c$FtPCt@I?MiaZ&KgZ431z7-HvdyifTBH*0D%4N_ZP zoV?(cBp<_8J>|iYhxIF-_zPN%8jVuZ7YGE>us(U{+3ph^WJekK)**&acY2^{^7veB zm+%^Y=!K)92vkx6(l=2+_F;O@te&uB@7(dcYo75et-&-riLr>FtoniZBw5P6bMTlt z60$$3)#5QRPpIpl4wMc2bQ6#qw|LqW8hXS{_ z|16v>3!YG%s2Q)v&6x>aT9LXmR6GqD;RAFM`o&yn|I}kb-QA7?74mVshDgApT=FL4 zdja)?5`Q?60O2x2Af!YEY+ToMfjHu98ettIM_dHOBtOn?y;axCE+SzE!M-7gXZilF zMZq|S7O<3K$UVjK-Wi{Vzg#!*a(Gq?>$j_1>0a^e7((9PV{r%qD(4J5P0H3@-q>hzfEOft z*T>^dXBEU4C~lFzwkar7Z%+?wAa4X{dBd)i-2yu$QYZubjWk z_kj3QAL&xR*4BNFajFX6n(<5!FAF|d7W8QMK?wn3do!5fL?DGU-+`YwbT=Nn=V@p1 zq0szep`S=$keyS=bJVD_oW!PmYS5@_SKN_hz-0+*r9VW!RIOpeO#W~+_o=TQTY3~A zOe<|@;8*DHg^DrWsFTOBDzXxB*KYJy>VpDqXR}$$$RHVJg2sb4U(L~0o#A;>+g!0KOznT3y~H@oL)QV15Ku+Ig@}VGnKa} ztVCo&@*>CW@U-zIYlS2Dsa}ytM~YJ;RXNADN++^ry!raZ#i!j}rh7#~!hhzg|2V;> zct;Sh!TOM*Rr~rTYo9Q0NeGw(I!22Eh~s7pPQW_1!78aPuP|SJrJhihTPSlyauf9~ ziqTr+=9_qDOnD8u(wt*F>3$h)Q@0Ma)Y(1}Ls#DH2RN3)zI@IfY-!loY=TQA`9%C? zkLQCR**Je|QK@>55|KfvC@HuR0 zjimQ2Q=Ub8xC5`md{`?A3#$Y+Mwi*8EG)rY9fC2lV$c}M5H%Ar>jIh0gsg=5IbrhN z0iTt`gEBy-vm?l`04h8Y5%rM&Tsga6i&=EHpO!5n$S_0lX$z zMJ;B;`fxBw5o|3Tz#Waw()?BIt`oL^utGSO7ES{g)JlJqkT;KfBx z7fQMrhqgt#rKr;mF1}7)wrNi8ejkd1P*PX(MDW&d*U}slx5dStO+e-t(08yvcWSq{ zGN~6de~XWHKKQ~M*RF}zGGRK z@VQ3;+fDR_pe<#@(P89+sR&43VH&$(l~@6OmMIgGaT^cS zU>h40@lDnww2Jx{SH1t``>AHfs@<9Q_CoRpL$!iqrDf*P8AjE7_2k*SYF$D)^LcMa zbO{@JW-0p=nEjQcLy+e>r#yqV{vOCd)#gyzXITcRstf|+s56naK50d!ruya3cFr5y z0}IDUHc|NdtiprmMWaPbK3=!D5ZY3w%t>5Wi=rk4XU#={ZKVFL=|BWfXutYoSij&R_Y`1IM~9(n0~!4 zE^lA^8mQ?}Vzt&es*c5L(Ly`iTC%7`P}*NCC}iW^6{#gsX7HPvpYu5-*^FdkhNX zSMHx;Mqzc7Fzkj`HO{EYV*dMDu^Djv-}H+%=yj;L$Hw}Rn`i%I+?(7N0#WyuH(4HD z(O@|Pm8`U_N*79#(<_&B>v$UI<1>)JRNYfn6ev(@${8h*^dwCK<*R@J)7v9gl%}_L zm9>VxJ3x&ZuGNxzoK2~yYD)2*MR>XKjr0uFDvuN^A2kLy z?F3URMI(+>Bd&PeMb~?l^#)3M#TF)h`))X^epTDSdz@aGyK8-Eo7!Ik{R)L={hdu6 zp}NI|%?>H;NFNYR8a-$w^&KvjQ%8r+%~<`pl5DXo&GPWR2P2D4xO@1(aKB5LgT%PV zifqQ%9u5_|agk|-SQIn2QM<_NXg>_~KCS#_}g zmp{$=8*Z>6>Y_0g5;t6zYOwa#B@%KOuuix?pMPek zMpcc>%ni%?pVEG5QaQTKsh$7DQ?AB{D~TRki? z3Xml*0`-@^_Jf`k#UvdkWJhC|%FRk+r|Lo7V-4zMe;ugH#V-Qb837-e@cR$ z_8!#q4eUvKknZqUtGo5K15yeIUg%?FuOeSeOt7C^Ddd*WN#)J`_`9J2y8M-PM{b71 zQ}kN(ikCfUj3v@AE*<%8)yUBu%-N844uj`IJLvS*E4IAmGZvHw8@+ydJgbJR))$9@ z6KSs(yG}0y-tum2EW0`FCXV)zY!zB^mz|y74hFxZpW#P8XGM$ZJBbUs^Hr}`K zac_e5VYbCFvAmEbr0 zXBqR!XxiPwLkmM`(A2|&FnM{0p()bouB&Wn%bQ>X6J)@D>6f#1nYJw$NPa(;}P09h$4FA{$T4a$08xA6aul@I3MtxdG*s&{I9>~XlJ~Lq<@Ar zm(*CB>GC@_PZ91%3I)E#)gxdCfPtYviJlkd9kB&JJJpKR#_r0sHZ0SUOv;6kHMDEf}<` zDy)~Hy;o>E-7e+YQ9~XLRW|yiFX2fMhhvwp`~5+=wV!S zW8syYqN!~D*Uz;&T0^aW25B)(u^GIho%-#=9onAw`^vORRtMST=r%Sv_*PGUuQe~6 zm+eE;xfaJMTlbERSTef4)*p{utlGaq8~CGp&8)cgZ@J({|?X7F5ute8tsbz zJs#23g!JS0^e;?5yhERCq92CRm*wBd|GhCi%FvAQpDF$`#lKDQ-v*(DEBfPqfho53 z$0}^-8S^f6I3P^-0_`~QU*r^X{P#uw` https://ghostfol.io - 2022-07-14T00:00:00+00:00 + 2022-07-23T00:00:00+00:00 https://ghostfol.io/about - 2022-07-14T00:00:00+00:00 + 2022-07-23T00:00:00+00:00 https://ghostfol.io/about/changelog - 2022-07-14T00:00:00+00:00 + 2022-07-23T00:00:00+00:00 https://ghostfol.io/blog - 2022-07-14T00:00:00+00:00 + 2022-07-23T00:00:00+00:00 https://ghostfol.io/de/blog/2021/07/hallo-ghostfolio - 2022-07-14T00:00:00+00:00 + 2022-07-23T00:00:00+00:00 https://ghostfol.io/demo - 2022-07-14T00:00:00+00:00 + 2022-07-23T00:00:00+00:00 https://ghostfol.io/en/blog/2021/07/hello-ghostfolio - 2022-07-14T00:00:00+00:00 + 2022-07-23T00:00:00+00:00 https://ghostfol.io/en/blog/2022/01/ghostfolio-first-months-in-open-source - 2022-07-14T00:00:00+00:00 + 2022-07-23T00:00:00+00:00 + + + https://ghostfol.io/en/blog/2022/07/ghostfolio-meets-internet-identity + 2022-07-23T00:00:00+00:00 https://ghostfol.io/en/blog/2022/07/how-do-i-get-my-finances-in-order - 2022-07-14T00:00:00+00:00 + 2022-07-23T00:00:00+00:00 https://ghostfol.io/features - 2022-07-14T00:00:00+00:00 + 2022-07-23T00:00:00+00:00 https://ghostfol.io/markets - 2022-07-14T00:00:00+00:00 + 2022-07-23T00:00:00+00:00 https://ghostfol.io/pricing - 2022-07-14T00:00:00+00:00 + 2022-07-23T00:00:00+00:00 https://ghostfol.io/register - 2022-07-14T00:00:00+00:00 + 2022-07-23T00:00:00+00:00 https://ghostfol.io/resources - 2022-07-14T00:00:00+00:00 + 2022-07-23T00:00:00+00:00